bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/apps/extra.git/commit/?id=4b28a5d8445eef9a0e03b6e13a81560008a8578d

commit 4b28a5d8445eef9a0e03b6e13a81560008a8578d
Author: Marcel Hollerbach <[email protected]>
Date:   Mon Jan 9 16:24:59 2017 +0100

    extra: refactor progress popup
    
    this refactors the progress displaying of hte popups and progress calls
    from the lib.
---
 src/bin/extra_main.c | 95 +++++++++++++++++++++++++++-------------------------
 1 file changed, 49 insertions(+), 46 deletions(-)

diff --git a/src/bin/extra_main.c b/src/bin/extra_main.c
index 1bafb43..27c90f9 100644
--- a/src/bin/extra_main.c
+++ b/src/bin/extra_main.c
@@ -34,6 +34,46 @@ static Evas_Object *_theme_list;
 static Extra_Theme *_selected_theme;
 static Theme_Ui ui;
 
+
+static void
+_extra_win_progress_popup_cb(double progress)
+{
+   Evas_Object *p;
+
+   p = elm_object_content_get(_popup);
+   if (elm_progressbar_pulse_get(p))
+     {
+        elm_progressbar_pulse(p, EINA_FALSE);
+        elm_progressbar_pulse_set(p, EINA_FALSE);
+     }
+
+   elm_progressbar_value_set(p, progress);
+}
+
+
+static void
+_extra_win_progress_popup_show(const char *title)
+{
+   Evas_Object *progress;
+
+   _popup = elm_popup_add(_win);
+   progress = elm_progressbar_add(_popup);
+   elm_progressbar_pulse_set(progress, EINA_TRUE);
+   elm_progressbar_pulse(progress, EINA_TRUE);
+   evas_object_show(progress);
+
+   elm_object_part_text_set(_popup, "title,text", title);
+   elm_object_content_set(_popup, progress);
+   evas_object_show(_popup);
+}
+
+static void
+_extra_win_progress_popup_del(void)
+{
+   evas_object_del(_popup);
+   _popup = NULL;
+}
+
 static void
 _extra_win_ask_yes(void *data,
                            Evas_Object *obj EINA_UNUSED,
@@ -176,10 +216,9 @@ _extra_win_sync_done_cb()
 {
    Extra_Theme *first;
 
-   elm_genlist_clear(_theme_list);
+   _extra_win_progress_popup_del();
 
-   evas_object_del(_popup);
-   _popup = NULL;
+   elm_genlist_clear(_theme_list);
    _extra_win_theme_list_refresh();
 
    first = eina_list_data_get(extra_themes_list());
@@ -189,46 +228,20 @@ _extra_win_sync_done_cb()
 }
 
 static void
-extra_win_sync(Evas_Object *win)
+extra_win_sync(void)
 {
-   Evas_Object *progress;
-
-//   _sync_progress.progress_cb = _extra_win_sync_progress_cb;
+   _sync_progress.progress_cb = _extra_win_progress_popup_cb;
    _sync_progress.done_cb = _extra_win_sync_done_cb;
 
-   _popup = elm_popup_add(win);
-   progress = elm_progressbar_add(win);
-   elm_progressbar_pulse_set(progress, EINA_TRUE);
-   elm_progressbar_pulse(progress, EINA_TRUE);
-   evas_object_show(progress);
-
-   elm_object_part_text_set(_popup, "title,text", "Downloading themes");
-   elm_object_content_set(_popup, progress);
-   evas_object_show(_popup);
+   _extra_win_progress_popup_show("Downloading themes");
 
    extra_sync(&_sync_progress);
 }
 
 static void
-_extra_win_download_progress_cb(double progress)
-{
-   Evas_Object *p;
-
-   p = elm_object_content_get(_popup);
-   if (elm_progressbar_pulse_get(p))
-     {
-        elm_progressbar_pulse(p, EINA_FALSE);
-        elm_progressbar_pulse_set(p, EINA_FALSE);
-     }
-
-   elm_progressbar_value_set(p, progress);
-}
-
-static void
 _extra_win_download_done_cb()
 {
-   evas_object_del(_popup);
-   _popup = NULL;
+   _extra_win_progress_popup_del();
 
    elm_genlist_clear(_theme_list);
    _extra_win_theme_list_refresh();
@@ -240,21 +253,11 @@ _extra_win_download_done_cb()
 static void
 _extra_win_install_execute()
 {
-   Evas_Object *progress;
+   _extra_win_progress_popup_show("Installing theme");
 
-   _install_progress.progress_cb = _extra_win_download_progress_cb;
+   _install_progress.progress_cb = _extra_win_progress_popup_cb;
    _install_progress.done_cb = _extra_win_download_done_cb;
 
-   _popup = elm_popup_add(_win);
-   progress = elm_progressbar_add(_win);
-   elm_progressbar_pulse_set(progress, EINA_TRUE);
-   elm_progressbar_pulse(progress, EINA_TRUE);
-   evas_object_show(progress);
-
-   elm_object_part_text_set(_popup, "title,text", "Processing...");
-   elm_object_content_set(_popup, progress);
-   evas_object_show(_popup);
-
    extra_theme_download(&_install_progress, _selected_theme);
 }
 
@@ -451,7 +454,7 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
    if (!(win = extra_win_setup()))
      goto end;
 
-   extra_win_sync(win);
+   extra_win_sync();
 
    elm_run();
 

-- 


Reply via email to