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);

-- 


Reply via email to