extra: add a option to get back to the default

This commit is contained in:
Marcel Hollerbach 2017-01-23 23:12:31 +01:00
parent e0bc2ad19a
commit deb5e0b9a3
3 changed files with 32 additions and 10 deletions

View File

@ -77,22 +77,25 @@ _set_as_default(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_
extra_theme_use(candidate);
}
static void
_back_to_default(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
extra_theme_reset();
}
static Evas_Object*
_action_button_create(Evas_Object *par, Extra_Theme *theme)
{
Evas_Object *install = NULL, *icon = NULL;
if (!extra_theme_default_get(theme))
{
icon = elm_icon_add(par);
evas_object_show(icon);
icon = elm_icon_add(par);
evas_object_show(icon);
install = elm_button_add(par);
elm_object_part_content_set(install, "icon", icon);
evas_object_size_hint_weight_set(install, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(install, 1.0, 0.5);
evas_object_show(install);
}
install = elm_button_add(par);
elm_object_part_content_set(install, "icon", icon);
evas_object_size_hint_weight_set(install, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(install, 1.0, 0.5);
evas_object_show(install);
if (!extra_theme_installed(theme) && extra_theme_installed_old(theme))
{
@ -115,6 +118,13 @@ _action_button_create(Evas_Object *par, Extra_Theme *theme)
evas_object_smart_callback_add(install, "clicked", _set_as_default, theme);
elm_object_text_set(install, "Set as default");
}
else if (extra_theme_installed(theme) && extra_theme_default_get(theme))
{
//the theme is installed but not the default
elm_icon_standard_set(icon, "emblem-favorite");
evas_object_smart_callback_add(install, "clicked", _back_to_default, theme);
elm_object_text_set(install, "Back to default");
}
return install;
}

View File

@ -515,6 +515,16 @@ extra_theme_use(Extra_Theme *t)
ecore_timer_add(3, _enlightenment_restart, NULL);
}
EAPI void
extra_theme_reset(void)
{
elm_theme_set(NULL, "default");
elm_config_all_flush();
elm_config_save();
ecore_timer_add(3, _enlightenment_restart, NULL);
}
EAPI Eina_Bool
extra_theme_default_get(Extra_Theme *t)
{

View File

@ -170,6 +170,8 @@ EAPI void extra_theme_download(Extra_Progress *progress, Extra_Theme *theme);
EAPI void extra_theme_use(Extra_Theme *t);
EAPI Eina_Bool extra_theme_default_get(Extra_Theme *t);
EAPI Eina_Bool extra_theme_installed_old(Extra_Theme *t);
EAPI void extra_theme_reset(void);
/**
* @}
*/