diff --git a/src/bin/ephoto_single_browser.c b/src/bin/ephoto_single_browser.c
index 0a7ebff..396c5c1 100644
--- a/src/bin/ephoto_single_browser.c
+++ b/src/bin/ephoto_single_browser.c
@@ -15,6 +15,7 @@ struct _Ephoto_Single_Browser
Evas_Object *table;
Evas_Object *panel;
Evas_Object *viewer;
+ Evas_Object *infolabel;
Evas_Object *nolabel;
const char *pending_path;
Ephoto_Entry *entry;
@@ -468,6 +469,8 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
{
evas_object_del(sb->viewer);
sb->viewer = NULL;
+ evas_object_del(sb->infolabel);
+ sb->infolabel = NULL;
}
if (sb->nolabel)
{
@@ -483,10 +486,54 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
sb->viewer = _viewer_add(sb->main, sb->entry->path);
if (sb->viewer)
{
+ char image_info[PATH_MAX];
+ char isize[PATH_MAX];
+ Evas_Coord w, h;
+ Ephoto_Viewer *v = evas_object_data_get(sb->viewer, "viewer");
+ Eina_File *f = eina_file_open(sb->entry->path, EINA_FALSE);
+ size_t size = eina_file_size_get(f);
+ eina_file_close(f);
+
+ double dsize = (double)size;
+ if (dsize < 1024.0) snprintf(isize, sizeof(isize), "%'.0f bytes", dsize);
+ else
+ {
+ dsize /= 1024.0;
+ if (dsize < 1024) snprintf(isize, sizeof(isize), "%'.0f KB", dsize);
+ else
+ {
+ dsize /= 1024.0;
+ if (dsize < 1024) snprintf(isize, sizeof(isize), "%'.1f MB", dsize);
+ else
+ {
+ dsize /= 1024.0;
+ if (dsize < 1024) snprintf(isize, sizeof(isize), "%'.1f GB", dsize);
+ else
+ {
+ dsize /= 1024.0;
+ snprintf(isize, sizeof(isize), "%'.1f TB", dsize);
+ }
+ }
+ }
+ }
+ evas_object_image_size_get(elm_image_object_get(v->image), &w, &h);
+ snprintf(image_info, PATH_MAX,
+ "Type: %s Resolution: %dx%d File Size: %s",
+ efreet_mime_type_get(sb->entry->path), w, h, isize);
+
elm_table_pack(sb->table, sb->viewer, 0, 0, 4, 1);
evas_object_show(sb->viewer);
evas_object_event_callback_add
(sb->viewer, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel, sb);
+
+ sb->infolabel = elm_label_add(sb->table);
+ elm_label_line_wrap_set(sb->infolabel, ELM_WRAP_NONE);
+ 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);
+ evas_object_show(sb->infolabel);
+
ephoto_title_set(sb->ephoto, bname);
}
else
@@ -500,7 +547,7 @@ _ephoto_single_browser_recalc(Ephoto_Single_Browser *sb)
evas_object_show(sb->nolabel);
ephoto_title_set(sb->ephoto, "Bad Image");
}
- elm_table_pack(sb->table, sb->panel, 0, 0, 1, 1);
+ elm_table_pack(sb->table, sb->panel, 0, 0, 1, 2);
}
elm_object_focus_set(sb->main, EINA_TRUE);
@@ -856,7 +903,7 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent)
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, 1);
+ elm_table_pack(sb->table, sb->panel, 0, 0, 1, 2);
evas_object_show(sb->panel);
sb->bar = elm_toolbar_add(sb->panel);