[gimp] Add gimp_item_tree_rename_item()
- From: Michael Natterer <mitch src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gimp] Add gimp_item_tree_rename_item()
- Date: Sun, 7 Feb 2010 14:40:45 +0000 (UTC)
commit bcf7603e04deb5271a6a17ba7ebdeba74e520ea7
Author: Michael Natterer <mitch gimp org>
Date: Sun Feb 7 15:39:42 2010 +0100
Add gimp_item_tree_rename_item()
and call it from gimp_item_real_rename() if the item is attached to an
image; simply use gimp_object_set_name() otherwise.
app/core/gimpitem.c | 7 ++++---
app/core/gimpitemtree.c | 25 +++++++++++++++++++++++++
app/core/gimpitemtree.h | 5 +++++
3 files changed, 34 insertions(+), 3 deletions(-)
---
diff --git a/app/core/gimpitem.c b/app/core/gimpitem.c
index 7a8b8d3..321b996 100644
--- a/app/core/gimpitem.c
+++ b/app/core/gimpitem.c
@@ -473,9 +473,10 @@ gimp_item_real_rename (GimpItem *item,
GError **error)
{
if (gimp_item_is_attached (item))
- gimp_image_undo_push_item_rename (item->image, undo_desc, item);
-
- gimp_object_set_name (GIMP_OBJECT (item), new_name);
+ gimp_item_tree_rename_item (gimp_item_get_tree (item), item,
+ new_name, undo_desc);
+ else
+ gimp_object_set_name (GIMP_OBJECT (item), new_name);
return TRUE;
}
diff --git a/app/core/gimpitemtree.c b/app/core/gimpitemtree.c
index edf3ef4..bd04236 100644
--- a/app/core/gimpitemtree.c
+++ b/app/core/gimpitemtree.c
@@ -517,3 +517,28 @@ gimp_item_tree_reorder_item (GimpItemTree *tree,
return TRUE;
}
+
+void
+gimp_item_tree_rename_item (GimpItemTree *tree,
+ GimpItem *item,
+ const gchar *new_name,
+ const gchar *undo_desc)
+{
+ GimpItemTreePrivate *private;
+
+ g_return_if_fail (GIMP_IS_ITEM_TREE (tree));
+
+ private = GIMP_ITEM_TREE_GET_PRIVATE (tree);
+
+ g_return_if_fail (GIMP_IS_ITEM (item));
+ g_return_if_fail (gimp_item_is_attached (item));
+ g_return_if_fail (gimp_item_get_image (item) == private->image);
+ g_return_if_fail (new_name != NULL);
+
+ if (strcmp (new_name, gimp_object_get_name (item)))
+ {
+ gimp_image_undo_push_item_rename (item->image, undo_desc, item);
+
+ gimp_object_set_name (GIMP_OBJECT (item), new_name);
+ }
+}
diff --git a/app/core/gimpitemtree.h b/app/core/gimpitemtree.h
index 1901db2..d75e538 100644
--- a/app/core/gimpitemtree.h
+++ b/app/core/gimpitemtree.h
@@ -75,5 +75,10 @@ gboolean gimp_item_tree_reorder_item (GimpItemTree *tree,
gboolean push_undo,
const gchar *undo_desc);
+void gimp_item_tree_rename_item (GimpItemTree *tree,
+ GimpItem *item,
+ const gchar *new_name,
+ const gchar *undo_desc);
+
#endif /* __GIMP_ITEM_TREE_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]