r19569 - gnucash/trunk/src/gnome-utils - Bug #628960 - Column width unchanged after shortening translation string
Geert Janssens
gjanssens at code.gnucash.org
Sat Sep 11 06:36:29 EDT 2010
Author: gjanssens
Date: 2010-09-11 06:36:29 -0400 (Sat, 11 Sep 2010)
New Revision: 19569
Trac: http://svn.gnucash.org/trac/changeset/19569
Modified:
gnucash/trunk/src/gnome-utils/gnc-tree-view.c
Log:
Bug #628960 - Column width unchanged after shortening translation string
Modified: gnucash/trunk/src/gnome-utils/gnc-tree-view.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-tree-view.c 2010-09-11 09:55:05 UTC (rev 19568)
+++ gnucash/trunk/src/gnome-utils/gnc-tree-view.c 2010-09-11 10:36:29 UTC (rev 19569)
@@ -1805,6 +1805,7 @@
gboolean visible;
int width = 0;
gchar *key;
+ GtkTreeViewColumnSizing sizing = GTK_TREE_VIEW_COLUMN_FIXED;
/* Set data used by other functions */
if (pref_name)
@@ -1818,26 +1819,33 @@
visible = gnc_tree_view_column_visible(view, NULL, pref_name);
/* Get width */
- priv = GNC_TREE_VIEW_GET_PRIVATE(view);
- if (priv->gconf_section)
+ if(default_width == 0)
{
- key = g_strdup_printf("%s_%s", pref_name, GCONF_KEY_WIDTH);
- width = gnc_gconf_get_int(priv->gconf_section, key, NULL);
- g_free(key);
+ sizing = GTK_TREE_VIEW_COLUMN_AUTOSIZE;
}
+ else
+ {
+ priv = GNC_TREE_VIEW_GET_PRIVATE(view);
+ if (priv->gconf_section)
+ {
+ key = g_strdup_printf("%s_%s", pref_name, GCONF_KEY_WIDTH);
+ width = gnc_gconf_get_int(priv->gconf_section, key, NULL);
+ g_free(key);
+ }
- /* If gconf comes back with a width of zero (or there is no gconf
- * width) the use the default width for the column. Allow for
- * padding L and R of the displayed data. */
- if (width == 0)
- width = default_width + 10;
- if (width == 0)
- width = 10;
+ /* If gconf comes back with a width of zero (or there is no gconf
+ * width) the use the default width for the column. Allow for
+ * padding L and R of the displayed data. */
+ if (width == 0)
+ width = default_width + 10;
+ if (width == 0)
+ width = 10;
+ }
/* Set column attributes */
g_object_set(G_OBJECT(column),
"visible", visible,
- "sizing", GTK_TREE_VIEW_COLUMN_FIXED,
+ "sizing", sizing,
"fixed-width", width,
"resizable", resizable && pref_name != NULL,
"reorderable", pref_name != NULL,
@@ -1886,8 +1894,6 @@
GncTreeViewPrivate *priv;
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
- PangoLayout* layout;
- int title_width;
g_return_val_if_fail (GNC_IS_TREE_VIEW(view), NULL);
@@ -1910,13 +1916,9 @@
gtk_tree_view_column_add_attribute (column, renderer,
"visible", model_visibility_column);
- layout = gtk_widget_create_pango_layout (GTK_WIDGET(view),
- column_short_title);
- pango_layout_get_pixel_size(layout, &title_width, NULL);
- g_object_unref(layout);
gnc_tree_view_column_properties (view, column, pref_name, model_data_column,
- title_width, FALSE, column_sort_fn);
+ 0, FALSE, column_sort_fn);
gnc_tree_view_append_column (view, column);
More information about the gnucash-changes
mailing list