summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_photo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_photo.c')
-rw-r--r--src/lib/elementary/elm_photo.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_photo.c b/src/lib/elementary/elm_photo.c
index 0d6e94652a..53300f9d0e 100644
--- a/src/lib/elementary/elm_photo.c
+++ b/src/lib/elementary/elm_photo.c
@@ -325,6 +325,12 @@ _elm_photo_efl_object_constructor(Eo *obj, Elm_Photo_Data *_pd EINA_UNUSED)
return obj;
}
+EOLIAN static void
+_elm_photo_efl_file_file_get(const Eo *obj EINA_UNUSED, Elm_Photo_Data *sd, const char **file, const char **key EINA_UNUSED)
+{
+ efl_file_get(sd->icon, file, NULL);
+}
+
EOLIAN static Eina_Bool
_elm_photo_efl_file_file_set(Eo *obj, Elm_Photo_Data *sd, const char *file, const char *key EINA_UNUSED)
{
@@ -342,6 +348,29 @@ _elm_photo_efl_file_file_set(Eo *obj, Elm_Photo_Data *sd, const char *file, cons
return EINA_TRUE;
}
+EOLIAN static void
+_elm_photo_efl_file_mmap_get(const Eo *obj EINA_UNUSED, Elm_Photo_Data *sd, const Eina_File **file, const char **key EINA_UNUSED)
+{
+ efl_file_mmap_get(sd->icon, file, key);
+}
+
+EOLIAN static Eina_Bool
+_elm_photo_efl_file_mmap_set(Eo *obj, Elm_Photo_Data *sd, const Eina_File *file, const char *key EINA_UNUSED)
+{
+ if (!file)
+ {
+ if (!elm_icon_standard_set(sd->icon, "no_photo")) return EINA_FALSE;
+ }
+ else
+ {
+ if (!efl_file_mmap_set(sd->icon, file, NULL)) return EINA_FALSE;
+ }
+
+ _sizing_eval(obj);
+
+ return EINA_TRUE;
+}
+
static void
_elm_photo_class_constructor(Efl_Class *klass)
{