summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2015-01-05 10:53:57 +0100
committerCedric BAIL <cedric@osg.samsung.com>2015-01-05 10:54:11 +0100
commita5183ee424d65cf37343ea46f7982c74f60d6fbc (patch)
tree7ae5632cd6de5249856c15047339b3b92a04c7b0
parent93da127573158536aa866d8102254f8ff8b44c95 (diff)
downloadefl-a5183ee424d65cf37343ea46f7982c74f60d6fbc.tar.gz
edje: Edje_Edit - add API for renaming of image.
Reviewers: Hermet, raster, seoz, cedric @feature Subscribers: reutskiy.v.v Projects: #efl Differential Revision: https://phab.enlightenment.org/D1830 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
-rw-r--r--src/lib/edje/Edje_Edit.h13
-rw-r--r--src/lib/edje/edje_edit.c24
2 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index aba67ee947..ebc3dc81ee 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -4666,6 +4666,19 @@ EAPI Eina_Bool edje_edit_image_del(Evas_Object *obj, const char *name);
*/
EAPI Eina_Bool edje_edit_image_replace(Evas_Object *obj, const char *name, const char *new_name);
+/** Rename image
+ *
+ * @param obj Object being edited.
+ * @param name The name of the image to be renamed.
+ * @param new_name The new_name of the image.
+ *
+ * @return @c EINA_TRUE in case of success, @c EINA_FALSE otherwise.(including the
+ * case when one of the names is not valid)
+ *
+ * @since 1.12
+ */
+EAPI Eina_Bool edje_edit_image_rename(Evas_Object *obj, const char *name, const char *new_name);
+
/** Get list of (Edje_Part_Image_Use *) - group-part-state triplets where given
* image is used
*
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index bb35f3836f..f7d8e86083 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -7320,6 +7320,30 @@ edje_edit_image_replace(Evas_Object *obj, const char *name, const char *new_name
return EINA_TRUE;
}
+EAPI Eina_Bool
+edje_edit_image_rename(Evas_Object *obj, const char *name, const char *new_name)
+{
+ Edje_Image_Directory_Entry *de = NULL;
+ unsigned int i;
+ GET_ED_OR_RETURN(EINA_FALSE);
+
+ // Check if image with 'new_name' already exists
+ if (edje_edit_image_id_get(obj, new_name) >= 0)
+ return EINA_FALSE;
+
+ for (i = 0; i < ed->file->image_dir->entries_count; ++i)
+ {
+ de = ed->file->image_dir->entries + i;
+ if ((de->entry) && (!strcmp(name, de->entry)))
+ break;
+ }
+ if (i == ed->file->image_dir->entries_count) return EINA_FALSE;
+
+ _edje_if_string_replace(ed, &de->entry, new_name);
+
+ return EINA_TRUE;
+}
+
EAPI Eina_List*
edje_edit_image_usage_list_get(Evas_Object *obj, const char *name, Eina_Bool first_only)
{