summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/tagnavi.config8
-rw-r--r--apps/tagtree.c12
2 files changed, 16 insertions, 4 deletions
diff --git a/apps/tagnavi.config b/apps/tagnavi.config
index b9d50c5c9b..74dfb1d1d9 100644
--- a/apps/tagnavi.config
+++ b/apps/tagnavi.config
@@ -2,8 +2,12 @@
# ^ Version header must be the first line of every file
# Tag Browser configuration file, do not edit as changes will be lost!
-# Instead, you can modify "/.rockbox/tagnavi_custom.config" which will never
-# get overwritten automatically.
+# Instead, copy this file to "/.rockbox/tagnavi_user.config" and edit
+# that, so your changes will not be overwritten automatically.
+#
+# If you only want to add menus and don't need to modify the default
+# ones, you can edit "/.rockbox/tagnavi_custom.config" instead, which
+# is included by this file and will not be overwritten automatically.
# Basic format declarations
%format "fmt_title" "%s - %02d:%02d (%s)" basename Lm Ls filename ? title == "<Untagged>"
diff --git a/apps/tagtree.c b/apps/tagtree.c
index 454875ded2..74f0021d6a 100644
--- a/apps/tagtree.c
+++ b/apps/tagtree.c
@@ -58,7 +58,8 @@
#define str_or_empty(x) (x ? x : "(NULL)")
-#define FILE_SEARCH_INSTRUCTIONS ROCKBOX_DIR "/tagnavi.config"
+#define TAGNAVI_DEFAULT_CONFIG ROCKBOX_DIR "/tagnavi.config"
+#define TAGNAVI_USER_CONFIG ROCKBOX_DIR "/tagnavi_user.config"
static int tagtree_play_folder(struct tree_context* c);
@@ -1262,7 +1263,14 @@ void tagtree_init(void)
if (tagtree_handle < 0)
panicf("tagtree OOM");
- if (!parse_menu(FILE_SEARCH_INSTRUCTIONS))
+ /* Use the user tagnavi config if present, otherwise use the default. */
+ const char* tagnavi_file;
+ if(file_exists(TAGNAVI_USER_CONFIG))
+ tagnavi_file = TAGNAVI_USER_CONFIG;
+ else
+ tagnavi_file = TAGNAVI_DEFAULT_CONFIG;
+
+ if (!parse_menu(tagnavi_file))
{
tagtree_unload(NULL);
return;