[gimp] app: add gimp_container_tree_view_name_edited() as public default callback
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: add gimp_container_tree_view_name_edited() as public default callback
- Date: Tue, 14 Nov 2017 19:55:34 +0000 (UTC)
commit 8350ab4217c407c1e8bb7f7c5758df4fa944f0b1
Author: Michael Natterer <mitch gimp org>
Date: Tue Nov 14 20:54:38 2017 +0100
app: add gimp_container_tree_view_name_edited() as public default callback
and use it in GimpBufferView and GimpTemplateView.
app/widgets/gimpbufferview.c | 61 +-------------------------------
app/widgets/gimpcontainertreeview.c | 54 +++++++++++++++++++++++++++++
app/widgets/gimpcontainertreeview.h | 5 +++
app/widgets/gimptemplateview.c | 65 ++--------------------------------
4 files changed, 65 insertions(+), 120 deletions(-)
---
diff --git a/app/widgets/gimpbufferview.c b/app/widgets/gimpbufferview.c
index 3567e11..d1bfa76 100644
--- a/app/widgets/gimpbufferview.c
+++ b/app/widgets/gimpbufferview.c
@@ -33,7 +33,6 @@
#include "core/gimpcontext.h"
#include "core/gimpimage.h"
-#include "gimpcontainertreestore.h"
#include "gimpcontainertreeview.h"
#include "gimpcontainerview.h"
#include "gimpbufferview.h"
@@ -56,10 +55,6 @@ static void gimp_buffer_view_set_context (GimpDocked *docked,
static void gimp_buffer_view_activate_item (GimpContainerEditor *editor,
GimpViewable *viewable);
-static void gimp_buffer_view_tree_name_edited (GtkCellRendererText *cell,
- const gchar *path_str,
- const gchar *new_name,
- GimpBufferView *view);
static void gimp_buffer_view_clipboard_changed (Gimp *gimp,
GimpBufferView *buffer_view);
@@ -158,8 +153,8 @@ gimp_buffer_view_new (GimpViewType view_type,
tree_view = GIMP_CONTAINER_TREE_VIEW (editor->view);
gimp_container_tree_view_connect_name_edited (tree_view,
- G_CALLBACK (gimp_buffer_view_tree_name_edited),
- buffer_view);
+ G_CALLBACK (gimp_container_tree_view_name_edited),
+ tree_view);
}
frame = gtk_frame_new (NULL);
@@ -275,58 +270,6 @@ gimp_buffer_view_activate_item (GimpContainerEditor *editor,
}
static void
-gimp_buffer_view_tree_name_edited (GtkCellRendererText *cell,
- const gchar *path_str,
- const gchar *new_name,
- GimpBufferView *view)
-{
- GimpContainerTreeView *tree_view;
- GtkTreePath *path;
- GtkTreeIter iter;
-
- tree_view = GIMP_CONTAINER_TREE_VIEW (GIMP_CONTAINER_EDITOR (view)->view);
-
- path = gtk_tree_path_new_from_string (path_str);
-
- if (gtk_tree_model_get_iter (tree_view->model, &iter, path))
- {
- GimpViewRenderer *renderer;
- GimpObject *object;
- const gchar *old_name;
-
- gtk_tree_model_get (tree_view->model, &iter,
- GIMP_CONTAINER_TREE_STORE_COLUMN_RENDERER, &renderer,
- -1);
-
- object = GIMP_OBJECT (renderer->viewable);
-
- old_name = gimp_object_get_name (object);
-
- if (! old_name) old_name = "";
- if (! new_name) new_name = "";
-
- if (strcmp (old_name, new_name))
- {
- gimp_object_set_name (object, new_name);
- }
- else
- {
- gchar *name = gimp_viewable_get_description (renderer->viewable,
- NULL);
-
- gtk_tree_store_set (GTK_TREE_STORE (tree_view->model), &iter,
- GIMP_CONTAINER_TREE_STORE_COLUMN_NAME, name,
- -1);
- g_free (name);
- }
-
- g_object_unref (renderer);
- }
-
- gtk_tree_path_free (path);
-}
-
-static void
gimp_buffer_view_clipboard_changed (Gimp *gimp,
GimpBufferView *buffer_view)
{
diff --git a/app/widgets/gimpcontainertreeview.c b/app/widgets/gimpcontainertreeview.c
index f91162c..d7d73d5 100644
--- a/app/widgets/gimpcontainertreeview.c
+++ b/app/widgets/gimpcontainertreeview.c
@@ -576,6 +576,60 @@ gimp_container_tree_view_connect_name_edited (GimpContainerTreeView *tree_view,
data);
}
+gboolean
+gimp_container_tree_view_name_edited (GtkCellRendererText *cell,
+ const gchar *path_str,
+ const gchar *new_name,
+ GimpContainerTreeView *tree_view)
+{
+ GtkTreePath *path;
+ GtkTreeIter iter;
+ gboolean changed = FALSE;
+
+ path = gtk_tree_path_new_from_string (path_str);
+
+ if (gtk_tree_model_get_iter (tree_view->model, &iter, path))
+ {
+ GimpViewRenderer *renderer;
+ GimpObject *object;
+ const gchar *old_name;
+
+ gtk_tree_model_get (tree_view->model, &iter,
+ GIMP_CONTAINER_TREE_STORE_COLUMN_RENDERER, &renderer,
+ -1);
+
+ object = GIMP_OBJECT (renderer->viewable);
+
+ old_name = gimp_object_get_name (object);
+
+ if (! old_name) old_name = "";
+ if (! new_name) new_name = "";
+
+ if (strcmp (old_name, new_name))
+ {
+ gimp_object_set_name (object, new_name);
+
+ changed = TRUE;
+ }
+ else
+ {
+ gchar *name = gimp_viewable_get_description (renderer->viewable,
+ NULL);
+
+ gtk_tree_store_set (GTK_TREE_STORE (tree_view->model), &iter,
+ GIMP_CONTAINER_TREE_STORE_COLUMN_NAME, name,
+ -1);
+ g_free (name);
+ }
+
+ g_object_unref (renderer);
+ }
+
+ gtk_tree_path_free (path);
+
+ return changed;
+}
+
/* GimpContainerView methods */
diff --git a/app/widgets/gimpcontainertreeview.h b/app/widgets/gimpcontainertreeview.h
index 5ad9ec9..5af2d4a 100644
--- a/app/widgets/gimpcontainertreeview.h
+++ b/app/widgets/gimpcontainertreeview.h
@@ -131,6 +131,11 @@ void gimp_container_tree_view_connect_name_edited
(GimpContainerTreeView *tree_view,
GCallback callback,
gpointer data);
+gboolean gimp_container_tree_view_name_edited
+ (GtkCellRendererText *cell,
+ const gchar *path_str,
+ const gchar *new_name,
+ GimpContainerTreeView *tree_view);
#endif /* __GIMP_CONTAINER_TREE_VIEW_H__ */
diff --git a/app/widgets/gimptemplateview.c b/app/widgets/gimptemplateview.c
index f7db851..a6f7cdf 100644
--- a/app/widgets/gimptemplateview.c
+++ b/app/widgets/gimptemplateview.c
@@ -36,7 +36,6 @@
#include "core/gimpimage.h"
#include "core/gimptemplate.h"
-#include "gimpcontainertreestore.h"
#include "gimpcontainertreeview.h"
#include "gimpcontainerview.h"
#include "gimpmenufactory.h"
@@ -49,12 +48,8 @@
#include "gimp-intl.h"
-static void gimp_template_view_activate_item (GimpContainerEditor *editor,
- GimpViewable *viewable);
-static void gimp_template_view_tree_name_edited (GtkCellRendererText *cell,
- const gchar *path_str,
- const gchar *new_name,
- GimpTemplateView *view);
+static void gimp_template_view_activate_item (GimpContainerEditor *editor,
+ GimpViewable *viewable);
G_DEFINE_TYPE (GimpTemplateView, gimp_template_view,
@@ -122,8 +117,8 @@ gimp_template_view_new (GimpViewType view_type,
tree_view = GIMP_CONTAINER_TREE_VIEW (editor->view);
gimp_container_tree_view_connect_name_edited (tree_view,
- G_CALLBACK (gimp_template_view_tree_name_edited),
- template_view);
+ G_CALLBACK (gimp_container_tree_view_name_edited),
+ tree_view);
}
template_view->create_button =
@@ -182,55 +177,3 @@ gimp_template_view_activate_item (GimpContainerEditor *editor,
gtk_button_clicked (GTK_BUTTON (view->create_button));
}
}
-
-static void
-gimp_template_view_tree_name_edited (GtkCellRendererText *cell,
- const gchar *path_str,
- const gchar *new_name,
- GimpTemplateView *view)
-{
- GimpContainerTreeView *tree_view;
- GtkTreePath *path;
- GtkTreeIter iter;
-
- tree_view = GIMP_CONTAINER_TREE_VIEW (GIMP_CONTAINER_EDITOR (view)->view);
-
- path = gtk_tree_path_new_from_string (path_str);
-
- if (gtk_tree_model_get_iter (tree_view->model, &iter, path))
- {
- GimpViewRenderer *renderer;
- GimpObject *object;
- const gchar *old_name;
-
- gtk_tree_model_get (tree_view->model, &iter,
- GIMP_CONTAINER_TREE_STORE_COLUMN_RENDERER, &renderer,
- -1);
-
- object = GIMP_OBJECT (renderer->viewable);
-
- old_name = gimp_object_get_name (object);
-
- if (! old_name) old_name = "";
- if (! new_name) new_name = "";
-
- if (strcmp (old_name, new_name))
- {
- gimp_object_set_name (object, new_name);
- }
- else
- {
- gchar *name = gimp_viewable_get_description (renderer->viewable,
- NULL);
-
- gtk_tree_store_set (GTK_TREE_STORE (tree_view->model), &iter,
- GIMP_CONTAINER_TREE_STORE_COLUMN_NAME, name,
- -1);
- g_free (name);
- }
-
- g_object_unref (renderer);
- }
-
- gtk_tree_path_free (path);
-}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]