Ephoto: lineup info label and hide button, change panel from single browser to top toolbar.

This commit is contained in:
Stephen Houston 2015-01-25 14:15:06 -06:00
parent 3c02d02b75
commit e57ff81632
4 changed files with 24 additions and 37 deletions

View File

@ -99,8 +99,6 @@ struct _Ephoto_Config
const char *editor; const char *editor;
int window_width; int window_width;
int window_height; int window_height;
int thumb_browser_panel;
int single_browser_panel;
Evas_Object *window; Evas_Object *window;
Evas_Object *slide_time; Evas_Object *slide_time;
Evas_Object *slide_trans; Evas_Object *slide_trans;

View File

@ -1,6 +1,6 @@
#include "ephoto.h" #include "ephoto.h"
#define CONFIG_VERSION 8 #define CONFIG_VERSION 9
static int _ephoto_config_load(Ephoto *ephoto); static int _ephoto_config_load(Ephoto *ephoto);
static Eina_Bool _ephoto_on_config_save(void *data); static Eina_Bool _ephoto_on_config_save(void *data);
@ -38,8 +38,6 @@ ephoto_config_init(Ephoto *ephoto)
C_VAL(D, T, editor, EET_T_STRING); C_VAL(D, T, editor, EET_T_STRING);
C_VAL(D, T, window_width, EET_T_INT); C_VAL(D, T, window_width, EET_T_INT);
C_VAL(D, T, window_height, EET_T_INT); C_VAL(D, T, window_height, EET_T_INT);
C_VAL(D, T, thumb_browser_panel, EET_T_INT);
C_VAL(D, T, single_browser_panel, EET_T_INT);
switch (_ephoto_config_load(ephoto)) switch (_ephoto_config_load(ephoto))
{ {
@ -51,8 +49,6 @@ ephoto_config_init(Ephoto *ephoto)
ephoto->config->editor = eina_stringshare_add("gimp %s"); ephoto->config->editor = eina_stringshare_add("gimp %s");
ephoto->config->window_width = 900; ephoto->config->window_width = 900;
ephoto->config->window_height = 600; ephoto->config->window_height = 600;
ephoto->config->thumb_browser_panel = 0;
ephoto->config->single_browser_panel = 0;
break; break;
default: default:
return EINA_TRUE; return EINA_TRUE;

View File

@ -13,7 +13,6 @@ struct _Ephoto_Single_Browser
Evas_Object *main; Evas_Object *main;
Evas_Object *bar; Evas_Object *bar;
Evas_Object *table; Evas_Object *table;
Evas_Object *panel;
Evas_Object *viewer; Evas_Object *viewer;
Evas_Object *infolabel; Evas_Object *infolabel;
Evas_Object *nolabel; Evas_Object *nolabel;
@ -521,7 +520,7 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
"<b>Type:</b> %s <b>Resolution:</b> %dx%d <b>File Size: </b>%s", "<b>Type:</b> %s <b>Resolution:</b> %dx%d <b>File Size: </b>%s",
efreet_mime_type_get(sb->entry->path), w, h, isize); efreet_mime_type_get(sb->entry->path), w, h, isize);
elm_table_pack(sb->table, sb->viewer, 0, 0, 4, 1); elm_table_pack(sb->table, sb->viewer, 0, 1, 4, 1);
evas_object_show(sb->viewer); evas_object_show(sb->viewer);
evas_object_event_callback_add evas_object_event_callback_add
(sb->viewer, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel, sb); (sb->viewer, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel, sb);
@ -531,7 +530,7 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
elm_object_text_set(sb->infolabel, image_info); 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_weight_set(sb->infolabel, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
evas_object_size_hint_align_set(sb->infolabel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(sb->infolabel, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(sb->table, sb->infolabel, 0, 1, 4, 1); elm_table_pack(sb->table, sb->infolabel, 0, 2, 4, 1);
evas_object_show(sb->infolabel); evas_object_show(sb->infolabel);
ephoto_title_set(sb->ephoto, bname); ephoto_title_set(sb->ephoto, bname);
@ -543,11 +542,11 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
elm_object_text_set(sb->nolabel, "This image does not exist or is corrupted"); elm_object_text_set(sb->nolabel, "This image does not exist or is corrupted");
evas_object_size_hint_weight_set(sb->nolabel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(sb->nolabel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(sb->nolabel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(sb->nolabel, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(sb->table, sb->nolabel, 0, 0, 4, 1); elm_table_pack(sb->table, sb->nolabel, 0, 1, 4, 1);
evas_object_show(sb->nolabel); evas_object_show(sb->nolabel);
ephoto_title_set(sb->ephoto, "Bad Image"); ephoto_title_set(sb->ephoto, "Bad Image");
} }
elm_table_pack(sb->table, sb->panel, 0, 0, 1, 2); elm_table_pack(sb->table, sb->bar, 0, 0, 4, 1);
} }
elm_object_focus_set(sb->main, EINA_TRUE); elm_object_focus_set(sb->main, EINA_TRUE);
@ -826,11 +825,6 @@ _main_del(void *data, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *eve
Ephoto_Single_Browser *sb = data; Ephoto_Single_Browser *sb = data;
Ecore_Event_Handler *handler; Ecore_Event_Handler *handler;
if (elm_panel_hidden_get(sb->panel))
sb->ephoto->config->single_browser_panel = 1;
else
sb->ephoto->config->single_browser_panel = 0;
EINA_LIST_FREE(sb->handlers, handler) EINA_LIST_FREE(sb->handlers, handler)
ecore_event_handler_del(handler); ecore_event_handler_del(handler);
if (sb->entry) if (sb->entry)
@ -894,24 +888,13 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent)
elm_box_pack_end(sb->main, sb->table); elm_box_pack_end(sb->main, sb->table);
evas_object_show(sb->table); evas_object_show(sb->table);
sb->panel = elm_panel_add(sb->table); sb->bar = elm_toolbar_add(sb->table);
EINA_SAFETY_ON_NULL_GOTO(sb->panel, error);
elm_panel_orient_set(sb->panel, ELM_PANEL_ORIENT_LEFT);
evas_object_size_hint_weight_set(sb->panel, 0.0, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(sb->panel, EVAS_HINT_FILL, EVAS_HINT_FILL);
if (sb->ephoto->config->single_browser_panel)
elm_panel_hidden_set(sb->panel, EINA_TRUE);
else
elm_panel_hidden_set(sb->panel, EINA_FALSE);
elm_table_pack(sb->table, sb->panel, 0, 0, 1, 2);
evas_object_show(sb->panel);
sb->bar = elm_toolbar_add(sb->panel);
EINA_SAFETY_ON_NULL_GOTO(sb->bar, error); EINA_SAFETY_ON_NULL_GOTO(sb->bar, error);
elm_toolbar_horizontal_set(sb->bar, EINA_FALSE); elm_toolbar_horizontal_set(sb->bar, EINA_TRUE);
elm_toolbar_homogeneous_set(sb->bar, EINA_FALSE);
elm_toolbar_shrink_mode_set(sb->bar, ELM_TOOLBAR_SHRINK_SCROLL); elm_toolbar_shrink_mode_set(sb->bar, ELM_TOOLBAR_SHRINK_SCROLL);
elm_toolbar_select_mode_set(sb->bar, ELM_OBJECT_SELECT_MODE_NONE); elm_toolbar_select_mode_set(sb->bar, ELM_OBJECT_SELECT_MODE_NONE);
evas_object_size_hint_weight_set(sb->bar, 0.0, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(sb->bar, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(sb->bar, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(sb->bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
icon = elm_toolbar_item_append(sb->bar, "go-home", "Back", _back, sb); icon = elm_toolbar_item_append(sb->bar, "go-home", "Back", _back, sb);
@ -970,7 +953,7 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent)
icon = elm_toolbar_item_append(sb->bar, "help-about", "About", _about, sb); icon = elm_toolbar_item_append(sb->bar, "help-about", "About", _about, sb);
elm_toolbar_item_priority_set(icon, 0); elm_toolbar_item_priority_set(icon, 0);
elm_object_content_set(sb->panel, sb->bar); elm_table_pack(sb->table, sb->bar, 0, 0, 4, 1);
evas_object_show(sb->bar); evas_object_show(sb->bar);
sb->handlers = eina_list_append sb->handlers = eina_list_append

View File

@ -759,8 +759,8 @@ Evas_Object *
ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent) ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
{ {
Evas_Object *box = elm_box_add(parent); Evas_Object *box = elm_box_add(parent);
Evas_Object *icon, *min, *max, *hbox, *but, *sep, *ic; Evas_Object *icon, *min, *max, *hbox, *botbox, *but, *sep, *ic;
Evas_Coord w; Evas_Coord w, h;
Ephoto_Thumb_Browser *tb; Ephoto_Thumb_Browser *tb;
EINA_SAFETY_ON_NULL_RETURN_VAL(box, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(box, NULL);
@ -876,6 +876,7 @@ ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
evas_object_smart_callback_add(but, "clicked", _ephoto_dir_hide_folders, tb); evas_object_smart_callback_add(but, "clicked", _ephoto_dir_hide_folders, tb);
elm_box_pack_end(tb->leftbox, but); elm_box_pack_end(tb->leftbox, but);
evas_object_show(but); evas_object_show(but);
evas_object_size_hint_min_get(but, 0, &h);
tb->table = elm_table_add(tb->main); tb->table = elm_table_add(tb->main);
evas_object_size_hint_weight_set(tb->table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(tb->table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@ -904,12 +905,21 @@ ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
evas_object_show(tb->grid); evas_object_show(tb->grid);
elm_table_pack(tb->table, tb->grid, 0, 0, 4, 1); elm_table_pack(tb->table, tb->grid, 0, 0, 4, 1);
botbox = evas_object_rectangle_add(evas_object_evas_get(tb->table));
evas_object_color_set(botbox, 255, 255, 255, 0);
evas_object_size_hint_min_set(botbox, 0, h);
evas_object_size_hint_weight_set(botbox, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_fill_set(botbox, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_table_pack(tb->table, botbox, 0, 1, 4, 1);
evas_object_show(botbox);
tb->infolabel = elm_label_add(tb->table); tb->infolabel = elm_label_add(tb->table);
elm_label_line_wrap_set(tb->infolabel, ELM_WRAP_NONE); elm_label_line_wrap_set(tb->infolabel, ELM_WRAP_WORD);
elm_object_text_set(tb->infolabel, "Info Label"); elm_object_text_set(tb->infolabel, "Info Label");
evas_object_size_hint_weight_set(tb->infolabel, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_weight_set(tb->infolabel, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(tb->infolabel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_align_set(tb->infolabel, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_aspect_set(tb->infolabel, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
elm_table_pack(tb->table, tb->infolabel, 0, 1, 4, 1); elm_table_pack(tb->table, tb->infolabel, 0, 1, 4, 1);
evas_object_show(tb->infolabel); evas_object_show(tb->infolabel);