mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Stop Gtk Warning Negative content width
This is caused by the spacer column being reduced as new columns are inserted before the menu selection column at the end. When it gets to a size that can not hold a valid button in the header you get the warning so remove the spacer column.
This commit is contained in:
parent
ce638f3084
commit
5384f31943
@ -106,8 +106,6 @@ static gchar **gnc_tree_view_get_column_order (GncTreeView *view,
|
|||||||
|
|
||||||
typedef struct GncTreeViewPrivate
|
typedef struct GncTreeViewPrivate
|
||||||
{
|
{
|
||||||
/* Spacer column */
|
|
||||||
GtkTreeViewColumn *spacer_column;
|
|
||||||
GtkTreeViewColumn *selection_column;
|
GtkTreeViewColumn *selection_column;
|
||||||
|
|
||||||
/* Column selection menu related values */
|
/* Column selection menu related values */
|
||||||
@ -238,19 +236,6 @@ gnc_tree_view_init (GncTreeView *view, void *data)
|
|||||||
gtk_tree_view_set_column_drag_function(GTK_TREE_VIEW(view),
|
gtk_tree_view_set_column_drag_function(GTK_TREE_VIEW(view),
|
||||||
gnc_tree_view_drop_ok_cb, NULL, NULL);
|
gnc_tree_view_drop_ok_cb, NULL, NULL);
|
||||||
|
|
||||||
/* Create the next to last column which is always present, visible,
|
|
||||||
* and empty. Override the defaults and make this a one pixel wide
|
|
||||||
* column, but have it take up any extra space in the window. */
|
|
||||||
column = gnc_tree_view_add_text_column (view, NULL, NULL, NULL, NULL,
|
|
||||||
-1, -1, NULL);
|
|
||||||
g_object_set(G_OBJECT(column),
|
|
||||||
"fixed-width", 1,
|
|
||||||
"expand", TRUE,
|
|
||||||
(gchar *)NULL);
|
|
||||||
priv->spacer_column = column;
|
|
||||||
|
|
||||||
gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED);
|
|
||||||
|
|
||||||
// Set grid lines option to preference
|
// Set grid lines option to preference
|
||||||
gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(view), gnc_tree_view_get_grid_lines_pref ());
|
gtk_tree_view_set_grid_lines (GTK_TREE_VIEW(view), gnc_tree_view_get_grid_lines_pref ());
|
||||||
gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL, GNC_PREF_GRID_LINES_HORIZONTAL,
|
gnc_prefs_register_cb (GNC_PREFS_GROUP_GENERAL, GNC_PREF_GRID_LINES_HORIZONTAL,
|
||||||
@ -273,7 +258,7 @@ gnc_tree_view_init (GncTreeView *view, void *data)
|
|||||||
g_object_set(G_OBJECT(column),
|
g_object_set(G_OBJECT(column),
|
||||||
"clickable", TRUE,
|
"clickable", TRUE,
|
||||||
"widget", icon,
|
"widget", icon,
|
||||||
"fixed-width", requisition.width + 10,
|
"alignment", 1.0,
|
||||||
(gchar *)NULL);
|
(gchar *)NULL);
|
||||||
priv->selection_column = column;
|
priv->selection_column = column;
|
||||||
g_signal_connect(G_OBJECT(column), "clicked",
|
g_signal_connect(G_OBJECT(column), "clicked",
|
||||||
@ -1407,8 +1392,6 @@ void gnc_tree_view_expand_columns (GncTreeView *view,
|
|||||||
}
|
}
|
||||||
va_end (args);
|
va_end (args);
|
||||||
|
|
||||||
gtk_tree_view_column_set_visible (priv->spacer_column, !hide_spacer);
|
|
||||||
|
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1449,7 +1432,6 @@ gnc_tree_view_set_control_column_background (GncTreeView *view, gint column, Gtk
|
|||||||
ENTER("view %p, column %d, func %p", view, column, func);
|
ENTER("view %p, column %d, func %p", view, column, func);
|
||||||
priv = GNC_TREE_VIEW_GET_PRIVATE (view);
|
priv = GNC_TREE_VIEW_GET_PRIVATE (view);
|
||||||
|
|
||||||
update_control_cell_renderers_background (view, priv->spacer_column, column, func);
|
|
||||||
update_control_cell_renderers_background (view, priv->selection_column, column, func);
|
update_control_cell_renderers_background (view, priv->selection_column, column, func);
|
||||||
|
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
@ -1562,7 +1544,6 @@ gnc_tree_view_configure_columns (GncTreeView *view)
|
|||||||
hide_spacer = (gnc_tree_view_count_visible_columns(view) == 1);
|
hide_spacer = (gnc_tree_view_count_visible_columns(view) == 1);
|
||||||
column = gtk_tree_view_get_column(GTK_TREE_VIEW(view), 0);
|
column = gtk_tree_view_get_column(GTK_TREE_VIEW(view), 0);
|
||||||
gtk_tree_view_column_set_expand(column, hide_spacer);
|
gtk_tree_view_column_set_expand(column, hide_spacer);
|
||||||
gtk_tree_view_column_set_visible(priv->spacer_column, !hide_spacer);
|
|
||||||
gtk_tree_view_column_set_visible(priv->selection_column, !hide_spacer);
|
gtk_tree_view_column_set_visible(priv->selection_column, !hide_spacer);
|
||||||
|
|
||||||
LEAVE(" ");
|
LEAVE(" ");
|
||||||
@ -2066,9 +2047,9 @@ gnc_tree_view_append_column (GncTreeView *view,
|
|||||||
n = g_list_length(columns);
|
n = g_list_length(columns);
|
||||||
g_list_free(columns);
|
g_list_free(columns);
|
||||||
|
|
||||||
/* Ignore the initial two columns (the spacer and the selection menu) */
|
/* Ignore the initial column, the selection menu */
|
||||||
if (n >= 2)
|
if (n >= 1)
|
||||||
n -= 2;
|
n -= 1;
|
||||||
return gtk_tree_view_insert_column (GTK_TREE_VIEW(view), column, n);
|
return gtk_tree_view_insert_column (GTK_TREE_VIEW(view), column, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user