summaryrefslogtreecommitdiff
path: root/src/layout/gallery.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/gallery.c')
-rw-r--r--src/layout/gallery.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/layout/gallery.c b/src/layout/gallery.c
index 1a77bac..7c6aad9 100644
--- a/src/layout/gallery.c
+++ b/src/layout/gallery.c
@@ -106,11 +106,18 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
return data;
}
-static void _update_content_info(struct _priv *priv)
+static void _update_bottom_area(struct _priv *priv)
{
struct datamgr *dmgr;
char buf[128];
+ /* update view mode button state */
+ if (priv->media_list)
+ elm_object_disabled_set(priv->view_btn, EINA_FALSE);
+ else
+ elm_object_disabled_set(priv->view_btn, EINA_TRUE);
+
+ /* update content info */
dmgr = priv->dmgr[E_DATA_MEDIA];
if (!dmgr)
return;
@@ -135,10 +142,8 @@ static void _clear_content_list(struct _priv *priv)
static void _update_content_list(struct _priv *priv)
{
- Eina_List *list;
-
if (priv->media_list) {
- _update_content_info(priv);
+ _update_bottom_area(priv);
return;
}
@@ -149,8 +154,11 @@ static void _update_content_list(struct _priv *priv)
return;
}
- list = priv->gdata->get_item_list(priv->dmgr[E_DATA_MEDIA]);
- if (!list) {
+ priv->media_list = priv->gdata->get_item_list(priv->dmgr[E_DATA_MEDIA]);
+
+ _update_bottom_area(priv);
+
+ if (!priv->media_list) {
elm_object_part_text_set(priv->layout,
PART_NOCONTENT, TEXT_NOCONTENT);
return;
@@ -158,12 +166,9 @@ static void _update_content_list(struct _priv *priv)
priv->gdata->data = priv->dmgr[E_DATA_MEDIA];
- if (!listmgr_update_content_list(priv->listmgr, list, priv->gdata))
+ if (!listmgr_update_content_list(priv->listmgr,
+ priv->media_list, priv->gdata))
_ERR("failed to update list area");
-
- priv->media_list = list;
-
- _update_content_info(priv);
}
static void _destroy_datamgr(struct _priv *priv)