jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5c884991052c97973c2695728f0e4de0d9db5df2
commit 5c884991052c97973c2695728f0e4de0d9db5df2 Author: Jean-Philippe Andre <[email protected]> Date: Mon Aug 8 18:09:58 2016 +0900 examples: Fix path to edj theme files (theme examples) A bit complex but should work in most cases (installed & not) --- src/examples/elementary/theme_example_01.c | 21 ++++++++++++++++++--- src/examples/elementary/theme_example_02.c | 21 ++++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/examples/elementary/theme_example_01.c b/src/examples/elementary/theme_example_01.c index 61b948c..6fc7c11 100644 --- a/src/examples/elementary/theme_example_01.c +++ b/src/examples/elementary/theme_example_01.c @@ -3,6 +3,8 @@ */ #include <Elementary.h> +char edj_path[PATH_MAX]; + static void btn_extension_click_cb(void *data, Evas_Object *btn, void *ev) { @@ -10,12 +12,12 @@ btn_extension_click_cb(void *data, Evas_Object *btn, void *ev) if (!strncmp(lbl, "Load", 4)) { - elm_theme_extension_add(NULL, "./theme_example.edj"); + elm_theme_extension_add(NULL, edj_path); elm_object_text_set(btn, "Unload extension"); } else if (!strncmp(lbl, "Unload", 6)) { - elm_theme_extension_del(NULL, "./theme_example.edj"); + elm_theme_extension_del(NULL, edj_path); elm_object_text_set(btn, "Load extension"); } } @@ -41,7 +43,20 @@ elm_main(int argc, char *argv[]) elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); - elm_theme_extension_add(NULL, "./theme_example.edj"); +#ifdef PACKAGE_DATA_DIR + elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); +#endif + if (ecore_file_exists("./theme_example.edj")) + { + strcpy(edj_path, "./theme_example.edj"); + } + else + { + elm_app_info_set(elm_main, "elementary", "examples/theme_example.edj"); + snprintf(edj_path, sizeof(edj_path), "%s/examples/theme_example.edj", + elm_app_data_dir_get()); + } + elm_theme_extension_add(NULL, edj_path); win = elm_win_util_standard_add("theme", "Theme example"); elm_win_autodel_set(win, EINA_TRUE); diff --git a/src/examples/elementary/theme_example_02.c b/src/examples/elementary/theme_example_02.c index 4269fb0..0dcf172 100644 --- a/src/examples/elementary/theme_example_02.c +++ b/src/examples/elementary/theme_example_02.c @@ -3,14 +3,16 @@ */ #include <Elementary.h> +char edj_path[PATH_MAX]; + static void _btn_clicked_cb(void *data, Evas_Object *obj, void *ev) { static int loaded = 1; if (loaded) - elm_theme_overlay_del(NULL, "./theme_example.edj"); + elm_theme_overlay_del(NULL, edj_path); else - elm_theme_overlay_add(NULL, "./theme_example.edj"); + elm_theme_overlay_add(NULL, edj_path); loaded = 1 - loaded; } @@ -21,7 +23,20 @@ elm_main(int argc, char *argv[]) elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); - elm_theme_overlay_add(NULL, "./theme_example.edj"); +#ifdef PACKAGE_DATA_DIR + elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); +#endif + if (ecore_file_exists("./theme_example.edj")) + { + strcpy(edj_path, "./theme_example.edj"); + } + else + { + elm_app_info_set(elm_main, "elementary", "examples/theme_example.edj"); + snprintf(edj_path, sizeof(edj_path), "%s/examples/theme_example.edj", + elm_app_data_dir_get()); + } + elm_theme_overlay_add(NULL, edj_path); win = elm_win_util_standard_add("theme", "Theme example"); elm_win_autodel_set(win, EINA_TRUE); --
