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) { --
