summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/core/theme.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/src/gui/core/theme.c b/src/gui/core/theme.c
index 578bf9b..1345717 100644
--- a/src/gui/core/theme.c
+++ b/src/gui/core/theme.c
@@ -43,6 +43,7 @@
#include "../../common/extstr.h"
#include "../../common/xdg.h"
#include "../../core/logs.h"
+#include "../../core/paths.h"
@@ -50,18 +51,6 @@
static void look_for_editor_themes(const char *);
-/* Répertoires de recherche */
-static const char *_themes_directories[] = {
-
-#ifndef DISCARD_LOCAL
- PACKAGE_SOURCE_DIR G_DIR_SEPARATOR_S "themes",
-#else
- THEMES_DIR,
-#endif
- NULL
-
-};
-
/* Liste de thèmes utilisables */
static GEditorTheme **_themes = NULL;
static size_t _theme_count = 0;
@@ -84,7 +73,9 @@ void load_all_themes(void)
{
char *suffix; /* Fin du répertoire personnel */
char *owndir; /* Thèmes personnels ? */
- const char **iter; /* Boucle de parcours */
+#ifdef DISCARD_LOCAL
+ char *edir; /* Répertoire de base effectif */
+#endif
/* Répertoire de l'utilisateur en premier ! */
@@ -104,8 +95,15 @@ void load_all_themes(void)
/* Parcours des autres répertoires classiques au besoin */
- for (iter = _themes_directories; *iter != NULL; iter++)
- look_for_editor_themes(*iter);
+#ifndef DISCARD_LOCAL
+ look_for_editor_themes(PACKAGE_SOURCE_DIR G_DIR_SEPARATOR_S "themes");
+#else
+
+ edir = get_effective_directory(THEMES_DIR);
+ look_for_editor_themes(edir);
+ free(edir);
+
+#endif
}