extra: refactor progress popup
this refactors the progress displaying of hte popups and progress calls from the lib.
This commit is contained in:
parent
443d899a12
commit
4b28a5d844
|
@ -34,6 +34,46 @@ static Evas_Object *_theme_list;
|
||||||
static Extra_Theme *_selected_theme;
|
static Extra_Theme *_selected_theme;
|
||||||
static Theme_Ui ui;
|
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
|
static void
|
||||||
_extra_win_ask_yes(void *data,
|
_extra_win_ask_yes(void *data,
|
||||||
Evas_Object *obj EINA_UNUSED,
|
Evas_Object *obj EINA_UNUSED,
|
||||||
|
@ -176,10 +216,9 @@ _extra_win_sync_done_cb()
|
||||||
{
|
{
|
||||||
Extra_Theme *first;
|
Extra_Theme *first;
|
||||||
|
|
||||||
elm_genlist_clear(_theme_list);
|
_extra_win_progress_popup_del();
|
||||||
|
|
||||||
evas_object_del(_popup);
|
elm_genlist_clear(_theme_list);
|
||||||
_popup = NULL;
|
|
||||||
_extra_win_theme_list_refresh();
|
_extra_win_theme_list_refresh();
|
||||||
|
|
||||||
first = eina_list_data_get(extra_themes_list());
|
first = eina_list_data_get(extra_themes_list());
|
||||||
|
@ -189,46 +228,20 @@ _extra_win_sync_done_cb()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
extra_win_sync(Evas_Object *win)
|
extra_win_sync(void)
|
||||||
{
|
{
|
||||||
Evas_Object *progress;
|
_sync_progress.progress_cb = _extra_win_progress_popup_cb;
|
||||||
|
|
||||||
// _sync_progress.progress_cb = _extra_win_sync_progress_cb;
|
|
||||||
_sync_progress.done_cb = _extra_win_sync_done_cb;
|
_sync_progress.done_cb = _extra_win_sync_done_cb;
|
||||||
|
|
||||||
_popup = elm_popup_add(win);
|
_extra_win_progress_popup_show("Downloading themes");
|
||||||
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_sync(&_sync_progress);
|
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
|
static void
|
||||||
_extra_win_download_done_cb()
|
_extra_win_download_done_cb()
|
||||||
{
|
{
|
||||||
evas_object_del(_popup);
|
_extra_win_progress_popup_del();
|
||||||
_popup = NULL;
|
|
||||||
|
|
||||||
elm_genlist_clear(_theme_list);
|
elm_genlist_clear(_theme_list);
|
||||||
_extra_win_theme_list_refresh();
|
_extra_win_theme_list_refresh();
|
||||||
|
@ -240,21 +253,11 @@ _extra_win_download_done_cb()
|
||||||
static void
|
static void
|
||||||
_extra_win_install_execute()
|
_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;
|
_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);
|
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()))
|
if (!(win = extra_win_setup()))
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
extra_win_sync(win);
|
extra_win_sync();
|
||||||
|
|
||||||
elm_run();
|
elm_run();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue