diff --git a/src/bin/ephoto_thumb_browser.c b/src/bin/ephoto_thumb_browser.c
index fca1eba..ea72125 100644
--- a/src/bin/ephoto_thumb_browser.c
+++ b/src/bin/ephoto_thumb_browser.c
@@ -53,12 +53,14 @@ struct _Ephoto_Thumb_Browser
Ecore_Timer *click_timer;
Eina_Bool thumbs_only;
Eina_Bool dirs_only;
+ double totsize;
+ double totsize_old;
int totimages;
+ int totimages_old;
int file_errors;
Eina_Bool dragging;
Eina_Bool searching;
Eina_Bool processing;
- double totsize;
struct
{
Ecore_Animator *todo_items;
@@ -91,6 +93,65 @@ static Eina_Bool _monitor_deleted(void *data, int type EINA_UNUSED,
static Eina_Bool _monitor_modified(void *data, int type EINA_UNUSED,
void *event);
+static void
+_update_info_label(Ephoto_Thumb_Browser *tb)
+{
+ char buf[PATH_MAX];
+ char isize[PATH_MAX];
+ char image_info[PATH_MAX];
+ double totsize;
+
+
+ if (!tb->totimages)
+ {
+ elm_object_text_set(tb->nolabel,
+ _("No images matched your search"));
+ snprintf(buf, PATH_MAX, "%s: 0 %s %s: 0%s",
+ _("Total"), ngettext("image", "images", 0), _("Size"),
+ ngettext("B", "B", 0));
+ elm_object_text_set(tb->infolabel, buf);
+ }
+ else
+ {
+ elm_object_text_set(tb->nolabel, " ");
+ totsize = tb->totsize;
+ if (totsize < 1024.0)
+ snprintf(isize, sizeof(isize), "%'.0f%s", totsize, ngettext("B",
+ "B", totsize));
+ else
+ {
+ totsize /= 1024.0;
+ if (totsize < 1024)
+ snprintf(isize, sizeof(isize), "%'.0f%s", totsize,
+ ngettext("KB", "KB", totsize));
+ else
+ {
+ totsize /= 1024.0;
+ if (totsize < 1024)
+ snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
+ ngettext("MB", "MB", totsize));
+ else
+ {
+ totsize /= 1024.0;
+ if (totsize < 1024)
+ snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
+ ngettext("GB", "GB", totsize));
+ else
+ {
+ totsize /= 1024.0;
+ snprintf(isize, sizeof(isize), "%'.1f%s",
+ totsize, ngettext("TB", "TB", totsize));
+ }
+ }
+ }
+ }
+ snprintf(image_info, PATH_MAX, "%s: %d %s %s: %s",
+ _("Total"), tb->totimages, ngettext("image", "images",
+ tb->totimages), _("Size"), isize);
+ elm_object_text_set(tb->infolabel, image_info);
+ }
+}
+
static void
_todo_items_free(Ephoto_Thumb_Browser *tb)
{
@@ -854,11 +915,10 @@ _ephoto_search_go(void *data, Evas_Object *obj EINA_UNUSED,
tb->searchentries = NULL;
if (results)
{
- char isize[PATH_MAX];
- char image_info[PATH_MAX];
- double totsize = 0;
- int totimages = 0;
-
+ tb->totimages_old = tb->totimages;
+ tb->totsize_old = tb->totsize;
+ tb->totimages = 0;
+ tb->totsize = 0;
EINA_LIST_FOREACH(results, l, o)
{
const Elm_Gengrid_Item_Class *ic = NULL;
@@ -888,9 +948,9 @@ _ephoto_search_go(void *data, Evas_Object *obj EINA_UNUSED,
{
Eina_File *f;
elm_object_item_data_set(e->item, e);
- totimages++;
+ tb->totimages++;
f = eina_file_open(e->path, EINA_FALSE);
- totsize += (double) eina_file_size_get(f);
+ tb->totsize += (double) eina_file_size_get(f);
eina_file_close(f);
tb->searchentries = eina_list_append(tb->searchentries, e);
}
@@ -900,53 +960,14 @@ _ephoto_search_go(void *data, Evas_Object *obj EINA_UNUSED,
}
}
tb->entries = tb->searchentries;
- elm_object_text_set(tb->nolabel, " ");
- if (totsize < 1024.0)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize, ngettext("B",
- "B", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize,
- ngettext("KB", "KB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("MB", "MB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("GB", "GB", totsize));
- else
- {
- totsize /= 1024.0;
- snprintf(isize, sizeof(isize), "%'.1f%s",
- totsize, ngettext("TB", "TB", totsize));
- }
- }
- }
- }
- snprintf(image_info, PATH_MAX, "%s: %d %s %s: %s",
- _("Total"), totimages, ngettext("image", "images",
- totimages), _("Size"), isize);
- elm_object_text_set(tb->infolabel, image_info);
+ _update_info_label(tb);
eina_list_free(results);
}
else
{
- char buf[PATH_MAX];
-
- elm_object_text_set(tb->nolabel,
- _("No images matched your search"));
- snprintf(buf, PATH_MAX, "%s: 0 %s %s: 0%s",
- _("Total"), ngettext("image", "images", 0), _("Size"),
- ngettext("B", "B", 0));
- elm_object_text_set(tb->infolabel, buf);
+ tb->totimages = 0;
+ tb->totsize = 0;
+ _update_info_label(tb);
tb->searchentries = NULL;
tb->entries = NULL;
}
@@ -978,60 +999,17 @@ _ephoto_search_cancel(void *data, Evas_Object *obj EINA_UNUSED,
elm_box_pack_end(tb->gridbox, tb->grid);
evas_object_show(tb->grid);
tb->original_grid = NULL;
+ tb->totimages = tb->totimages_old;
+ tb->totsize = tb->totsize_old;
+ tb->totimages_old = 0;
+ tb->totsize_old = 0;
}
if (!tb->ephoto->entries)
{
- char buf[PATH_MAX];
-
- elm_object_text_set(tb->nolabel,
- _("There are no images in this directory"));
- snprintf(buf, PATH_MAX, "%s: 0 %s %s: 0%s",
- _("Total"), ngettext("image", "images", 0), _("Size"),
- ngettext("B", "B", 0));
- elm_object_text_set(tb->infolabel, buf);
- }
- else
- {
- char isize[PATH_MAX];
- char image_info[PATH_MAX];
-
- elm_object_text_set(tb->nolabel, " ");
- if (tb->totsize < 1024.0)
- snprintf(isize, sizeof(isize), "%'.0f%s", tb->totsize, ngettext("B",
- "B", tb->totsize));
- else
- {
- tb->totsize /= 1024.0;
- if (tb->totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.0f%s", tb->totsize,
- ngettext("KB", "KB", tb->totsize));
- else
- {
- tb->totsize /= 1024.0;
- if (tb->totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", tb->totsize,
- ngettext("MB", "MB", tb->totsize));
- else
- {
- tb->totsize /= 1024.0;
- if (tb->totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s",
- tb->totsize, ngettext("GB", "GB", tb->totsize));
- else
- {
- tb->totsize /= 1024.0;
- snprintf(isize, sizeof(isize), "%'.1f%s",
- tb->totsize,
- ngettext("TB", "TB", tb->totsize));
- }
- }
- }
- }
- snprintf(image_info, PATH_MAX, "%s: %d %s %s: %s",
- _("Total"), tb->totimages, ngettext("image", "images",
- tb->totimages), _("Size"), isize);
- elm_object_text_set(tb->infolabel, image_info);
+ tb->totimages = 0;
+ tb->totsize = 0;
}
+ _update_info_label(tb);
elm_object_focus_set(tb->main, EINA_TRUE);
evas_object_del(tb->search);
tb->search = NULL;
@@ -3633,58 +3611,10 @@ _ephoto_thumb_populate_end(void *data, int type EINA_UNUSED,
}
if (!tb->ephoto->entries)
{
- char buf[PATH_MAX];
-
- elm_object_text_set(tb->nolabel,
- _("There are no images in this directory"));
- snprintf(buf, PATH_MAX, "%s: 0 %s %s: 0%s",
- _("Total"), ngettext("image", "images", 0), _("Size"),
- ngettext("B", "B", 0));
- elm_object_text_set(tb->infolabel, buf);
- }
- else if (!tb->dirs_only)
- {
- char isize[PATH_MAX];
- char image_info[PATH_MAX];
- double totsize = tb->totsize;
-
- elm_object_text_set(tb->nolabel, " ");
-
- if (totsize < 1024.0)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize, ngettext("B",
- "B", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize,
- ngettext("KB", "KB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("MB", "MB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("GB", "GB", totsize));
- else
- {
- totsize /= 1024.0;
- snprintf(isize, sizeof(isize), "%'.1f%s",
- totsize, ngettext("TB", "TB", totsize));
- }
- }
- }
- }
- snprintf(image_info, PATH_MAX, "%s: %d %s %s: %s",
- _("Total"), tb->totimages, ngettext("image", "images",
- tb->totimages), _("Size"), isize);
- elm_object_text_set(tb->infolabel, image_info);
+ tb->totimages = 0;
+ tb->totsize = 0;
}
+ _update_info_label(tb);
tb->dirs_only = 0;
tb->thumbs_only = 0;
tb->entries = tb->ephoto->entries;
@@ -3860,9 +3790,6 @@ ephoto_thumb_browser_insert(Ephoto *ephoto, Ephoto_Entry *entry)
{
Eina_File *f;
const Elm_Gengrid_Item_Class *ic;
- char isize[PATH_MAX];
- char image_info[PATH_MAX];
- double totsize;
tb->totimages += 1;
f = eina_file_open(entry->path, EINA_FALSE);
@@ -3895,43 +3822,7 @@ ephoto_thumb_browser_insert(Ephoto *ephoto, Ephoto_Entry *entry)
{
ephoto_entry_free(tb->ephoto, entry);
}
- elm_object_text_set(tb->nolabel, " ");
-
- totsize = tb->totsize;
- if (totsize < 1024.0)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize, ngettext("B",
- "B", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize,
- ngettext("KB", "KB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("MB", "MB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("GB", "GB", totsize));
- else
- {
- totsize /= 1024.0;
- snprintf(isize, sizeof(isize), "%'.1f%s",
- totsize, ngettext("TB", "TB", totsize));
- }
- }
- }
- }
- snprintf(image_info, PATH_MAX, "%s: %d %s %s: %s",
- _("Total"), tb->totimages, ngettext("image", "images",
- tb->totimages), _("Size"), isize);
- elm_object_text_set(tb->infolabel, image_info);
+ _update_info_label(tb);
}
}
@@ -3943,65 +3834,15 @@ ephoto_thumb_browser_remove(Ephoto *ephoto, Ephoto_Entry *entry)
if (!entry->is_dir)
{
- char image_info[PATH_MAX];
-
tb->totimages -= 1;
tb->totsize -= entry->size;
if (eina_list_count(tb->ephoto->entries) == 1)
{
- char buf[PATH_MAX];
-
- elm_object_text_set(tb->nolabel,
- _("There are no images in this directory"));
- snprintf(buf, PATH_MAX, "%s: 0 %s %s: 0%s",
- _("Total"), ngettext("image", "images", 0), _("Size"),
- ngettext("B", "B", 0));
- elm_object_text_set(tb->infolabel, buf);
- }
- else
- {
- char isize[PATH_MAX];
- double totsize;
-
- elm_object_text_set(tb->nolabel, " ");
-
- totsize = tb->totsize;
- if (totsize < 1024.0)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize,
- ngettext("B", "B", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.0f%s", totsize,
- ngettext("KB", "KB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s", totsize,
- ngettext("MB", "MB", totsize));
- else
- {
- totsize /= 1024.0;
- if (totsize < 1024)
- snprintf(isize, sizeof(isize), "%'.1f%s",
- totsize, ngettext("GB", "GB", totsize));
- else
- {
- totsize /= 1024.0;
- snprintf(isize, sizeof(isize), "%'.1f%s",
- totsize, ngettext("TB", "TB", totsize));
- }
- }
- }
- }
- snprintf(image_info, PATH_MAX, "%s: %d %s "
- "%s: %s", _("Total"), tb->totimages,
- ngettext("image", "images", tb->totimages), _("Size"), isize);
- elm_object_text_set(tb->infolabel, image_info);
+ tb->totimages = 0;
+ tb->totsize = 0;
}
+ _update_info_label(tb);
elm_object_item_del(entry->item);
}
}