# HG changeset patch # User zas_ # Date 1220092775 0 # Node ID 88ebc61e33aecb6c9b00c2c4ff59b34e3043025e # Parent fe82830ab8fd631e0bfe0e2617c17afb3442dfc3 Allow to override documentation paths through options: - documentation.helpdir - documentation.htmldir Default values are set at configure time. diff -r fe82830ab8fd -r 88ebc61e33ae src/options.c --- a/src/options.c Fri Aug 29 20:53:53 2008 +0000 +++ b/src/options.c Sat Aug 30 10:39:35 2008 +0000 @@ -37,6 +37,8 @@ options->color_profile.use_image = TRUE; options->dnd_icon_size = 48; + options->documentation.htmldir = NULL; + options->documentation.helpdir = NULL; options->duplicates_similarity_threshold = 99; options->enable_metadata_dirs = FALSE; @@ -199,6 +201,9 @@ options->shell.path = g_strdup(GQ_DEFAULT_SHELL_PATH); options->shell.options = g_strdup(GQ_DEFAULT_SHELL_OPTIONS); + + options->documentation.htmldir = g_strdup(GQ_HTMLDIR); + options->documentation.helpdir = g_strdup(GQ_HELPDIR); for (i = 0; ExifUIList[i].key; i++) ExifUIList[i].current = ExifUIList[i].default_value; diff -r fe82830ab8fd -r 88ebc61e33ae src/options.h --- a/src/options.h Fri Aug 29 20:53:53 2008 +0000 +++ b/src/options.h Sat Aug 30 10:39:35 2008 +0000 @@ -246,6 +246,12 @@ gchar *command_line; } html_browser; } helpers; + + /* Various paths and links to documentation */ + struct { + gchar *helpdir; + gchar *htmldir; + } documentation; }; ConfOptions *options; diff -r fe82830ab8fd -r 88ebc61e33ae src/rcfile.c --- a/src/rcfile.c Fri Aug 29 20:53:53 2008 +0000 +++ b/src/rcfile.c Sat Aug 30 10:39:35 2008 +0000 @@ -617,6 +617,10 @@ write_int_option(ssi, (gchar *)ExifUIList[i].key, ExifUIList[i].current); } + WRITE_SUBTITLE("Documentation Options"); + WRITE_CHAR(documentation.helpdir); + WRITE_CHAR(documentation.htmldir); + WRITE_SEPARATOR(); WRITE_SEPARATOR(); @@ -980,6 +984,11 @@ ExifUIList[i].current = strtol(value, NULL, 10); continue; } + + /* Documentation */ + READ_CHAR(documentation.helpdir); + READ_CHAR(documentation.htmldir); + } fclose(f); diff -r fe82830ab8fd -r 88ebc61e33ae src/window.c --- a/src/window.c Fri Aug 29 20:53:53 2008 +0000 +++ b/src/window.c Sat Aug 30 10:39:35 2008 +0000 @@ -177,6 +177,7 @@ static void help_browser_run(void) { + gchar *path; gchar *result; gint i; @@ -195,7 +196,9 @@ return; } - help_browser_command(result, GQ_HTMLDIR G_DIR_SEPARATOR_S "index.html"); + path = g_build_filename(options->documentation.htmldir, "index.html", NULL); + help_browser_command(result, path); + g_free(path); g_free(result); } @@ -215,6 +218,8 @@ void help_window_show(const gchar *key) { + gchar *path; + if (key && strcmp(key, "html_contents") == 0) { help_browser_run(); @@ -228,8 +233,9 @@ return; } - help_window = help_window_new(_("Help"), GQ_WMCLASS, "help", - GQ_HELPDIR G_DIR_SEPARATOR_S "README", key); + path = g_build_filename(options->documentation.helpdir, "README", NULL); + help_window = help_window_new(_("Help"), GQ_WMCLASS, "help", path, key); + g_free(path); g_signal_connect(G_OBJECT(help_window), "destroy", G_CALLBACK(help_window_destroy_cb), NULL);