Ephoto: Make the Save As dialog use a popup to match all other dialogs.
This commit is contained in:
parent
485d0342d7
commit
c34f579eea
|
@ -1075,17 +1075,29 @@ static void
|
||||||
_save_image_as(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
_save_image_as(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Ephoto_Single_Browser *sb = data;
|
Ephoto_Single_Browser *sb = data;
|
||||||
Evas_Object *win, *box, *fsel;
|
Evas_Object *popup, *frame, *fsel, *rect, *table;
|
||||||
|
int h;
|
||||||
|
|
||||||
win = elm_win_inwin_add(sb->ephoto->win);
|
evas_object_geometry_get(sb->ephoto->win, 0, 0, 0, &h);
|
||||||
evas_object_show(win);
|
|
||||||
|
|
||||||
box = elm_box_add(win);
|
popup = elm_popup_add(sb->ephoto->win);
|
||||||
elm_box_horizontal_set(box, EINA_FALSE);
|
elm_popup_scrollable_set(popup, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
elm_object_part_text_set(popup, "title,text", _("Save Image As"));
|
||||||
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
||||||
|
|
||||||
fsel = elm_fileselector_add(box);
|
table = elm_table_add(popup);
|
||||||
|
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);
|
||||||
|
|
||||||
|
rect = evas_object_rectangle_add(evas_object_evas_get(popup));
|
||||||
|
evas_object_color_set(rect, 0, 0, 0, 0);
|
||||||
|
evas_object_size_hint_min_set(rect, 0, h/1.5);
|
||||||
|
evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_fill_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_table_pack(table, rect, 0, 0, 1, 1);
|
||||||
|
evas_object_show(rect);
|
||||||
|
|
||||||
|
fsel = elm_fileselector_add(table);
|
||||||
elm_fileselector_is_save_set(fsel, EINA_TRUE);
|
elm_fileselector_is_save_set(fsel, EINA_TRUE);
|
||||||
elm_fileselector_expandable_set(fsel, EINA_FALSE);
|
elm_fileselector_expandable_set(fsel, EINA_FALSE);
|
||||||
elm_fileselector_path_set(fsel, sb->ephoto->config->directory);
|
elm_fileselector_path_set(fsel, sb->ephoto->config->directory);
|
||||||
|
@ -1093,13 +1105,14 @@ _save_image_as(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_U
|
||||||
elm_fileselector_mime_types_filter_append(fsel, "image/*", _("Image Files"));
|
elm_fileselector_mime_types_filter_append(fsel, "image/*", _("Image Files"));
|
||||||
evas_object_size_hint_weight_set(fsel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(fsel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(fsel, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(fsel, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
evas_object_smart_callback_add(fsel, "done", _save_image_as_done, win);
|
evas_object_smart_callback_add(fsel, "done", _save_image_as_done, popup);
|
||||||
elm_box_pack_end(box, fsel);
|
elm_table_pack(table, fsel, 0, 0, 1, 1);
|
||||||
evas_object_show(fsel);
|
evas_object_show(fsel);
|
||||||
|
|
||||||
evas_object_show(box);
|
evas_object_show(table);
|
||||||
evas_object_data_set(win, "single_browser", sb);
|
evas_object_data_set(popup, "single_browser", sb);
|
||||||
elm_win_inwin_content_set(win, box);
|
elm_object_content_set(popup, table);
|
||||||
|
evas_object_show(popup);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue