entrance: the config panel can be renewed

This commit is contained in:
Marcel Hollerbach 2014-05-31 16:19:04 +02:00
parent f266ddbc6a
commit 6595f25cc0
6 changed files with 35 additions and 5 deletions

View File

@ -9,6 +9,7 @@ typedef struct Entrance_Conf_Module_
Entrance_Conf_Build build;
Entrance_Conf_Check check;
Entrance_Conf_Apply apply;
Entrance_Conf_Refresh_Theme renew;
Elm_Object_Item *item;
} Entrance_Conf_Module;
@ -232,7 +233,16 @@ entrance_conf_shutdown(void)
}
void
entrance_conf_module_register(const char *label, Entrance_Conf_Begin begin, Entrance_Conf_End end, Entrance_Conf_Build build, Entrance_Conf_Check check, Entrance_Conf_Apply apply)
entrance_conf_theme_changed(void)
{
Eina_List *l;
Entrance_Conf_Module *conf;
EINA_LIST_FOREACH(_entrance_conf->modules, l, conf)
conf->renew();
}
void
entrance_conf_module_register(const char *label, Entrance_Conf_Begin begin, Entrance_Conf_End end, Entrance_Conf_Build build, Entrance_Conf_Check check, Entrance_Conf_Apply apply, Entrance_Conf_Refresh_Theme renew)
{
Entrance_Conf_Module *conf;
conf = calloc(1, sizeof(Entrance_Conf_Module));
@ -242,6 +252,7 @@ entrance_conf_module_register(const char *label, Entrance_Conf_Begin begin, Entr
conf->build = build;
conf->check = check;
conf->apply = apply;
conf->renew = renew;
_entrance_conf->modules = eina_list_append(_entrance_conf->modules, conf);
}

View File

@ -28,12 +28,14 @@ typedef void (*Entrance_Conf_End) (void);
typedef Evas_Object *(*Entrance_Conf_Build) (Evas_Object *obj);
typedef Eina_Bool (*Entrance_Conf_Check) (void);
typedef void (*Entrance_Conf_Apply) (void);
typedef void (*Entrance_Conf_Refresh_Theme) (void);
void entrance_conf_init(void);
void entrance_conf_shutdown(void);
void entrance_conf_module_register(const char *label, Entrance_Conf_Begin begin, Entrance_Conf_End end, Entrance_Conf_Build build, Entrance_Conf_Check check, Entrance_Conf_Apply apply);
void entrance_conf_module_register(const char *label, Entrance_Conf_Begin begin, Entrance_Conf_End end, Entrance_Conf_Build build, Entrance_Conf_Check check, Entrance_Conf_Apply apply, Entrance_Conf_Refresh_Theme theme);
void entrance_conf_begin(Evas_Object *obj, Evas_Object *parent);
void entrance_conf_changed(void);
void entrance_conf_theme_changed(void);
void entrance_conf_background_title_gen(Entrance_Conf_Background *ptr);
Entrance_Fill *entrance_conf_background_fill_get(void);

View File

@ -339,6 +339,10 @@ _entrance_conf_main_apply(void)
entrance_connect_conf_gui_send(&conf);
}
static void
_entrance_conf_main_renew(void)
{
}
void
entrance_conf_main_init(void)
@ -349,7 +353,8 @@ entrance_conf_main_init(void)
_entrance_conf_main_end,
_entrance_conf_main_build,
_entrance_conf_main_check,
_entrance_conf_main_apply);
_entrance_conf_main_apply,
_entrance_conf_main_renew);
}
void

View File

@ -178,6 +178,10 @@ _entrance_conf_theme_apply(void)
entrance_conf_changed();
}
static void
_entrance_conf_theme_renew(void)
{
}
void
entrance_conf_theme_init(void)
@ -188,7 +192,8 @@ entrance_conf_theme_init(void)
_entrance_conf_theme_end,
_entrance_conf_theme_build,
_entrance_conf_theme_check,
_entrance_conf_theme_apply);
_entrance_conf_theme_apply,
_entrance_conf_theme_renew);
}
void

View File

@ -479,6 +479,11 @@ _entrance_conf_user_apply(void)
*/
}
static void
_entrance_conf_user_renew(void)
{
}
void
entrance_conf_user_init(void)
{
@ -494,7 +499,8 @@ entrance_conf_user_init(void)
_entrance_conf_user_end,
_entrance_conf_user_build,
_entrance_conf_user_check,
_entrance_conf_user_apply);
_entrance_conf_user_apply,
_entrance_conf_user_renew);
}

View File

@ -570,6 +570,7 @@ entrance_gui_theme_name_set(const char *theme)
else
eina_stringshare_replace(&_gui->theme, theme);
_entrance_gui_theme_update();
entrance_conf_theme_changed();
}
const char *