okra pushed a commit to branch master.

http://git.enlightenment.org/apps/ephoto.git/commit/?id=ae946f5b742477563daf514f4862cea2e99c4ae0

commit ae946f5b742477563daf514f4862cea2e99c4ae0
Author: Stephen Houston <smhousto...@gmail.com>
Date:   Fri Oct 30 14:42:13 2015 -0500

    Ephoto:  Cleanup the settings panel.
---
 src/bin/ephoto.h                |   4 +-
 src/bin/ephoto_config.c         | 168 ++++++++++++----------------------------
 src/bin/ephoto_single_browser.c |  87 ++++++++++++++++++---
 src/bin/ephoto_thumb_browser.c  |  76 +++++++++++++++++-
 4 files changed, 202 insertions(+), 133 deletions(-)

diff --git a/src/bin/ephoto.h b/src/bin/ephoto.h
index 701cb52..451c4f9 100644
--- a/src/bin/ephoto.h
+++ b/src/bin/ephoto.h
@@ -49,7 +49,8 @@ void         ephoto_directory_set(Ephoto *ephoto, const char 
*path);
 Eina_Bool    ephoto_config_init(Ephoto *em);
 void         ephoto_config_save(Ephoto *em);
 void         ephoto_config_free(Ephoto *em);
-void         ephoto_config_window(Ephoto *em);
+void         ephoto_config_slideshow(Ephoto *em);
+void         ephoto_config_about(Ephoto *em);
 
 Evas_Object *ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent);
 void         ephoto_single_browser_entry_set(Evas_Object *obj, Ephoto_Entry 
*entry);
@@ -118,7 +119,6 @@ struct _Ephoto_Config
    const char *editor;
    int window_width;
    int window_height;
-   Evas_Object *window;
    Evas_Object *slide_time;
    Evas_Object *slide_trans;
    int fsel_hide;
diff --git a/src/bin/ephoto_config.c b/src/bin/ephoto_config.c
index a1be38f..7b215e6 100644
--- a/src/bin/ephoto_config.c
+++ b/src/bin/ephoto_config.c
@@ -75,23 +75,23 @@ ephoto_config_free(Ephoto *ephoto)
 static void
 _close(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   Ephoto *ephoto = data;
+   Evas_Object *popup = data;
 
-   evas_object_del(ephoto->config->window);
+   evas_object_del(popup);
 }
 
 static void
 _save(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   Ephoto *ephoto = data;
+   Evas_Object *popup = data;
+   Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
 
    if (elm_spinner_value_get(ephoto->config->slide_time) > 0)
      ephoto->config->slideshow_timeout = 
elm_spinner_value_get(ephoto->config->slide_time);
    if (elm_object_text_get(ephoto->config->slide_trans))
      eina_stringshare_replace(&ephoto->config->slideshow_transition, 
elm_object_text_get(ephoto->config->slide_trans));
 
-   if (ephoto->config->window)
-     evas_object_del(ephoto->config->window);
+   evas_object_del(popup);
 }
 
 static void
@@ -111,42 +111,35 @@ _spinner_changed(void *data EINA_UNUSED, Evas_Object 
*obj, void *event_info EINA
    elm_spinner_label_format_set(obj, buf);
 }
 
