okra pushed a commit to branch master.

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

commit c3c0fe23d44d179446a96806b5ec24bea6058bb2
Author: Stephen Houston <smhousto...@gmail.com>
Date:   Sun Mar 6 11:18:45 2016 -0600

    Ephoto: Factor out some common code.
---
 src/bin/ephoto_single_browser.c | 208 +++++++++++-----------------------------
 1 file changed, 55 insertions(+), 153 deletions(-)

diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index fef1e02..f59ea77 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -375,10 +375,43 @@ _viewer_zoom_fit(Evas_Object *obj)
 }
 
 static void
+_create_bottom_bar(Ephoto_Single_Browser *sb)
+{
+   Evas_Object *button, *ic;
+
+   sb->botbox = elm_box_add(sb->table);
+   elm_box_horizontal_set(sb->botbox, EINA_TRUE);
+   evas_object_size_hint_weight_set(sb->botbox, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_fill_set(sb->botbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_table_pack(sb->table, sb->botbox, 0, 2, 4, 1);
+   evas_object_show(sb->botbox);
+
+   ic = elm_icon_add(sb->botbox);
+   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, "go-previous");
+
+   button = elm_button_add(sb->botbox);
+   elm_object_text_set(button, _("Back"));
+   elm_object_part_content_set(button, "icon", ic);
+   evas_object_smart_callback_add(button, "clicked", _back, sb);
+   elm_box_pack_end(sb->botbox, button);
+   evas_object_show(button);
+
+   sb->infolabel = elm_label_add(sb->botbox);
+   elm_label_line_wrap_set(sb->infolabel, ELM_WRAP_NONE);
+   evas_object_size_hint_weight_set(sb->infolabel, EVAS_HINT_EXPAND,
+       EVAS_HINT_FILL);
+   evas_object_size_hint_align_set(sb->infolabel, EVAS_HINT_FILL,
+       EVAS_HINT_FILL);
+   elm_box_pack_end(sb->botbox, sb->infolabel);
+   evas_object_show(sb->infolabel);
+}
+
+static void
 _orient_apply(Ephoto_Single_Browser *sb)
 {
    Ephoto_Viewer *v = evas_object_data_get(sb->viewer, "viewer");
-   Evas_Object *button, *ic;
    char image_info[PATH_MAX];
    int w, h;
 
@@ -433,39 +466,12 @@ _orient_apply(Ephoto_Single_Browser *sb)
 
    evas_object_del(sb->infolabel);
    evas_object_del(sb->botbox);
+   _create_bottom_bar(sb);
    snprintf(image_info, PATH_MAX,
        "<b>%s:</b> %s        <b>%s:</b> %dx%d        <b>%s:</b> %s", _("Type"),
        efreet_mime_type_get(sb->entry->path), _("Resolution"), w, h,
        _("File Size"), _("N/A"));
-
-   sb->botbox = elm_box_add(sb->table);
-   elm_box_horizontal_set(sb->botbox, EINA_TRUE);
-   evas_object_size_hint_weight_set(sb->botbox, EVAS_HINT_EXPAND, 0.0);
-   evas_object_size_hint_fill_set(sb->botbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   elm_table_pack(sb->table, sb->botbox, 0, 2, 4, 1);
-   evas_object_show(sb->botbox);
-
-   ic = elm_icon_add(sb->botbox);
-   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, "go-previous");
-
-   button = elm_button_add(sb->botbox);
-   elm_object_text_set(button, _("Back"));
-   elm_object_part_content_set(button, "icon", ic);
-   evas_object_smart_callback_add(button, "clicked", _back, sb);
-   elm_box_pack_end(sb->botbox, button);
-   evas_object_show(button);
-
-   sb->infolabel = elm_label_add(sb->botbox);
-   elm_label_line_wrap_set(sb->infolabel, ELM_WRAP_NONE);
    elm_object_text_set(sb->infolabel, image_info);
-   evas_object_size_hint_weight_set(sb->infolabel, EVAS_HINT_EXPAND,
-       EVAS_HINT_FILL);
-   evas_object_size_hint_align_set(sb->infolabel, EVAS_HINT_FILL,
-       EVAS_HINT_FILL);
-   elm_box_pack_end(sb->botbox, sb->infolabel);
-   evas_object_show(sb->infolabel);
 
    if (v->fit)
       _viewer_zoom_fit_apply(v);
@@ -748,7 +754,6 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
          {
             char image_info[PATH_MAX], *tmp;
             Evas_Coord w, h;
-             Evas_Object *button, *ic;
             Ephoto_Viewer *v = evas_object_data_get(sb->viewer, "viewer");
 
             elm_table_pack(sb->table, sb->viewer, 0, 1, 4, 1);
@@ -765,34 +770,8 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
                 _("Resolution"), w, h, _("File Size"), tmp);
             free(tmp);
 
-             sb->botbox = elm_box_add(sb->table);
-             elm_box_horizontal_set(sb->botbox, EINA_TRUE);
-             evas_object_size_hint_weight_set(sb->botbox, EVAS_HINT_EXPAND, 
0.0);
-             evas_object_size_hint_fill_set(sb->botbox, EVAS_HINT_FILL, 
EVAS_HINT_FILL);
-             elm_table_pack(sb->table, sb->botbox, 0, 2, 4, 1);
-             evas_object_show(sb->botbox);
-
-             ic = elm_icon_add(sb->botbox);
-             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, "go-previous");
-
-             button = elm_button_add(sb->botbox);
-             elm_object_text_set(button, _("Back"));
-             elm_object_part_content_set(button, "icon", ic);
-             evas_object_smart_callback_add(button, "clicked", _back, sb);
-             elm_box_pack_end(sb->botbox, button);
-             evas_object_show(button); 
-
-            sb->infolabel = elm_label_add(sb->botbox);
-            elm_label_line_wrap_set(sb->infolabel, ELM_WRAP_NONE);
+             _create_bottom_bar(sb);             
             elm_object_text_set(sb->infolabel, image_info);
-            evas_object_size_hint_weight_set(sb->infolabel, EVAS_HINT_EXPAND,
-                EVAS_HINT_FILL);
-            evas_object_size_hint_align_set(sb->infolabel, EVAS_HINT_FILL,
-                EVAS_HINT_FILL);
-            elm_box_pack_end(sb->botbox, sb->infolabel);
-            evas_object_show(sb->infolabel);
 
             ephoto_title_set(sb->ephoto, bname);
 
@@ -2248,14 +2227,10 @@ _menu_dismissed_cb(void *data, Evas_Object *obj,
 }
 
 static void
-_edit_menu(Ephoto_Single_Browser *sb)
+_add_edit_menu_items(Ephoto_Single_Browser *sb, Evas_Object *menu)
 {
-   Evas_Object *menu, *menu_it;
-   int x, y;
+   Evas_Object *menu_it;
 
-   evas_pointer_canvas_xy_get(evas_object_evas_get(sb->main), &x, &y);
-   menu = elm_menu_add(sb->main);
-   elm_menu_move(menu, x, y);
    elm_menu_item_add(menu, NULL, "edit-undo", _("Reset"), _reset_image, sb);
    elm_menu_item_add(menu, NULL, "document-save", _("Save"), _save_image, sb);
    elm_menu_item_add(menu, NULL, "document-save-as", _("Save As"),
@@ -2317,6 +2292,20 @@ _edit_menu(Ephoto_Single_Browser *sb)
        _go_black_and_white, sb);
    elm_menu_item_add(menu, menu_it, "insert-image", _("Old Photo"),
        _go_old_photo, sb);
+}
+
+static void
+_edit_menu(Ephoto_Single_Browser *sb)
+{
+   Evas_Object *menu;
+   int x, y;
+
+   evas_pointer_canvas_xy_get(evas_object_evas_get(sb->main), &x, &y);
+   menu = elm_menu_add(sb->main);
+   elm_menu_move(menu, x, y);
+
+   _add_edit_menu_items(sb, menu);
+   
    evas_object_smart_callback_add(menu, "dismissed", _menu_dismissed_cb,
        sb);
    evas_object_show(menu);
@@ -2577,7 +2566,7 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object 
*parent)
 {
    Evas_Object *box = elm_box_add(parent);
    Elm_Object_Item *icon;
-   Evas_Object *menu, *menu_it;
+   Evas_Object *menu;
    Ephoto_Single_Browser *sb;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(box, NULL);
@@ -2624,67 +2613,7 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object 
*parent)
    elm_toolbar_menu_parent_set(sb->bar, sb->ephoto->win);
    menu = elm_toolbar_item_menu_get(icon);
 
-   elm_menu_item_add(menu, NULL, "edit-undo", _("Reset"), _reset_image, sb);
-   sb->save = elm_menu_item_add(menu, NULL, "document-save", _("Save"), 
_save_image, sb);
-   elm_menu_item_add(menu, NULL, "document-save-as", _("Save As"),
-       _save_image_as, sb);
-   elm_menu_item_add(menu, NULL, "document-send", _("Upload"), _upload_image,
-       sb);
-   elm_menu_item_add(menu, NULL, "edit-delete", _("Delete"),
-            _delete_image, sb);
-   elm_menu_item_separator_add(menu, NULL);
-
-   menu_it =
-       elm_menu_item_add(menu, NULL, "document-properties", _("Transform"),
-       NULL, NULL);
-   elm_menu_item_add(menu, menu_it, "edit-cut", _("Crop"), _crop_image, sb);
-   elm_menu_item_separator_add(menu, menu_it);
-   elm_menu_item_add(menu, menu_it, "object-rotate-left", _("Rotate Left"),
-       _go_rotate_counterclock, sb);
-   elm_menu_item_add(menu, menu_it, "object-rotate-right", _("Rotate Right"),
-       _go_rotate_clock, sb);
-   elm_menu_item_add(menu, menu_it, "object-flip-horizontal",
-       _("Flip Horizontal"), _go_flip_horiz, sb);
-   elm_menu_item_add(menu, menu_it, "object-flip-vertical", _("Flip Vertical"),
-       _go_flip_vert, sb);
-   elm_menu_item_separator_add(menu, NULL);
-
-   menu_it =
-       elm_menu_item_add(menu, NULL, "zoom-in", _("Zoom"), NULL, NULL);  
-   elm_menu_item_add(menu, menu_it, "zoom-in", _("Zoom In"), _zoom_in_cb,
-       sb);
-   elm_menu_item_add(menu, menu_it, "zoom-out", _("Zoom Out"), _zoom_out_cb,
-       sb);
-   elm_menu_item_add(menu, menu_it, "zoom-fit-best", _("Zoom Fit"),
-       _zoom_fit_cb, sb);
-   elm_menu_item_add(menu, menu_it, "zoom-original", _("Zoom 1:1"),
-       _zoom_1_cb, sb);
-   elm_menu_item_separator_add(menu, NULL);
-
-   menu_it =
-       elm_menu_item_add(menu, NULL, "document-properties", _("Color"), NULL,
-       NULL);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Auto Equalize"),
-       _go_auto_eq, sb);
-   elm_menu_item_separator_add(menu, menu_it);
-   elm_menu_item_add(menu, menu_it, "insert-image",
-       _("Brightness/Contrast/Gamma"), _go_bcg, sb);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Hue/Saturation/Value"),
-       _go_hsv, sb);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Color Levels"),
-       _go_color, sb);
-
-   menu_it =
-       elm_menu_item_add(menu, NULL, "document-properties", _("Filters"), NULL,
-       NULL);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Blur"), _go_blur, sb);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Sharpen"), _go_sharpen,
-       sb);
-   elm_menu_item_separator_add(menu, menu_it);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Black and White"),
-       _go_black_and_white, sb);
-   elm_menu_item_add(menu, menu_it, "insert-image", _("Old Photo"),
-       _go_old_photo, sb);
+   _add_edit_menu_items(sb, menu);
 
    elm_toolbar_item_append(sb->bar, "go-first", _("First"), _go_first, sb);
    elm_toolbar_item_append(sb->bar, "go-previous", _("Previous"), _go_prev, 
sb);
@@ -2850,7 +2779,6 @@ ephoto_single_browser_image_data_update(Evas_Object 
*main, Evas_Object *image,
        if (finished)
          {
             char image_info[PATH_MAX];
-             Evas_Object *button, *ic;
 
             evas_object_del(sb->infolabel);
              evas_object_del(sb->botbox);
@@ -2859,34 +2787,8 @@ ephoto_single_browser_image_data_update(Evas_Object 
*main, Evas_Object *image,
                 _("Type"), efreet_mime_type_get(sb->entry->path),
                 _("Resolution"), w, h, _("File Size"), _("N/A"));
 
-             sb->botbox = elm_box_add(sb->table);
-             elm_box_horizontal_set(sb->botbox, EINA_TRUE);
-             evas_object_size_hint_weight_set(sb->botbox, EVAS_HINT_EXPAND, 
0.0);
-             evas_object_size_hint_fill_set(sb->botbox, EVAS_HINT_FILL, 
EVAS_HINT_FILL);
-             elm_table_pack(sb->table, sb->botbox, 0, 2, 4, 1);
-             evas_object_show(sb->botbox);
-
-             ic = elm_icon_add(sb->botbox);
-             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, "go-previous");
-
-             button = elm_button_add(sb->botbox);
-             elm_object_text_set(button, _("Back"));
-             elm_object_part_content_set(button, "icon", ic);
-             evas_object_smart_callback_add(button, "clicked", _back, sb);
-             elm_box_pack_end(sb->botbox, button);
-             evas_object_show(button);
-
-            sb->infolabel = elm_label_add(sb->botbox);
-            elm_label_line_wrap_set(sb->infolabel, ELM_WRAP_NONE);
+             _create_bottom_bar(sb);
             elm_object_text_set(sb->infolabel, image_info);
-            evas_object_size_hint_weight_set(sb->infolabel, EVAS_HINT_EXPAND,
-                EVAS_HINT_FILL);
-            evas_object_size_hint_align_set(sb->infolabel, EVAS_HINT_FILL,
-                EVAS_HINT_FILL);
-            elm_box_pack_end(sb->botbox, sb->infolabel);
-            evas_object_show(sb->infolabel);
 
             sb->edited_image_data = image_data;
             sb->ew = w;

-- 


Reply via email to