[epiphany] lib/egg: update from libegg master



commit 14c5b69240de9dcbdbdb6bc7308665beb16231aa
Author: Diego Escalante Urrelo <descalante igalia com>
Date:   Sun Oct 9 21:42:06 2011 -0500

    lib/egg: update from libegg master
    
    Drop GtkTable usage, sync our changes upstream.

 lib/egg/egg-toolbar-editor.c |   42 +++++++++++++++++++++---------------------
 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 0a2c503..09339ab 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 b431d6e..31a6d5e 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);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]