ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=1855b437afb706951deb6cc1b86f4b32811d8fc5

commit 1855b437afb706951deb6cc1b86f4b32811d8fc5
Author: Andy Williams <[email protected]>
Date:   Fri Nov 4 14:49:39 2016 +0000

    config: Move project config into global config area
    
    A little refactoring to get the project name to index this
---
 src/bin/edi_config.c | 13 ++++++++-----
 src/bin/edi_main.c   | 14 +++++++-------
 src/lib/Edi.h        |  9 +++++++++
 src/lib/edi.c        |  6 ++++++
 4 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/src/bin/edi_config.c b/src/bin/edi_config.c
index 6601e8b..b183f72 100644
--- a/src/bin/edi_config.c
+++ b/src/bin/edi_config.c
@@ -12,6 +12,9 @@
 
 #include "edi_private.h"
 
+#define EDI_CONFIG_NAME PACKAGE_NAME
+#define EDI_PROJECT_CONFIG_NAME "project"
+
 # define EDI_CONFIG_LIMIT(v, min, max) \
    if (v > max) v = max; else if (v < min) v = min;
 
@@ -76,7 +79,7 @@ _edi_project_config_dir_get(void)
    static char dir[PATH_MAX];
 
    if (!dir[0] && edi_project_get())
-     snprintf(dir, sizeof(dir), "%s/.edi", edi_project_get());
+     snprintf(dir, sizeof(dir), "%s/edi/%s", efreet_config_home_get(), 
edi_project_name_get());
 
    return dir;
 }
@@ -284,7 +287,7 @@ _edi_config_load(void)
 {
    Eina_Bool save = EINA_FALSE;
 
-   _edi_config = _edi_config_domain_load(_edi_config_dir_get(), PACKAGE_NAME, 
_edi_cfg_edd);
+   _edi_config = _edi_config_domain_load(_edi_config_dir_get(), 
EDI_CONFIG_NAME, _edi_cfg_edd);
    if (_edi_config)
      {
         Eina_Bool reload = EINA_FALSE;
@@ -332,7 +335,7 @@ _edi_config_load(void)
 void
 _edi_config_save(void)
 {
-   if (_edi_config_domain_save(_edi_config_dir_get(), PACKAGE_NAME, 
_edi_cfg_edd, _edi_config))
+   if (_edi_config_domain_save(_edi_config_dir_get(), EDI_CONFIG_NAME, 
_edi_cfg_edd, _edi_config))
      ecore_event_add(EDI_EVENT_CONFIG_CHANGED, NULL, NULL, NULL);
 }
 
@@ -408,7 +411,7 @@ _edi_project_config_load()
 {
    Eina_Bool save = EINA_FALSE;
 
-   _edi_project_config = 
_edi_config_domain_load(_edi_project_config_dir_get(), PACKAGE_NAME, 
_edi_proj_cfg_edd);
+   _edi_project_config = 
_edi_config_domain_load(_edi_project_config_dir_get(), EDI_PROJECT_CONFIG_NAME, 
_edi_proj_cfg_edd);
    if (_edi_project_config)
      {
         Eina_Bool reload = EINA_FALSE;
@@ -482,7 +485,7 @@ _edi_project_config_load()
 static Eina_Bool
 _edi_project_config_save_no_notify()
 {
-   return _edi_config_domain_save(_edi_project_config_dir_get(), PACKAGE_NAME, 
_edi_proj_cfg_edd, _edi_project_config);
+   return _edi_config_domain_save(_edi_project_config_dir_get(), 
EDI_PROJECT_CONFIG_NAME, _edi_proj_cfg_edd, _edi_project_config);
 }
 
 void
diff --git a/src/bin/edi_main.c b/src/bin/edi_main.c
index ed5e152..c0475a8 100644
--- a/src/bin/edi_main.c
+++ b/src/bin/edi_main.c
@@ -943,10 +943,10 @@ edi_toolbar_setup(Evas_Object *win)
 }
 
 static char *
-_edi_win_title_get(const char *path)
+_edi_win_title_get()
 {
-   char *winname, *dirname;
-   const char *type;
+   char *winname;
+   const char *name, *type;
    Edi_Build_Provider *provider;
    int len;
 
@@ -956,10 +956,10 @@ _edi_win_title_get(const char *path)
    else
      type = "unknown";
 
-   dirname = basename((char*)path);
-   len = 8 + 3 + strlen(dirname) + strlen(type);
+   name = edi_project_name_get();
+   len = 8 + 3 + strlen(name) + strlen(type);
    winname = malloc(len * sizeof(char));
-   snprintf(winname, len, "Edi :: %s (%s)", dirname, type);
+   snprintf(winname, len, "Edi :: %s (%s)", name, type);
 
    return winname;
 }
@@ -1045,7 +1045,7 @@ edi_open(const char *inputpath)
    elm_need_ethumb();
    elm_need_efreet();
 
-   winname = _edi_win_title_get(path);
+   winname = _edi_win_title_get();
    win = elm_win_util_standard_add("main", winname);
    free((char*)winname);
    if (!win) return EINA_FALSE;
diff --git a/src/lib/Edi.h b/src/lib/Edi.h
index 9f3e19b..4318528 100644
--- a/src/lib/Edi.h
+++ b/src/lib/Edi.h
@@ -120,6 +120,15 @@ EAPI Eina_Bool edi_project_set(const char *path);
 EAPI const char *edi_project_get(void);
 
 /**
+ * Get the name of the current edi project that is loaded.
+ *
+ * @return the name of the project that Edi is current working with.
+ *
+ * @ingroup Main
+ */
+EAPI const char *edi_project_name_get(void);
+
+/**
  * Get the path to a file within the current project.
  *
  * @param file The file within a project to get the absolute path for.
diff --git a/src/lib/edi.c b/src/lib/edi.c
index 4aa4d6b..225ce04 100644
--- a/src/lib/edi.c
+++ b/src/lib/edi.c
@@ -106,6 +106,12 @@ edi_project_get()
 }
 
 EAPI const char *
+edi_project_name_get()
+{
+   return basename((char*)edi_project_get());
+}
+
+EAPI const char *
 edi_project_file_path_get(const char *file)
 {
    return edi_path_append(edi_project_get(), file);

-- 


Reply via email to