Add a task to copy configuration files to user's HOME dir from data dir for multi... 36/17236/1
authorSeunghun Lee <shiin.lee@samsung.com>
Thu, 6 Mar 2014 02:05:20 +0000 (11:05 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Thu, 6 Mar 2014 02:17:03 +0000 (11:17 +0900)
Original Author: MinJeong Kim <minjjj.kim@samsung.com>

Change-Id: I697c2aae1a2a1f402dce8cb1b6090bf16ebd92c7

configure.ac
src/bin/e_config.c

index 6145210..0b8969e 100644 (file)
@@ -648,6 +648,8 @@ e_extra_features+="-D_F_BORDER_HOOK_PATCH_ "
 e_extra_features+="-D_F_COMP_LAYER_ "
 # add use dlog
 e_extra_features+="-D_F_USE_DLOG_ "
+# enable to copy the directory for configuration files
+e_extra_features+="-D_F_COPY_FROM_DATA_DIR_ "
 
 have_extra_features=no
 AC_ARG_ENABLE(extra_features,
index c6127dc..79dfe2b 100644 (file)
@@ -155,6 +155,9 @@ e_config_init(void)
                {
                   /* use system if no user profile config */
                   e_prefix_data_concat_static(buf, "data/config/profile.cfg");
+#ifdef _F_COPY_FROM_DATA_DIR_
+                  e_prefix_data_concat_static(buf, "config/e/config/profile.cfg");
+#endif
                   ef = eet_open(buf, EET_FILE_MODE_READ);
                }
           }
@@ -1655,6 +1658,18 @@ e_config_domain_load(const char *domain, E_Config_DD *edd)
              if (data) return data;
           }
      }
+#ifdef _F_COPY_FROM_DATA_DIR_
+   if(data = e_config_domain_system_load(domain, edd))
+     {
+        char cmd[PATH_MAX];
+        e_prefix_data_snprintf(buf, sizeof(buf), "config");
+
+        snprintf(cmd, sizeof(cmd), "/bin/cp -rf %s/* %s/.e", buf, getenv("HOME"));
+        system(cmd);
+
+        return e_config_domain_load(domain, edd);
+     }
+#endif
    return e_config_domain_system_load(domain, edd);
 }
 
@@ -1667,6 +1682,10 @@ e_config_domain_system_load(const char *domain, E_Config_DD *edd)
 
    e_prefix_data_snprintf(buf, sizeof(buf), "data/config/%s/%s.cfg",
                           _e_config_profile, domain);
+#ifdef _F_COPY_FROM_DATA_DIR_
+   e_prefix_data_snprintf(buf, sizeof(buf), "config/e/config/%s/%s.cfg",
+                          _e_config_profile, domain);
+#endif
    ef = eet_open(buf, EET_FILE_MODE_READ);
    if (ef)
      {