From cf959fc86e63423af7e06274b809d0b58c5109fa Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Wed, 21 May 2014 22:53:21 +0200 Subject: [PATCH] entrance: the gui can now be set to a new theme. --- src/bin/entrance_gui.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/bin/entrance_gui.c b/src/bin/entrance_gui.c index 02399f0..84cc40e 100644 --- a/src/bin/entrance_gui.c +++ b/src/bin/entrance_gui.c @@ -169,6 +169,29 @@ entrance_gui_init(const char *theme) return j; } +static void +_entrance_gui_theme_update(void) +{ + Eina_List *node; + Entrance_Screen *screen; + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), + PACKAGE_DATA_DIR"/themes/%s.edj", _gui->theme); + EINA_LIST_FOREACH(_gui->screens, node, screen) + { + elm_layout_file_set(screen->transition, buf, "entrance/wallpaper/default"); + elm_layout_file_set(screen->edj, buf, "entrance"); + elm_layout_file_set(screen->login, buf, "entrance/login"); + evas_object_smart_callback_add( + ENTRANCE_GUI_GET(screen->edj, "entrance.conf"), + "clicked", + _entrance_gui_conf_clicked_cb, + screen->transition); + } + _entrance_gui_actions_populate(); + _entrance_gui_users_populate(); +} + void entrance_gui_shutdown(void) { @@ -490,7 +513,8 @@ entrance_gui_conf_set(const Entrance_Conf_Gui_Event *conf) } if (_gui->theme != conf->theme) { - _gui->theme = conf->theme; + entrance_gui_theme_name_set(conf->theme); + _entrance_gui_theme_update(); } _gui->changed = ~(ENTRANCE_CONF_NONE); _entrance_gui_update(); @@ -532,7 +556,7 @@ entrance_gui_themes_get(void) void entrance_gui_theme_name_set(const char *theme) { - /* TODO */ + _gui->theme = theme; } const char *