bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/apps/extra.git/commit/?id=39e8e45008aa283a05d126f01a0cac00ba8828ca

commit 39e8e45008aa283a05d126f01a0cac00ba8828ca
Author: Marcel Hollerbach <[email protected]>
Date:   Wed Feb 15 22:09:39 2017 +0100

    extra: reapply selected state to the grid when the state changes
---
 src/bin/extra_background_selector.c | 13 ++-----------
 src/bin/extra_private.h             |  1 +
 src/bin/extra_theme_selector.c      |  4 +++-
 src/bin/extra_util.c                | 11 +++++++++++
 4 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/bin/extra_background_selector.c 
b/src/bin/extra_background_selector.c
index c679844..c3e2538 100644
--- a/src/bin/extra_background_selector.c
+++ b/src/bin/extra_background_selector.c
@@ -12,21 +12,12 @@ static Extra_Ui_Small_Preview_Accessor acc = {
     ((Extra_ui_preview_download*) extra_background_preview_download),
 };
 
-static void
-_reapply_tooltip(void)
-{
-    Elm_Object_Item *item;
-
-    item = elm_gengrid_selected_item_get(_selector);
-    elm_gengrid_item_selected_set(item, EINA_FALSE);
-    elm_gengrid_item_selected_set(item, EINA_TRUE);
-}
 
 static void
 _background_installed(void *data EINA_UNUSED)
 {
     /*TODO FIND A WAY TO REMOTE OPEN ENLIGHTENMENT BACKGROUND SELECTOR*/
-    _reapply_tooltip();
+    gengrid_reapply_state(_selector);
 }
 
 static void
@@ -45,7 +36,7 @@ _uninstall_background(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_info
    Extra_Background *b = data;
 
    extra_background_delete(b);
-   _reapply_tooltip();
+    gengrid_reapply_state(_selector);
 }
 
 static void
diff --git a/src/bin/extra_private.h b/src/bin/extra_private.h
index 4e52522..8c6c7cc 100644
--- a/src/bin/extra_private.h
+++ b/src/bin/extra_private.h
@@ -29,5 +29,6 @@ typedef struct {
 Evas_Object* extra_ui_small_preview_new(Extra_Ui_Small_Preview_Accessor acc, 
Evas_Object *par, void *data);
 void extra_ui_fullscreen_preview(char *path);
 void extra_ui_show_popup_toolbar(Evas_Object *content);
+void gengrid_reapply_state(Evas_Object *grid);
 
 #endif
diff --git a/src/bin/extra_theme_selector.c b/src/bin/extra_theme_selector.c
index d120ab0..f84431d 100644
--- a/src/bin/extra_theme_selector.c
+++ b/src/bin/extra_theme_selector.c
@@ -46,7 +46,6 @@ static void
 _install_done(void *data)
 {
    Extra_Theme *theme = data;
-   Elm_Object_Item *item;
 
    if (extra_theme_installed(theme))
      extra_ui_theme_ask_for_default(theme);
@@ -70,18 +69,21 @@ _install_theme(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_U
    extra_theme_download(progress, candidate);
 }
 
+
 static void
 _set_as_default(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
 {
    Extra_Theme *candidate = data;
 
    extra_theme_use(candidate);
+   gengrid_reapply_state(_selector);
 }
 
 static void
 _back_to_default(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    extra_theme_reset();
+   gengrid_reapply_state(_selector);
 }
 
 static Evas_Object*
diff --git a/src/bin/extra_util.c b/src/bin/extra_util.c
index e668a73..a2d6a83 100644
--- a/src/bin/extra_util.c
+++ b/src/bin/extra_util.c
@@ -2,6 +2,17 @@
 #include "extra_private.h"
 #include "../lib/extra.h"
 
+
+void
+gengrid_reapply_state(Evas_Object *grid)
+{
+    Elm_Object_Item *item;
+
+    item = elm_gengrid_selected_item_get(grid);
+    elm_gengrid_item_selected_set(item, EINA_FALSE);
+    elm_gengrid_item_selected_set(item, EINA_TRUE);
+}
+
 void
 extra_win_progress_popup_show(const char *title)
 {

-- 


Reply via email to