diff options
-rw-r--r-- | lib/egg/egg-toolbar-editor.c | 42 | ||||
-rw-r--r-- | lib/egg/egg-toolbars-model.c | 5 |
2 files changed, 25 insertions, 22 deletions
diff --git a/lib/egg/egg-toolbar-editor.c b/lib/egg/egg-toolbar-editor.c index 0a2c503a3..09339ab17 100644 --- a/lib/egg/egg-toolbar-editor.c +++ b/lib/egg/egg-toolbar-editor.c @@ -62,7 +62,7 @@ struct EggToolbarEditorPrivate GtkUIManager *manager; EggToolbarsModel *model; - GtkWidget *table; + GtkWidget *grid; GtkWidget *scrolled_window; GList *actions_list; GList *factory_list; @@ -534,32 +534,32 @@ editor_create_item_from_name (EggToolbarEditor *editor, } static gint -append_table (GtkTable *table, GList *items, gint y, gint width) +append_grid (GtkGrid *grid, GList *items, gint y, gint width) { if (items != NULL) { - gint x = 0, height; + gint x = 0; GtkWidget *alignment; GtkWidget *item; - height = g_list_length (items) / width + 1; - gtk_table_resize (table, height, width); - if (y > 0) { item = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); alignment = gtk_alignment_new (0.5, 0.5, 1.0, 0.0); + g_object_set (G_OBJECT (alignment), "expand", TRUE, NULL); gtk_container_add (GTK_CONTAINER (alignment), item); gtk_widget_show (alignment); gtk_widget_show (item); - gtk_table_attach_defaults (table, alignment, 0, width, y-1, y+1); + gtk_grid_attach (grid, alignment, 0, y, width, 1); + y++; } for (; items != NULL; items = items->next) { item = items->data; alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); + g_object_set (G_OBJECT (alignment), "expand", TRUE, NULL); gtk_container_add (GTK_CONTAINER (alignment), item); gtk_widget_show (alignment); gtk_widget_show (item); @@ -569,7 +569,7 @@ append_table (GtkTable *table, GList *items, gint y, gint width) x = 0; y++; } - gtk_table_attach_defaults (table, alignment, x, x+1, y, y+1); + gtk_grid_attach (grid, alignment, x, y, 1, 1); x++; } @@ -584,18 +584,18 @@ update_editor_sheet (EggToolbarEditor *editor) gint y; GPtrArray *items; GList *to_move = NULL, *to_copy = NULL; - GtkWidget *table; + GtkWidget *grid; GtkWidget *viewport; g_return_if_fail (EGG_IS_TOOLBAR_EDITOR (editor)); - /* Create new table. */ - table = gtk_table_new (0, 0, TRUE); - editor->priv->table = table; - gtk_container_set_border_width (GTK_CONTAINER (table), 12); - gtk_table_set_row_spacings (GTK_TABLE (table), 24); - gtk_widget_show (table); - gtk_drag_dest_set (table, GTK_DEST_DEFAULT_ALL, + /* Create new grid. */ + grid = gtk_grid_new (); + editor->priv->grid = grid; + gtk_container_set_border_width (GTK_CONTAINER (grid), 12); + gtk_grid_set_row_spacing (GTK_GRID (grid), 24); + gtk_widget_show (grid); + gtk_drag_dest_set (grid, GTK_DEST_DEFAULT_ALL, dest_drag_types, G_N_ELEMENTS (dest_drag_types), GDK_ACTION_MOVE | GDK_ACTION_COPY); @@ -627,14 +627,14 @@ update_editor_sheet (EggToolbarEditor *editor) /* Add them to the sheet. */ y = 0; - y = append_table (GTK_TABLE (table), to_move, y, 4); - y = append_table (GTK_TABLE (table), to_copy, y, 4); + y = append_grid (GTK_GRID (grid), to_move, y, 4); + y = append_grid (GTK_GRID (grid), to_copy, y, 4); g_list_free (to_move); g_list_free (to_copy); g_ptr_array_free (items, TRUE); - /* Delete old table. */ + /* Delete old grid. */ viewport = gtk_bin_get_child (GTK_BIN (editor->priv->scrolled_window)); if (viewport) { @@ -642,9 +642,9 @@ update_editor_sheet (EggToolbarEditor *editor) gtk_bin_get_child (GTK_BIN (viewport))); } - /* Add table to window. */ + /* Add grid to window. */ gtk_scrolled_window_add_with_viewport - (GTK_SCROLLED_WINDOW (editor->priv->scrolled_window), table); + (GTK_SCROLLED_WINDOW (editor->priv->scrolled_window), grid); } diff --git a/lib/egg/egg-toolbars-model.c b/lib/egg/egg-toolbars-model.c index b431d6edb..31a6d5eeb 100644 --- a/lib/egg/egg-toolbars-model.c +++ b/lib/egg/egg-toolbars-model.c @@ -675,6 +675,10 @@ static void egg_toolbars_model_class_init (EggToolbarsModelClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); + volatile GType flags_type; /* work around gcc's optimiser */ + + /* make sure the flags type is known */ + flags_type = EGG_TYPE_TB_MODEL_FLAGS; object_class->finalize = egg_toolbars_model_finalize; @@ -740,7 +744,6 @@ egg_toolbars_model_finalize (GObject *object) (GNodeForeachFunc) toolbar_node_free, model); g_node_destroy (model->priv->toolbars); g_hash_table_destroy (model->priv->flags); - g_list_free (model->priv->types); G_OBJECT_CLASS (egg_toolbars_model_parent_class)->finalize (object); } |