-static Evas_Object *
-_add_slideshow_config(Evas_Object *parent, Ephoto *ephoto)
+void
+ephoto_config_slideshow(Ephoto *ephoto)
 {
-   Evas_Object *box, *scroller, *table, *label, *spinner, *hoversel, *hbox, 
*ic, *button;
+   Evas_Object *popup, *box, *table, *label, *spinner, *hoversel, *ic, *button;
    const Eina_List *l;
    const char *transition;
    char buf[PATH_MAX];
 
-   box = elm_box_add(parent);
+   popup = elm_popup_add(ephoto->win);
+   elm_popup_scrollable_set(popup, EINA_TRUE);
+   elm_object_part_text_set(popup, "title,text", _("Slideshow Settings"));
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+
+   box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
-   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_weight_set(box, 0.0, 0.0);
    evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(box);
 
-   scroller = elm_scroller_add(box);
-   evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(box, scroller);
-   evas_object_show(scroller);
-
-   table = elm_table_add(scroller);
+   table = elm_table_add(box);
    evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(table);
 
    label = elm_label_add(table);
-   snprintf(buf, PATH_MAX, "<b>%s</b>", _("Slideshow Options"));
-   elm_object_text_set(label, buf);
-   elm_table_pack(table, label, 0, 0, 2, 1);
-   evas_object_show(label);
-
-   label = elm_label_add(table);
    memset(buf, 0, PATH_MAX);
    snprintf(buf, PATH_MAX, "<b>%s:</b>", _("Show Each Slide For"));
    elm_object_text_set(label, buf);
-   evas_object_size_hint_align_set(label, 1.0, EVAS_HINT_FILL);
+   evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL);
    elm_table_pack(table, label, 0, 1, 1, 1);
    evas_object_show(label);
 
@@ -167,12 +160,12 @@ _add_slideshow_config(Evas_Object *parent, Ephoto *ephoto)
    memset(buf, 0, PATH_MAX);
    snprintf(buf, PATH_MAX, "<b>%s:</b>", _("Slide Transition"));
    elm_object_text_set(label, buf);
-   evas_object_size_hint_align_set(label, 1.0, EVAS_HINT_FILL);
+   evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL);
    elm_table_pack(table, label, 0, 2, 1, 1);
    evas_object_show(label);
 
    hoversel = elm_hoversel_add(table);
-   elm_hoversel_hover_parent_set(hoversel, box);
+   elm_hoversel_hover_parent_set(hoversel, ephoto->win);
    EINA_LIST_FOREACH(elm_slideshow_transitions_get(ephoto->slideshow), l, 
transition)
      elm_hoversel_item_add(hoversel, transition, NULL, 0, _hv_select, 
transition);
    elm_hoversel_item_add(hoversel, "None", NULL, 0, _hv_select, NULL);
@@ -183,64 +176,60 @@ _add_slideshow_config(Evas_Object *parent, Ephoto *ephoto)
    evas_object_show(hoversel);
    ephoto->config->slide_trans = hoversel;
 
-   elm_object_content_set(scroller, table);
+   elm_box_pack_end(box, table);
 
-   hbox = elm_box_add(box);
-   elm_box_horizontal_set(hbox, EINA_TRUE);
-   elm_box_pack_end(box, hbox);
-   evas_object_show(hbox);
-
-   ic = elm_icon_add(hbox);
+   ic = elm_icon_add(popup);
    elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
    elm_icon_standard_set(ic, "document-save");
 
-   button = elm_button_add(hbox);
+   button = elm_button_add(popup);
    elm_object_text_set(button, _("Save"));
    elm_object_part_content_set(button, "icon", ic);
-   evas_object_smart_callback_add(button, "clicked", _save, ephoto);
-   elm_box_pack_end(hbox, button);
+   evas_object_smart_callback_add(button, "clicked", _save, popup);
+   elm_object_part_content_set(popup, "button1", button);
    evas_object_show(button);
 
-   ic = elm_icon_add(hbox);
+   ic = elm_icon_add(popup);
    elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
    elm_icon_standard_set(ic, "window-close");
 
-   button = elm_button_add(hbox);
+   button = elm_button_add(popup);
    elm_object_text_set(button, _("Cancel"));
    elm_object_part_content_set(button, "icon", ic);
-   evas_object_smart_callback_add(button, "clicked", _close, ephoto);
-   elm_box_pack_end(hbox, button);
+   evas_object_smart_callback_add(button, "clicked", _close, popup);
+   elm_object_part_content_set(popup, "button2", button);
    evas_object_show(button);
 
-   return box;
+   evas_object_data_set(popup, "ephoto", ephoto);
+   elm_object_part_content_set(popup, "default", box);
+   evas_object_show(popup);
 }
 
