Change ephoto to use an edje layout instead of elm boxes.

SVN revision: 52191
This commit is contained in:
Nicolas Aguirre 2010-09-13 16:29:39 +00:00
parent 7f5a6d874f
commit a13304ff1d
6 changed files with 96 additions and 23 deletions

View File

@ -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;
}
}
}
}
}

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);