r16456 - gnucash/branches/register-rewrite/src/gnome-utils - Let get_column_next_to ignore spacer and column_menu columns.

Andreas Köhler andi5 at cvs.gnucash.org
Sat Aug 18 23:17:26 EDT 2007


Author: andi5
Date: 2007-08-18 23:17:23 -0400 (Sat, 18 Aug 2007)
New Revision: 16456
Trac: http://svn.gnucash.org/trac/changeset/16456

Modified:
   gnucash/branches/register-rewrite/src/gnome-utils/gnc-tree-view.c
Log:
Let get_column_next_to ignore spacer and column_menu columns.


Modified: gnucash/branches/register-rewrite/src/gnome-utils/gnc-tree-view.c
===================================================================
--- gnucash/branches/register-rewrite/src/gnome-utils/gnc-tree-view.c	2007-08-19 01:21:13 UTC (rev 16455)
+++ gnucash/branches/register-rewrite/src/gnome-utils/gnc-tree-view.c	2007-08-19 03:17:23 UTC (rev 16456)
@@ -2144,16 +2144,17 @@
 }
 
 static gboolean
-get_column_next_to(GtkTreeView *tv, GtkTreeViewColumn **col, gboolean backward)
+get_column_next_to(GncTreeView *view, GtkTreeViewColumn **col, gboolean backward)
 {
     GList *cols, *node;
     GtkTreeViewColumn *c = NULL;
+    GncTreeViewPrivate *priv;
     gint seen = 0;
     gboolean wrapped = FALSE;
-    
-    cols = gtk_tree_view_get_columns(tv);
-    g_return_val_if_fail(g_list_length(cols) > 0, FALSE);
-    
+
+    cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(view));
+    priv = GNC_TREE_VIEW_GET_PRIVATE(view);
+
     node = g_list_find(cols, *col);
     g_return_val_if_fail(node, FALSE);
     do {
@@ -2163,11 +2164,14 @@
             node = backward ? g_list_last(cols) : cols;
         }
         c = GTK_TREE_VIEW_COLUMN(node->data);
-        if (c && gtk_tree_view_column_get_visible(c))
+        if (c
+            && gtk_tree_view_column_get_visible(c)
+            && c != priv->spacer_column
+            && c != priv->column_menu_column)
             seen++;
         if (c == *col) break;
     } while (!seen);
-    
+
     g_list_free(cols);
     *col = c;
     return wrapped;
@@ -2185,7 +2189,7 @@
 }
 
 gboolean
-gnc_tree_view_keynav(GncTreeView *view, GtkTreeViewColumn **col, 
+gnc_tree_view_keynav(GncTreeView *view, GtkTreeViewColumn **col,
                      GtkTreePath *path, GdkEventKey *event)
 {
     GtkTreeView *tv = GTK_TREE_VIEW(view);
@@ -2199,7 +2203,7 @@
     case GDK_ISO_Left_Tab:
     case GDK_KP_Tab:
         shifted = event->state & GDK_SHIFT_MASK;
-        wrapped = get_column_next_to(tv, col, shifted); 
+        wrapped = get_column_next_to(view, col, shifted);
         if (wrapped) {
             /* This is the end (or beginning) of the line, buddy. */
             depth = gtk_tree_path_get_depth(path);



More information about the gnucash-changes mailing list