-static Evas_Object *
-_add_about_config(Evas_Object *parent, Ephoto *ephoto)
+void
+ephoto_config_about(Ephoto *ephoto)
 {
-   Evas_Object *box, *scroller, *ic, *button, *label;
+   Evas_Object *popup, *box, *ic, *button, *label;
    Eina_Strbuf *sbuf = eina_strbuf_new();
    FILE *f;
 
-   box = elm_box_add(parent);
+   popup = elm_popup_add(ephoto->win);
+   elm_popup_scrollable_set(popup, EINA_TRUE);
+   elm_object_part_text_set(popup, "title,text", _("About Ephoto"));
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+
+   box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(box);
 
-   scroller = elm_scroller_add(box);
-   evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(box, scroller);
-   evas_object_show(scroller);
-
-   label = elm_label_add(scroller);
+   label = elm_label_add(box);
    evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   eina_strbuf_append_printf(sbuf, _("<b>About Ephoto</b><br/>"
-     "Ephoto is a comprehensive image viewer based on the EFL.<br/>"
+   eina_strbuf_append_printf(sbuf,
+     _("Ephoto is a comprehensive image viewer based on the EFL.<br/>"
      "For more information, please visit the Ephoto project page on the 
Enlightenment wiki:<br/>"
      "https://phab.enlightenment.org/w/projects/ephoto<br/>"
      "Ephoto's source can be found through Enlightenment's git:<br/>"
@@ -288,7 +277,7 @@ _add_about_config(Evas_Object *parent, Ephoto *ephoto)
         fclose(f);
      }
    elm_object_text_set(label, eina_strbuf_string_get(sbuf));
-   elm_object_content_set(scroller, label);
+   elm_box_pack_end(box, label);
    evas_object_show(label);
 
    ic = elm_icon_add(box);
@@ -299,72 +288,13 @@ _add_about_config(Evas_Object *parent, Ephoto *ephoto)
    button = elm_button_add(box);
    elm_object_text_set(button, _("Close"));
    elm_object_part_content_set(button, "icon", ic);
-   evas_object_smart_callback_add(button, "clicked", _close, ephoto);
-   elm_box_pack_end(box, button);
+   evas_object_smart_callback_add(button, "clicked", _close, popup);
+   elm_object_part_content_set(popup, "button1", button);
    evas_object_show(button);
 
-   return box;
-}
-
-static void
-_show_page(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
-{
-   Elm_Object_Item *it = data;
-
-   elm_naviframe_item_promote(it);
-}
-
-void
-ephoto_config_window(Ephoto *ephoto)
-{
-   Evas_Object *win, *box, *toolbar, *pager, *slideshow, *about;
-   Elm_Object_Item *sit, *ait;
-   const Eina_List *l;
-   const char *transition;
-
-   win = elm_win_inwin_add(ephoto->win);
-   evas_object_show(win);
-
-   box = elm_box_add(win);
-   elm_box_horizontal_set(box, EINA_FALSE);
-   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_show(box);
-
-   toolbar = elm_toolbar_add(box);
-   elm_toolbar_horizontal_set(toolbar, EINA_TRUE);
-   elm_toolbar_homogeneous_set(toolbar, EINA_TRUE);
-   elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_SCROLL);
-   elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
-   elm_toolbar_icon_order_lookup_set(toolbar, ELM_ICON_LOOKUP_FDO_THEME);
-   evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND, 0.0);
-   evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(box, toolbar);
-   evas_object_show(toolbar);
-
-   pager = elm_naviframe_add(box);
-   elm_naviframe_prev_btn_auto_pushed_set(pager, EINA_FALSE);
-   evas_object_size_hint_weight_set
-     (pager, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   evas_object_size_hint_fill_set
-     (pager, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_box_pack_end(box, pager);
-   evas_object_show(pager);
-
-   slideshow = _add_slideshow_config(pager, ephoto);   
-   sit = elm_naviframe_item_push(pager, NULL, NULL, NULL, slideshow, 
"overlap");
-   elm_naviframe_item_title_enabled_set(sit, EINA_FALSE, EINA_FALSE);
-   elm_toolbar_item_append(toolbar, "media-playback-start", _("Slideshow"), 
_show_page, sit);
-
-   about = _add_about_config(pager, ephoto);
-   ait = elm_naviframe_item_insert_after(pager, sit, NULL, NULL, NULL, about, 
"overlap");
-   elm_naviframe_item_title_enabled_set(ait, EINA_FALSE, EINA_FALSE);
-   elm_toolbar_item_append(toolbar, "help-about", _("About"), _show_page, ait);
-
-   elm_naviframe_item_promote(sit);
-
-   ephoto->config->window = win;
-   elm_win_inwin_content_set(win, box);
+   evas_object_data_set(popup, "ephoto", ephoto);
+   elm_object_part_content_set(popup, "default", box);
+   evas_object_show(popup);
 }
 
 static int
diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index abbc306..8efc7d9 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -787,7 +787,7 @@ _reset_image(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNU
 
    popup = elm_popup_add(sb->ephoto->win);
    elm_object_part_text_set(popup, "title,text", _("Reset Image"));
-   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP); 
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER); 
 
    box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
@@ -838,7 +838,7 @@ _failed_save(Ephoto_Single_Browser *sb)
 
    popup = elm_popup_add(sb->ephoto->win);
    elm_object_part_text_set(popup, "title,text", _("Save Failed"));
-   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
    box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
@@ -910,7 +910,7 @@ _save_image(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUS
 
    popup = elm_popup_add(sb->ephoto->win);
    elm_object_part_text_set(popup, "title,text", _("Save Image"));
-   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
    box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
@@ -1010,7 +1010,7 @@ _save_image_as_done(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info)
 
              popup = elm_popup_add(sb->ephoto->win);
              elm_object_part_text_set(popup, "title,text", _("Overwite 
Image"));
-             elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
+             elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
              box = elm_box_add(popup);
              elm_box_horizontal_set(box, EINA_FALSE);
@@ -1149,7 +1149,7 @@ _upload_image_complete_cb(void *data, int ev_type 
EINA_UNUSED, void *event)
 
    popup = elm_popup_add(sb->ephoto->win);
    elm_object_part_text_set(popup, "title,text", _("Image Uploaded"));
-   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
    box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
@@ -1261,7 +1261,7 @@ _upload_image_confirm(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info
    
    popup = elm_popup_add(sb->ephoto->win);
    elm_object_part_text_set(popup, "title,text", _("Uploading..."));
-   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
    box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
@@ -1320,7 +1320,7 @@ _upload_image(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UN
 
    popup = elm_popup_add(sb->ephoto->win);
    elm_object_part_text_set(popup, "title,text", _("Upload Image"));
-   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP);
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
    box = elm_box_add(popup);
    elm_box_horizontal_set(box, EINA_FALSE);
@@ -1564,12 +1564,81 @@ _back(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 }
 
 static void
+_slideshow_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *popup = data;
+   Ephoto_Single_Browser *sb = evas_object_data_get(popup, "single_browser");
+
+   ephoto_config_slideshow(sb->ephoto);
+}
+
+static void
+_about_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *popup = data;
+   Ephoto_Single_Browser *sb = evas_object_data_get(popup, "single_browser");
+
+   ephoto_config_about(sb->ephoto);
+}
+
+static void
+_close_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *popup = data;
+
+   evas_object_del(popup);
+}
+
+static void
 _settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
 {
    Ephoto_Single_Browser *sb = data;
+   Evas_Object *popup, *list, *button, *ic;
+
+   popup = elm_popup_add(sb->ephoto->win);
+   elm_popup_scrollable_set(popup, EINA_TRUE);
+   elm_object_part_text_set(popup, "title,text", _("Settings Panel"));
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
 
-   if (sb->ephoto)
-     ephoto_config_window(sb->ephoto);
+   list = elm_list_add(popup);
+   evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_list_mode_set(list, ELM_LIST_EXPAND);
+
+   ic = elm_icon_add(list);
+   elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   elm_icon_standard_set(ic, "media-playback-start");
+   evas_object_show(ic);
+   elm_list_item_append(list, _("Slideshow Settings"), ic, NULL,
+                        _slideshow_settings, popup);
+
+   ic = elm_icon_add(list);
+   elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   elm_icon_standard_set(ic, "help-about");
+   evas_object_show(ic);
+   elm_list_item_append(list, _("About Ephoto"), ic, NULL,
+                        _about_settings, popup);
+
+   ic = elm_icon_add(popup);
+   elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   elm_icon_standard_set(ic, "window-close");
+
+   button = elm_button_add(popup);
+   elm_object_text_set(button, _("Close"));
+   elm_object_part_content_set(button, "icon", ic);
+   evas_object_smart_callback_add(button, "clicked", _close_settings, popup);
+   elm_object_part_content_set(popup, "button1", button);
+   evas_object_show(button);
+
+   elm_list_go(list);
+   evas_object_show(list);
+
+   evas_object_data_set(popup, "single_browser", sb);
+   elm_object_content_set(popup, list);
+   evas_object_show(popup);
 }
 
 static void
diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c
index 3882de5..0c13084 100644
--- a/src/bin/ephoto_thumb_browser.c
+++ b/src/bin/ephoto_thumb_browser.c
@@ -354,12 +354,81 @@ _slideshow(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSE
 }
 
 static void
+_slideshow_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *popup = data;
+   Ephoto_Thumb_Browser *tb = evas_object_data_get(popup, "thumb_browser");
+
+   ephoto_config_slideshow(tb->ephoto);
+}
+
+static void
+_about_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *popup = data;
+   Ephoto_Thumb_Browser *tb = evas_object_data_get(popup, "thumb_browser");
+
+   ephoto_config_about(tb->ephoto);
+}
+
+static void
+_close_settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   Evas_Object *popup = data;
+
+   evas_object_del(popup);
+}
+
+static void
 _settings(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
 {
    Ephoto_Thumb_Browser *tb = data;
+   Evas_Object *popup, *list, *button, *ic;
+
+   popup = elm_popup_add(tb->ephoto->win);
+   elm_popup_scrollable_set(popup, EINA_TRUE);
+   elm_object_part_text_set(popup, "title,text", _("Settings Panel"));
+   elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+   
+   list = elm_list_add(popup);
+   evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_list_mode_set(list, ELM_LIST_EXPAND);
+
+   ic = elm_icon_add(list);
+   elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   elm_icon_standard_set(ic, "media-playback-start");
+   evas_object_show(ic);
+   elm_list_item_append(list, _("Slideshow Settings"), ic, NULL,
+                        _slideshow_settings, popup);
+
+   ic = elm_icon_add(list);
+   elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   elm_icon_standard_set(ic, "help-about");
+   evas_object_show(ic);
+   elm_list_item_append(list, _("About Ephoto"), ic, NULL,
+                        _about_settings, popup);
+
+   ic = elm_icon_add(popup);
+   elm_icon_order_lookup_set(ic, ELM_ICON_LOOKUP_FDO_THEME);
+   evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+   elm_icon_standard_set(ic, "window-close");
+
+   button = elm_button_add(popup);
+   elm_object_text_set(button, _("Close"));
+   elm_object_part_content_set(button, "icon", ic);
+   evas_object_smart_callback_add(button, "clicked", _close_settings, popup);
+   elm_object_part_content_set(popup, "button1", button);
+   evas_object_show(button);
+
+   elm_list_go(list);
+   evas_object_show(list);
 
-   if (tb->ephoto)
-     ephoto_config_window(tb->ephoto);
+   evas_object_data_set(popup, "thumb_browser", tb);
+   elm_object_content_set(popup, list);
+   evas_object_show(popup);
 }
 
 static void
@@ -382,7 +451,8 @@ static void
 _ephoto_dir_hide_folders(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    Ephoto_Thumb_Browser *tb = data;
-   Evas_Object *icon, *max, *min, *but, *ic;
+   Elm_Object_Item *icon;
+   Evas_Object *max, *min, *but, *ic;
 
    evas_object_hide(tb->leftbox);
    elm_box_unpack(tb->main, tb->leftbox);

-- 


Reply via email to