gimp r26009 - in trunk: . app/widgets



Author: mitch
Date: Sat Jun 28 16:05:05 2008
New Revision: 26009
URL: http://svn.gnome.org/viewvc/gimp?rev=26009&view=rev

Log:
2008-06-28  Michael Natterer  <mitch gimp org>

	* app/widgets/gimpcontainertreeview.[ch]: add new function
	gimp_container_tree_view_connect_name_edited() which makes the
	name cell editable and connects a passed "edited" callback.

	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpsettingseditor.c
	* app/widgets/gimptemplateview.c: use it instead of having the
	same code four times.



Modified:
   trunk/ChangeLog
   trunk/app/widgets/gimpcontainertreeview.c
   trunk/app/widgets/gimpcontainertreeview.h
   trunk/app/widgets/gimpdatafactoryview.c
   trunk/app/widgets/gimpitemtreeview.c
   trunk/app/widgets/gimpsettingseditor.c
   trunk/app/widgets/gimptemplateview.c

Modified: trunk/app/widgets/gimpcontainertreeview.c
==============================================================================
--- trunk/app/widgets/gimpcontainertreeview.c	(original)
+++ trunk/app/widgets/gimpcontainertreeview.c	Sat Jun 28 16:05:05 2008
@@ -400,6 +400,28 @@
   return GTK_WIDGET (tree_view);
 }
 
+void
+gimp_container_tree_view_connect_name_edited (GimpContainerTreeView *tree_view,
+                                              GCallback              callback,
+                                              gpointer               data)
+{
+  g_return_if_fail (GIMP_IS_CONTAINER_TREE_VIEW (tree_view));
+  g_return_if_fail (callback != NULL);
+
+  g_object_set (tree_view->name_cell,
+                "mode",     GTK_CELL_RENDERER_MODE_EDITABLE,
+                "editable", TRUE,
+                NULL);
+
+  if (! g_list_find (tree_view->editable_cells, tree_view->name_cell))
+    tree_view->editable_cells = g_list_prepend (tree_view->editable_cells,
+                                                tree_view->name_cell);
+
+  g_signal_connect (tree_view->name_cell, "edited",
+                    callback,
+                    data);
+}
+
 static void
 gimp_container_tree_view_set (GimpContainerTreeView *tree_view,
                               GtkTreeIter           *iter,

Modified: trunk/app/widgets/gimpcontainertreeview.h
==============================================================================
--- trunk/app/widgets/gimpcontainertreeview.h	(original)
+++ trunk/app/widgets/gimpcontainertreeview.h	Sat Jun 28 16:05:05 2008
@@ -117,5 +117,10 @@
                                                gint           view_size,
                                                gint           view_border_width);
 
+void
+ gimp_container_tree_view_connect_name_edited (GimpContainerTreeView *tree_view,
+                                               GCallback              callback,
+                                               gpointer               data);
+
 
 #endif  /*  __GIMP_CONTAINER_TREE_VIEW_H__  */

Modified: trunk/app/widgets/gimpdatafactoryview.c
==============================================================================
--- trunk/app/widgets/gimpdatafactoryview.c	(original)
+++ trunk/app/widgets/gimpdatafactoryview.c	Sat Jun 28 16:05:05 2008
@@ -158,17 +158,9 @@
 
       tree_view = GIMP_CONTAINER_TREE_VIEW (editor->view);
 
-      g_object_set (tree_view->name_cell,
-                    "mode",     GTK_CELL_RENDERER_MODE_EDITABLE,
-                    "editable", TRUE,
-                    NULL);
-
-      tree_view->editable_cells = g_list_prepend (tree_view->editable_cells,
-                                                  tree_view->name_cell);
-
-      g_signal_connect (tree_view->name_cell, "edited",
-                        G_CALLBACK (gimp_data_factory_view_tree_name_edited),
-                        factory_view);
+      gimp_container_tree_view_connect_name_edited (tree_view,
+                                                    G_CALLBACK (gimp_data_factory_view_tree_name_edited),
+                                                    factory_view);
     }
 
   str = g_strdup_printf ("%s-edit", action_group);

Modified: trunk/app/widgets/gimpitemtreeview.c
==============================================================================
--- trunk/app/widgets/gimpitemtreeview.c	(original)
+++ trunk/app/widgets/gimpitemtreeview.c	Sat Jun 28 16:05:05 2008
@@ -283,17 +283,9 @@
   item_view       = GIMP_ITEM_TREE_VIEW (object);
   item_view_class = GIMP_ITEM_TREE_VIEW_GET_CLASS (object);
 
-  g_object_set (tree_view->name_cell,
-                "mode",     GTK_CELL_RENDERER_MODE_EDITABLE,
-                "editable", TRUE,
-                NULL);
-
-  tree_view->editable_cells = g_list_prepend (tree_view->editable_cells,
-                                              tree_view->name_cell);
-
-  g_signal_connect (tree_view->name_cell, "edited",
-                    G_CALLBACK (gimp_item_tree_view_name_edited),
-                    item_view);
+  gimp_container_tree_view_connect_name_edited (tree_view,
+                                                G_CALLBACK (gimp_item_tree_view_name_edited),
+                                                item_view);
 
   column = gtk_tree_view_column_new ();
   gtk_tree_view_insert_column (tree_view->view, column, 0);

Modified: trunk/app/widgets/gimpsettingseditor.c
==============================================================================
--- trunk/app/widgets/gimpsettingseditor.c	(original)
+++ trunk/app/widgets/gimpsettingseditor.c	Sat Jun 28 16:05:05 2008
@@ -164,17 +164,9 @@
                     G_CALLBACK (gimp_settings_editor_select_item),
                     editor);
 
-  g_object_set (tree_view->name_cell,
-                "mode",     GTK_CELL_RENDERER_MODE_EDITABLE,
-                "editable", TRUE,
-                NULL);
-
-  tree_view->editable_cells = g_list_prepend (tree_view->editable_cells,
-                                              tree_view->name_cell);
-
-  g_signal_connect (tree_view->name_cell, "edited",
-                    G_CALLBACK (gimp_settings_editor_name_edited),
-                    editor);
+  gimp_container_tree_view_connect_name_edited (tree_view,
+                                                G_CALLBACK (gimp_settings_editor_name_edited),
+                                                editor);
 
   editor->import_button =
     gimp_editor_add_button (GIMP_EDITOR (tree_view),

Modified: trunk/app/widgets/gimptemplateview.c
==============================================================================
--- trunk/app/widgets/gimptemplateview.c	(original)
+++ trunk/app/widgets/gimptemplateview.c	Sat Jun 28 16:05:05 2008
@@ -111,17 +111,9 @@
 
       tree_view = GIMP_CONTAINER_TREE_VIEW (editor->view);
 
-      g_object_set (tree_view->name_cell,
-                    "mode",     GTK_CELL_RENDERER_MODE_EDITABLE,
-                    "editable", TRUE,
-                    NULL);
-
-      tree_view->editable_cells = g_list_prepend (tree_view->editable_cells,
-                                                  tree_view->name_cell);
-
-      g_signal_connect (tree_view->name_cell, "edited",
-                        G_CALLBACK (gimp_template_view_tree_name_edited),
-                        template_view);
+      gimp_container_tree_view_connect_name_edited (tree_view,
+                                                    G_CALLBACK (gimp_template_view_tree_name_edited),
+                                                    template_view);
     }
 
   template_view->create_button =



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