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;
int window_width;
int window_height;
int thumb_browser_panel;
int single_browser_panel;
Evas_Object *window;
Evas_Object *slide_time;
Evas_Object *slide_trans;

View File

@ -1,6 +1,6 @@
#include "ephoto.h"
#define CONFIG_VERSION 8
#define CONFIG_VERSION 9
static int _ephoto_config_load(Ephoto *ephoto);
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, window_width, 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))
{
@ -51,8 +49,6 @@ ephoto_config_init(Ephoto *ephoto)
ephoto->config->editor = eina_stringshare_add("gimp %s");
ephoto->config->window_width = 900;
ephoto->config->window_height = 600;
ephoto->config->thumb_browser_panel = 0;
ephoto->config->single_browser_panel = 0;
break;
default:
return EINA_TRUE;

View File

@ -13,7 +13,6 @@ struct _Ephoto_Single_Browser
Evas_Object *main;
Evas_Object *bar;
Evas_Object *table;
Evas_Object *panel;
Evas_Object *viewer;
Evas_Object *infolabel;
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",
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_event_callback_add
(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);
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);
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);
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");
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);
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);
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);
@ -826,11 +825,6 @@ _main_del(void *data, Evas *e EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *eve
Ephoto_Single_Browser *sb = data;
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)
ecore_event_handler_del(handler);
if (sb->entry)
@ -894,24 +888,13 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent)
elm_box_pack_end(sb->main, sb->table);
evas_object_show(sb->table);
sb->panel = elm_panel_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);
sb->bar = elm_toolbar_add(sb->table);
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_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);
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);
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);
sb->handlers = eina_list_append

View File

@ -759,8 +759,8 @@ Evas_Object *
ephoto_thumb_browser_add(Ephoto *ephoto, Evas_Object *parent)
{
Evas_Object *box = elm_box_add(parent);
Evas_Object *icon, *min, *max, *hbox, *but, *sep, *ic;
Evas_Coord w;
Evas_Object *icon, *min, *max, *hbox, *botbox, *but, *sep, *ic;
Evas_Coord w, h;
Ephoto_Thumb_Browser *tb;
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);
elm_box_pack_end(tb->leftbox, but);
evas_object_show(but);
evas_object_size_hint_min_get(but, 0, &h);
tb->table = elm_table_add(tb->main);
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);
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);
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");
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_aspect_set(tb->infolabel, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
elm_table_pack(tb->table, tb->infolabel, 0, 1, 4, 1);
evas_object_show(tb->infolabel);