Ephoto: Implement open/closed folder icon changing and clean up some fdo icons.
This commit is contained in:
parent
5759135ad3
commit
9474ceaa00
|
@ -247,6 +247,7 @@ struct _Ephoto
|
|||
Evas_Object *pager;
|
||||
Evas_Object *statusbar;
|
||||
Evas_Object *folders_button;
|
||||
Evas_Object *folders_icon;
|
||||
Evas_Object *view_button;
|
||||
Evas_Object *controls_left;
|
||||
Evas_Object *controls_right;
|
||||
|
|
|
@ -240,7 +240,7 @@ _on_list_expand_req(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
static void
|
||||
_on_list_contract_req(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
_on_list_contract_req(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info)
|
||||
{
|
||||
Ephoto_Directory_Browser *db = data;
|
||||
|
@ -261,9 +261,13 @@ _on_list_expanded(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
|||
{
|
||||
Ephoto_Directory_Browser *db = data;
|
||||
Elm_Object_Item *it = event_info;
|
||||
Evas_Object *icon;
|
||||
Ephoto_Entry *entry;
|
||||
const char *path;
|
||||
|
||||
icon = elm_object_item_part_content_get(it, "elm.swallow.icon");
|
||||
elm_icon_standard_set(icon, "folder-open");
|
||||
|
||||
if (db->initializing)
|
||||
return;
|
||||
|
||||
|
@ -285,9 +289,13 @@ _on_list_contracted(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
|||
{
|
||||
Ephoto_Directory_Browser *db = data;
|
||||
Elm_Object_Item *it = event_info;
|
||||
Evas_Object *icon;
|
||||
Ephoto_Entry *entry;
|
||||
const char *path;
|
||||
|
||||
icon = elm_object_item_part_content_get(it, "elm.swallow.icon");
|
||||
elm_icon_standard_set(icon, "folder");
|
||||
|
||||
if (db->initializing)
|
||||
return;
|
||||
|
||||
|
@ -357,14 +365,26 @@ _dir_item_text_get(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
static Evas_Object *
|
||||
_dir_item_icon_get(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
_dir_item_icon_get(void *data, Evas_Object *obj,
|
||||
const char *part)
|
||||
{
|
||||
Ephoto_Entry *entry = data;
|
||||
|
||||
if (!strcmp(part, "elm.swallow.end"))
|
||||
return NULL;
|
||||
Evas_Object *ic = elm_icon_add(obj);
|
||||
|
||||
elm_icon_standard_set(ic, "folder");
|
||||
if (entry->item)
|
||||
{
|
||||
if (elm_genlist_item_expanded_get(entry->item))
|
||||
elm_icon_standard_set(ic, "folder-open");
|
||||
else
|
||||
elm_icon_standard_set(ic, "folder");
|
||||
}
|
||||
else
|
||||
{
|
||||
elm_icon_standard_set(ic, "folder");
|
||||
}
|
||||
return ic;
|
||||
}
|
||||
|
||||
|
|
|
@ -267,13 +267,15 @@ _folder_icon_clicked(void *data, Evas_Object *obj,
|
|||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Ephoto *ephoto = data;
|
||||
int ret = 0;
|
||||
|
||||
if (!ephoto->folders_toggle)
|
||||
{
|
||||
elm_panes_content_left_min_size_set(ephoto->layout, 0);
|
||||
elm_panes_content_left_size_set(ephoto->layout, ephoto->config->left_size);
|
||||
ephoto->folders_toggle = EINA_TRUE;
|
||||
if (elm_object_text_get(obj))
|
||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder-open");
|
||||
if (!ret)
|
||||
elm_object_text_set(obj, _("Hide Folders"));
|
||||
elm_object_tooltip_text_set(obj, _("Hide Folders"));
|
||||
}
|
||||
|
@ -282,7 +284,8 @@ _folder_icon_clicked(void *data, Evas_Object *obj,
|
|||
elm_panes_content_left_min_size_set(ephoto->layout, 0);
|
||||
elm_panes_content_left_size_set(ephoto->layout, 0.0);
|
||||
ephoto->folders_toggle = EINA_FALSE;
|
||||
if (elm_object_text_get(obj))
|
||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder");
|
||||
if (!ret)
|
||||
elm_object_text_set(obj, _("Show Folders"));
|
||||
elm_object_tooltip_text_set(obj, _("Show Folders"));
|
||||
}
|
||||
|
@ -333,13 +336,18 @@ _ephoto_left_pane_resized(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
void
|
||||
ephoto_show_folders(Ephoto *ephoto, Eina_Bool toggle)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
if (!ephoto->folders_toggle || !toggle)
|
||||
{
|
||||
elm_panes_content_left_min_size_set(ephoto->layout, 0);
|
||||
elm_panes_content_left_size_set(ephoto->layout, ephoto->config->left_size);
|
||||
evas_object_show(ephoto->dir_browser);
|
||||
ephoto->folders_toggle = EINA_TRUE;
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder-open");
|
||||
if (!ret)
|
||||
elm_object_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||
}
|
||||
else if (ephoto->folders_toggle)
|
||||
{
|
||||
|
@ -347,7 +355,10 @@ ephoto_show_folders(Ephoto *ephoto, Eina_Bool toggle)
|
|||
elm_panes_content_left_size_set(ephoto->layout, 0.0);
|
||||
evas_object_hide(ephoto->dir_browser);
|
||||
ephoto->folders_toggle = EINA_FALSE;
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Show Folders"));
|
||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder");
|
||||
if (!ret)
|
||||
elm_object_text_set(ephoto->folders_button, _("Show Folders"));
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Show Folders"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -476,6 +487,7 @@ ephoto_window_add(const char *path)
|
|||
20*elm_config_scale_get());
|
||||
ret = elm_icon_standard_set(ic, "folder");
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||
ephoto->folders_icon = ic;
|
||||
|
||||
but = elm_button_add(ephoto->statusbar);
|
||||
elm_object_part_content_set(but, "icon", ic);
|
||||
|
@ -624,14 +636,20 @@ ephoto_window_add(const char *path)
|
|||
elm_panes_content_left_min_size_set(ephoto->layout, 0);
|
||||
elm_panes_content_left_size_set(ephoto->layout, 0.0);
|
||||
ephoto->folders_toggle = EINA_FALSE;
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Show Folders"));
|
||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder");
|
||||
if (!ret)
|
||||
elm_object_text_set(ephoto->folders_button, _("Show Folders"));
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Show Folders"));
|
||||
}
|
||||
else
|
||||
{
|
||||
ephoto->folders_toggle = EINA_TRUE;
|
||||
elm_panes_content_left_min_size_set(ephoto->layout, 0);
|
||||
elm_panes_content_left_size_set(ephoto->layout, ephoto->config->left_size);
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||
ret = elm_icon_standard_set(ephoto->folders_icon, "folder-open");
|
||||
if (!ret)
|
||||
elm_object_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||
elm_object_tooltip_text_set(ephoto->folders_button, _("Hide Folders"));
|
||||
}
|
||||
if (ephoto->config->firstrun)
|
||||
{
|
||||
|
|
|
@ -1656,6 +1656,17 @@ _edit_function_item_add(Evas_Object *parent, const char *icon, const char *label
|
|||
evas_object_show(button);
|
||||
}
|
||||
|
||||
char *
|
||||
_item2_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED)
|
||||
{
|
||||
char *txt = data;
|
||||
|
||||
if (txt)
|
||||
return strdup(txt);
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char *
|
||||
_item_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part EINA_UNUSED)
|
||||
{
|
||||
|
@ -1696,6 +1707,7 @@ _edit_item_add(Evas_Object *parent, Elm_Object_Item *par, const char *icon, cons
|
|||
{
|
||||
Evas_Object *ic;
|
||||
Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
|
||||
Elm_Genlist_Item_Class *itc2 = elm_genlist_item_class_new();
|
||||
|
||||
itc = elm_genlist_item_class_new();
|
||||
itc->item_style = "default";
|
||||
|
@ -1704,15 +1716,30 @@ _edit_item_add(Evas_Object *parent, Elm_Object_Item *par, const char *icon, cons
|
|||
itc->func.state_get = NULL;
|
||||
itc->func.del = NULL;
|
||||
|
||||
ic = elm_icon_add(parent);
|
||||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
elm_icon_standard_set(ic, icon);
|
||||
evas_object_data_set(ic, "label", label);
|
||||
itc2 = elm_genlist_item_class_new();
|
||||
itc2->item_style = "no_icon";
|
||||
itc2->func.text_get = _item2_text_get;
|
||||
itc2->func.content_get = NULL;
|
||||
itc2->func.state_get = NULL;
|
||||
itc2->func.del = NULL;
|
||||
|
||||
elm_genlist_item_append(parent, itc, ic, par,
|
||||
ELM_GENLIST_ITEM_NONE, callback, data);
|
||||
if (icon)
|
||||
{
|
||||
ic = elm_icon_add(parent);
|
||||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
|
||||
elm_icon_standard_set(ic, icon);
|
||||
evas_object_data_set(ic, "label", label);
|
||||
|
||||
elm_genlist_item_append(parent, itc, ic, par,
|
||||
ELM_GENLIST_ITEM_NONE, callback, data);
|
||||
}
|
||||
else
|
||||
{
|
||||
elm_genlist_item_append(parent, itc2, label, par,
|
||||
ELM_GENLIST_ITEM_NONE, callback, data);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1786,43 +1813,43 @@ _editor_menu(void *data, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNU
|
|||
_go_flip_horiz, sb);
|
||||
_edit_item_add(list, par, "object-flip-vertical", _("Flip Vertical"),
|
||||
_go_flip_vert, sb);
|
||||
par = elm_genlist_item_append(list, itc, _("Color"), NULL, ELM_GENLIST_ITEM_GROUP,
|
||||
par = elm_genlist_item_append(list, itc, _("Adjustable Filters"), NULL, ELM_GENLIST_ITEM_GROUP,
|
||||
NULL, NULL);
|
||||
elm_genlist_item_select_mode_set(par, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
|
||||
_edit_item_add(list, par, "insert-image", _("Auto Equalize"),
|
||||
_go_auto_eq, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Brightness/Contrast/Gamma"),
|
||||
_edit_item_add(list, par, NULL, _("Brightness/Contrast/Gamma"),
|
||||
_go_bcg, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Hue/Saturation/Value"),
|
||||
_edit_item_add(list, par, NULL, _("Hue/Saturation/Value"),
|
||||
_go_hsv, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Color Levels"),
|
||||
_edit_item_add(list, par, NULL, _("Color Levels"),
|
||||
_go_color, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Red Eye Removal"),
|
||||
_edit_item_add(list, par, NULL, _("Red Eye Removal"),
|
||||
_go_reye, sb);
|
||||
par = elm_genlist_item_append(list, itc, _("Filters"), NULL, ELM_GENLIST_ITEM_GROUP,
|
||||
par = elm_genlist_item_append(list, itc, _("Quick Filters"), NULL, ELM_GENLIST_ITEM_GROUP,
|
||||
NULL, NULL);
|
||||
elm_genlist_item_select_mode_set(par, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
|
||||
_edit_item_add(list, par, "insert-image", _("Black and White"),
|
||||
_edit_item_add(list, par, NULL, _("Auto Equalize"),
|
||||
_go_auto_eq, sb);
|
||||
_edit_item_add(list, par, NULL, _("Black and White"),
|
||||
_go_black_and_white, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Blur"),
|
||||
_edit_item_add(list, par, NULL, _("Blur"),
|
||||
_go_blur, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Dither"),
|
||||
_edit_item_add(list, par, NULL, _("Dither"),
|
||||
_go_dither, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Edge Detect"),
|
||||
_edit_item_add(list, par, NULL, _("Edge Detect"),
|
||||
_go_edge, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Emboss"),
|
||||
_edit_item_add(list, par, NULL, _("Emboss"),
|
||||
_go_emboss, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Invert Colors"),
|
||||
_edit_item_add(list, par, NULL, _("Invert Colors"),
|
||||
_go_invert, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Old Photo"),
|
||||
_edit_item_add(list, par, NULL, _("Old Photo"),
|
||||
_go_old_photo, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Painting"),
|
||||
_edit_item_add(list, par, NULL, _("Painting"),
|
||||
_go_painting, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Posterize"),
|
||||
_edit_item_add(list, par, NULL, _("Posterize"),
|
||||
_go_posterize, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Sharpen"),
|
||||
_edit_item_add(list, par, NULL, _("Sharpen"),
|
||||
_go_sharpen, sb);
|
||||
_edit_item_add(list, par, "insert-image", _("Sketch"),
|
||||
_edit_item_add(list, par, NULL, _("Sketch"),
|
||||
_go_sketch, sb);
|
||||
|
||||
vbox = elm_box_add(box);
|
||||
|
@ -1864,8 +1891,8 @@ _add_edit_menu_items(Ephoto_Single_Browser *sb, Evas_Object *menu)
|
|||
{
|
||||
Elm_Object_Item *menu_it;
|
||||
|
||||
menu_it = elm_menu_item_add(menu, NULL, "insert-image", _("File"), NULL, NULL);
|
||||
elm_menu_item_add(menu, menu_it, "insert-image", _("Edit"), _editor_menu, sb);
|
||||
menu_it = elm_menu_item_add(menu, NULL, "document-properties", _("File"), NULL, NULL);
|
||||
elm_menu_item_add(menu, menu_it, "edit-cut", _("Edit"), _editor_menu, sb);
|
||||
elm_menu_item_add(menu, menu_it, "edit-clear", _("Reset"), _reset_image, sb);
|
||||
elm_menu_item_add(menu, menu_it, "document-save", _("Save"), _save_image, sb);
|
||||
elm_menu_item_add(menu, menu_it, "document-save-as", _("Save As"),
|
||||
|
@ -2373,11 +2400,11 @@ ephoto_single_browser_show_controls(Ephoto *ephoto)
|
|||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
ret = elm_icon_standard_set(ic, "view-list-icons");
|
||||
if (!ret)
|
||||
ret = elm_image_file_set(ic, PACKAGE_DATA_DIR "/images/grid.png", NULL);
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||
|
||||
but = elm_button_add(ephoto->statusbar);
|
||||
if (!ret)
|
||||
elm_object_text_set(but, _("View Thumbnails"));
|
||||
elm_object_part_content_set(but, "icon", ic);
|
||||
elm_object_tooltip_text_set(but, _("View Thumbnails"));
|
||||
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_TOP);
|
||||
|
@ -2387,9 +2414,6 @@ ephoto_single_browser_show_controls(Ephoto *ephoto)
|
|||
|
||||
ephoto->view_button = but;
|
||||
|
||||
elm_object_tooltip_text_set(ephoto->view_button, _("View Thumbnails"));
|
||||
evas_object_smart_callback_add(ephoto->view_button, "clicked", _ephoto_main_back, sb);
|
||||
|
||||
ic = elm_icon_add(ephoto->controls_left);
|
||||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
|
@ -2489,7 +2513,7 @@ ephoto_single_browser_show_controls(Ephoto *ephoto)
|
|||
ic = elm_icon_add(ephoto->controls_right);
|
||||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
ret = elm_icon_standard_set(ic, "insert-image");
|
||||
ret = elm_icon_standard_set(ic, "edit-cut");
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||
|
||||
but = elm_button_add(ephoto->controls_right);
|
||||
|
|
|
@ -759,10 +759,6 @@ _add_icon(Evas_Object *parent, const char *icon, const char *label, Evas_Object
|
|||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
ret = elm_icon_standard_set(ic, icon);
|
||||
if (!ret && !strcmp(icon, "view-list-details"))
|
||||
ret = elm_image_file_set(ic, PACKAGE_DATA_DIR "/images/single.png", NULL);
|
||||
else if (!ret && !strcmp(icon, "view-list-icons"))
|
||||
ret = elm_image_file_set(ic, PACKAGE_DATA_DIR "/images/grid.png", NULL);
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||
|
||||
but = elm_button_add(parent);
|
||||
|
@ -836,10 +832,7 @@ ephoto_slideshow_show_controls(Ephoto *ephoto)
|
|||
elm_object_content_set(ss->notify, ss->notify_box);
|
||||
evas_object_show(ss->notify_box);
|
||||
|
||||
if (ephoto->prev_state == EPHOTO_STATE_SINGLE)
|
||||
but = _add_icon(ss->notify_box, "view-list-details", _("Back"), NULL);
|
||||
else
|
||||
but = _add_icon(ss->notify_box, "view-list-icons", _("Back"), NULL);
|
||||
but = _add_icon(ss->notify_box, "edit-undo", _("Back"), NULL);
|
||||
evas_object_smart_callback_add(but, "clicked", _back, ss);
|
||||
but = _add_icon(ss->notify_box, "go-first", _("First"), NULL);
|
||||
evas_object_smart_callback_add(but, "clicked", _first, ss);
|
||||
|
|
|
@ -2029,14 +2029,14 @@ ephoto_thumb_browser_show_controls(Ephoto *ephoto)
|
|||
ic = elm_icon_add(ephoto->statusbar);
|
||||
evas_object_size_hint_min_set(ic, 20*elm_config_scale_get(),
|
||||
20*elm_config_scale_get());
|
||||
ret = elm_icon_standard_set(ic, "view-list-details");
|
||||
if (!ret)
|
||||
ret = elm_image_file_set(ic, PACKAGE_DATA_DIR "/images/single.png", NULL);
|
||||
ret = elm_icon_standard_set(ic, "document-open");
|
||||
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
|
||||
|
||||
but = elm_button_add(ephoto->statusbar);
|
||||
if (!ret)
|
||||
elm_object_text_set(but, _("View Image"));
|
||||
elm_object_part_content_set(but, "icon", ic);
|
||||
elm_object_tooltip_text_set(but, _("View Images"));
|
||||
elm_object_tooltip_text_set(but, _("View Image"));
|
||||
elm_object_tooltip_orient_set(but, ELM_TOOLTIP_ORIENT_TOP);
|
||||
evas_object_smart_callback_add(but, "clicked", _view_single, tb);
|
||||
elm_box_pack_after(ephoto->statusbar, but, ephoto->folders_button);
|
||||
|
|
Loading…
Reference in New Issue