[Gnucash-changes] r14212 - gnucash/trunk/src/gnome-utils - Use
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of '0' as the
Chris Shoemaker
chris at cvs.gnucash.org
Sat May 27 15:05:42 EDT 2006
Author: chris
Date: 2006-05-27 15:05:41 -0400 (Sat, 27 May 2006)
New Revision: 14212
Trac: http://svn.gnucash.org/trac/changeset/14212
Modified:
gnucash/trunk/src/gnome-utils/gnc-tree-view.c
Log:
Use GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID instead of '0' as the
fallback sort column, since column 0 may not be sortable with the
default sort function.
Set the MODEL_COLUMN column property, even when it is -1, since
gnc_tree_view_set_sort_column() looks for this condition.
Make the gnc_tree_view_count_visible_columns() function only count regular
columns, so that the special columns don't count, but count any
DEFAULT_VISIBLE columns, even if they've been hidden by gconf. That way,
the special columns will still show and allow the user to unhide columns.
Modified: gnucash/trunk/src/gnome-utils/gnc-tree-view.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-view.c 2006-05-27 15:09:03 UTC (rev 14211)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-view.c 2006-05-27 19:05:41 UTC (rev 14212)
@@ -617,15 +617,16 @@
/* Set defaults, then extract data from the model */
if (!gtk_tree_sortable_get_sort_column_id(treesortable, &id, &order)) {
order = GTK_SORT_ASCENDING;
- id = 0;
+ id = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
}
column = view_column_find_by_model_id (view, id);
column_pref_name = g_object_get_data(G_OBJECT(column), PREF_NAME);
/* Store the values in gconf */
gconf_section = priv->gconf_section;
- gnc_gconf_set_string(gconf_section, "sort_column", column_pref_name, NULL);
- gnc_gconf_set_string(gconf_section, "sort_order",
+ gnc_gconf_set_string(gconf_section, GCONF_KEY_SORT_COLUMN,
+ column_pref_name, NULL);
+ gnc_gconf_set_string(gconf_section, GCONF_KEY_SORT_ORDER,
gnc_enum_to_nick(GTK_TYPE_SORT_TYPE, order), NULL);
LEAVE(" ");
}
@@ -900,7 +901,7 @@
order = gnc_enum_from_nick(GTK_TYPE_SORT_TYPE, name, GTK_SORT_ASCENDING);
if (!gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(s_model),
¤t, &order))
- current = 0;
+ current = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
g_signal_handler_block(s_model, priv->sort_column_changed_cb_id);
gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(s_model),
current, order);
@@ -1644,7 +1645,9 @@
columns = gtk_tree_view_get_columns(GTK_TREE_VIEW(view));
for (node = columns; node; node = node->next) {
GtkTreeViewColumn *col = GTK_TREE_VIEW_COLUMN(node->data);
- if (gnc_tree_view_column_visible (view, col, NULL))
+
+ if (g_object_get_data(G_OBJECT(col), DEFAULT_VISIBLE) ||
+ g_object_get_data(G_OBJECT(col), ALWAYS_VISIBLE))
count++;
}
g_list_free(columns);
@@ -1733,9 +1736,8 @@
g_object_set_data(G_OBJECT(column), PREF_NAME, (gpointer)pref_name);
if (data_column == 0)
g_object_set_data(G_OBJECT(column), ALWAYS_VISIBLE, GINT_TO_POINTER(1));
- if (data_column != GNC_TREE_VIEW_COLUMN_DATA_NONE)
- g_object_set_data(G_OBJECT(column), MODEL_COLUMN,
- GINT_TO_POINTER(data_column));
+ g_object_set_data(G_OBJECT(column), MODEL_COLUMN,
+ GINT_TO_POINTER(data_column));
/* Get visibility */
visible = gnc_tree_view_column_visible(view, NULL, pref_name);
More information about the gnucash-changes
mailing list