diff --git a/data/themes/default/ephoto.edc b/data/themes/default/ephoto.edc index 84b1320..5dd1d3b 100644 --- a/data/themes/default/ephoto.edc +++ b/data/themes/default/ephoto.edc @@ -375,5 +375,67 @@ collections } } } + group + { + name: "ephoto/main/layout"; + parts { + part { + name: "ephoto.thumb.swallow"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1.to: "ephoto.location.swallow"; + rel1.relative: 0 1; + rel2.to: "ephoto.toolbar.swallow"; + rel2.relative: 1 0; + } + } + part { + name: "ephoto.location.swallow"; + type: SWALLOW; + description { + state: "default" 0.0; + rel2.relative: 1 0; + rel2.offset: 0 64; + + } + } + part { + name: "ephoto.toolbar.swallow"; + type: SWALLOW; + description { + color: 0 255 0 255; + state: "default" 0.0; + rel1.relative: 0 1; + rel1.offset: 0 -63; + } + } + } + } + group + { + name: "ephoto/flow/layout"; + parts { + part { + name: "ephoto.flow.swallow"; + type: SWALLOW; + description { + state: "default" 0.0; + rel2.to: "ephoto.toolbar.swallow"; + rel2.relative: 1 0; + } + } + part { + name: "ephoto.toolbar.swallow"; + type: SWALLOW; + description { + color: 0 255 0 255; + state: "default" 0.0; + rel1.relative: 0 1; + rel1.offset: 0 -63; + } + } + } + } } diff --git a/src/bin/ephoto.h b/src/bin/ephoto.h index 6446d51..a15e6f9 100644 --- a/src/bin/ephoto.h +++ b/src/bin/ephoto.h @@ -50,7 +50,8 @@ struct _Ephoto Evas *e; Evas_Object *win; Evas_Object *bg; - Evas_Object *box; + Evas_Object *box; + Evas_Object *layout; Evas_Object *flow_browser; Evas_Object *slideshow; Evas_Object *thumb_browser; diff --git a/src/bin/ephoto_flow_browser.c b/src/bin/ephoto_flow_browser.c index ca77a35..2cb1c12 100644 --- a/src/bin/ephoto_flow_browser.c +++ b/src/bin/ephoto_flow_browser.c @@ -43,9 +43,8 @@ _ephoto_go_update(void) efreet_mime_init(); - elm_box_unpack(em->flow_browser, image); - elm_box_unpack(em->flow_browser, image2); - elm_box_unpack(em->flow_browser, toolbar); + elm_layout_content_unset(em->flow_browser, "ephoto.flow.swallow"); + evas_object_hide(image); evas_object_hide(image2); @@ -53,16 +52,14 @@ _ephoto_go_update(void) if (file_type && !strcmp(file_type, "image/jpeg")) { elm_photocam_file_set(image, cur_image); - elm_box_pack_end(em->flow_browser, image); + elm_layout_content_set(em->flow_browser, "ephoto.flow.swallow", image); evas_object_show(image); } else { elm_image_file_set(image2, cur_image, NULL); - elm_box_pack_end(em->flow_browser, image2); + elm_layout_content_set(em->flow_browser, "ephoto.flow.swallow", image2); evas_object_show(image2); } - elm_box_pack_end(em->flow_browser, toolbar); - elm_toolbar_item_unselect_all(toolbar); efreet_mime_shutdown(); @@ -79,7 +76,10 @@ ephoto_create_flow_browser(void) { Evas_Object *o; - em->flow_browser = elm_box_add(em->win); + em->flow_browser = elm_layout_add(em->win); + elm_layout_file_set(em->flow_browser, + PACKAGE_DATA_DIR "/themes/default/ephoto.edj", + "ephoto/flow/layout"); elm_win_resize_object_add(em->win, em->flow_browser); evas_object_size_hint_weight_set(em->flow_browser, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(em->flow_browser, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -99,7 +99,7 @@ ephoto_create_flow_browser(void) elm_toolbar_homogenous_set(toolbar, EINA_TRUE); evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(em->flow_browser, toolbar); + elm_layout_content_set(em->flow_browser, "ephoto.flow.swallow", toolbar); evas_object_show(toolbar); o = elm_icon_add(em->win); @@ -161,7 +161,7 @@ ephoto_show_flow_browser(const char *current_image) elm_toolbar_item_disabled_set(o, EINA_TRUE); } } - elm_box_pack_end(em->flow_browser, toolbar); + elm_layout_content_set(em->flow_browser, "ephoto.toolbar.swallow", toolbar); evas_object_show(toolbar); evas_object_show(em->flow_browser); evas_object_focus_set(em->flow_browser, 1); diff --git a/src/bin/ephoto_main.c b/src/bin/ephoto_main.c index 3884b1e..6ce8a88 100644 --- a/src/bin/ephoto_main.c +++ b/src/bin/ephoto_main.c @@ -15,7 +15,7 @@ ephoto_create_main_window(const char *directory, const char *image) /*Setup the main window*/ em->win = elm_win_add(NULL, "ephoto", ELM_WIN_BASIC); elm_win_title_set(em->win, "Ephoto"); - evas_object_resize(em->win, 840, 530); + evas_object_show(em->win); /*Callback to close the main window*/ @@ -31,11 +31,15 @@ ephoto_create_main_window(const char *directory, const char *image) evas_object_size_hint_weight_set(em->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(em->bg); - em->box = elm_box_add(em->win); - elm_win_resize_object_add(em->win, em->box); - evas_object_size_hint_weight_set(em->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(em->box, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(em->box); + /* Add the main layout to the window */ + em->layout = elm_layout_add(em->win); + elm_layout_file_set(em->layout, + PACKAGE_DATA_DIR "/themes/default/ephoto.edj", + "ephoto/main/layout"); + elm_win_resize_object_add(em->win, em->layout); + evas_object_size_hint_weight_set(em->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_fill_set(em->layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(em->layout); ephoto_create_thumb_browser(directory); ephoto_create_flow_browser(); @@ -46,6 +50,8 @@ ephoto_create_main_window(const char *directory, const char *image) } else ephoto_show_thumb_browser(); + + evas_object_resize(em->win, 840, 530); } /*Delete the main ephoto window*/ @@ -54,7 +60,7 @@ _ephoto_delete_main_window(void *data, Evas_Object *obj, void *event_info) { ephoto_delete_thumb_browser(); ephoto_delete_flow_browser(); - evas_object_del(em->box); + evas_object_del(em->layout); evas_object_del(em->bg); if (em->images) eina_list_free(em->images); diff --git a/src/bin/ephoto_slideshow.c b/src/bin/ephoto_slideshow.c index 8ca0b46..0dc3777 100644 --- a/src/bin/ephoto_slideshow.c +++ b/src/bin/ephoto_slideshow.c @@ -34,7 +34,7 @@ ephoto_show_slideshow(int view, const char *current_image) return_view = view; cur_image = current_image; - evas_object_geometry_get(em->box, &x, &y, &w, &h); + evas_object_geometry_get(em->layout, &x, &y, &w, &h); evas_object_resize(em->slideshow, w, h); evas_object_move(em->slideshow, 0, 0); diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c index 0d5d319..c7a5983 100644 --- a/src/bin/ephoto_thumb_browser.c +++ b/src/bin/ephoto_thumb_browser.c @@ -57,7 +57,8 @@ ephoto_create_thumb_browser(const char *directory) elm_box_horizontal_set(thbox, EINA_TRUE); evas_object_size_hint_weight_set(thbox, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_size_hint_fill_set(thbox, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(em->box, thbox); + elm_layout_content_set(em->layout, "ephoto.location.swallow", thbox); + //elm_box_pack_end(em->box, thbox); dir_label = elm_label_add(em->win); elm_label_label_set(dir_label, current_directory); @@ -75,23 +76,26 @@ ephoto_create_thumb_browser(const char *directory) _ephoto_slider_changed, NULL); em->thumb_browser = elm_gengrid_add(em->win); - elm_gengrid_align_set(em->thumb_browser, 0.5, 0.6); + elm_gengrid_align_set(em->thumb_browser, 0.5, 0.5); elm_gengrid_item_size_set(em->thumb_browser, 208, 146); elm_gengrid_horizontal_set(em->thumb_browser, EINA_TRUE); evas_object_size_hint_align_set(em->thumb_browser, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(em->thumb_browser, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(em->thumb_browser, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_style_set(em->thumb_browser, "ephoto"); evas_object_smart_callback_add(em->thumb_browser, "clicked", _ephoto_thumb_clicked, NULL); - elm_box_pack_end(em->box, em->thumb_browser); + elm_layout_content_set(em->layout, "ephoto.thumb.swallow", em->thumb_browser); toolbar = elm_toolbar_add(em->win); elm_toolbar_icon_size_set(toolbar, 24); elm_toolbar_homogenous_set(toolbar, EINA_TRUE); elm_toolbar_scrollable_set(toolbar, EINA_FALSE); + evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(em->box, toolbar); + + elm_layout_content_set(em->layout, "ephoto.toolbar.swallow", toolbar); o = elm_icon_add(em->win); elm_icon_file_set(o, PACKAGE_DATA_DIR "/images/change_directory.png", NULL);