/** * Retrieves the full path to the theme file of the theme stored in the * given property. * * The search path for themes is given by @ref * ecore_config_theme_search_path_get . * * @param key The given property. * @return A full path to the theme on success, or @c NULL on failure. * This function will fail if no key is specified or not theme * matching that given by the property @p key could be found. */ char * ecore_config_theme_with_path_get(const char *key) { return ecore_config_theme_with_path_from_name_get(ecore_config_theme_get(key)); }
void _eli_edje_frontend_config_changed(Eli_App * eap, const int tag) { Eli_Edje_Frontend * eef; eef = eli_app_edje_frontend_get(eap); switch (tag) { case THEME: if (!eef->gui) break; else { char * theme; if ((theme = ecore_config_theme_get("/theme/gui"))) { eli_app_theme_change(eap, theme); edje_object_signal_emit(eef->gui, "theme,selected", "elitaire"); free(theme); } } break; case CARDS: { char * cards; if ((cards = ecore_config_theme_get("/theme/cards"))) { if (eap->theme.cards.current) free(eap->theme.cards.current); eap->theme.cards.current = cards; } edje_object_signal_emit(eef->gui, "cards,selected", "elitaire"); if (eap->theme.cards.current && eef->elitaire && (cards = ecore_config_theme_with_path_from_name_get( eap->theme.cards.current))) { elitaire_object_file_set(eef->elitaire, cards); free(cards); } break; } case VELOCITY: { int v; v = ecore_config_int_get("velocity"); if (!eef->elitaire) break; else { elitaire_object_velocity_set(eef->elitaire, v); } break; } case ANIMATIONS: if (!eef->elitaire) break; else { Eina_Bool b; b = ecore_config_boolean_get("/graphic/animations"); elitaire_object_animations_set(eef->elitaire, b); } break; case SHADOWS: if (!eef->elitaire) break; else { Eina_Bool b; b = ecore_config_boolean_get("/graphic/shadows"); elitaire_object_shadows_set(eef->elitaire, b); } break; case FRAME_RATE: if (!eef->elitaire) break; else { int fr; fr = ecore_config_int_get("frame_rate"); elitaire_object_frame_rate_set(eef->elitaire, fr); } break; case LAZY: if (!eef->elitaire) break; else { int lazy; lazy = ecore_config_int_get("lazy"); elitaire_object_lazy_mode_set(eef->elitaire, lazy); } break; default: break; } }