summaryrefslogtreecommitdiff
path: root/gtk/dialogs
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2010-07-28 15:22:44 +0000
committerVincent Sanders <vince@netsurf-browser.org>2010-07-28 15:22:44 +0000
commitbda534e12a5071434d700d91750f9c1eaa422812 (patch)
treedf2f256fd55d6e5589e59074aba1ee6edada9848 /gtk/dialogs
parent4bfd6ea6f0b68202a00f9faa29ad6ff0144af0d9 (diff)
downloadnetsurf-bda534e12a5071434d700d91750f9c1eaa422812.tar.gz
netsurf-bda534e12a5071434d700d91750f9c1eaa422812.tar.bz2
Clean up how GTK frontend finds resources
svn path=/trunk/netsurf/; revision=10668
Diffstat (limited to 'gtk/dialogs')
-rw-r--r--gtk/dialogs/gtk_options.c47
1 files changed, 22 insertions, 25 deletions
diff --git a/gtk/dialogs/gtk_options.c b/gtk/dialogs/gtk_options.c
index b883195b4..dae0c8581 100644
--- a/gtk/dialogs/gtk_options.c
+++ b/gtk/dialogs/gtk_options.c
@@ -136,11 +136,9 @@ DECLARE(setDefaultExportOptions);
GtkDialog* nsgtk_options_init(struct browser_window *bw, GtkWindow *parent)
{
- char glade_location[strlen(res_dir_location) + SLEN("options.glade")
- + 1];
- sprintf(glade_location, "%soptions.glade", res_dir_location);
- LOG(("Using '%s' as Glade template file", glade_location));
- gladeFile = glade_xml_new(glade_location, NULL, NULL);
+ gladeFile = glade_xml_new(glade_options_file_location, NULL, NULL);
+ if (gladeFile == NULL)
+ return NULL;
current_browser = bw;
wndPreferences = GTK_DIALOG(glade_xml_get_widget(gladeFile,
@@ -288,7 +286,6 @@ GtkDialog* nsgtk_options_init(struct browser_window *bw, GtkWindow *parent)
void nsgtk_options_load(void)
{
GtkBox *box;
- char languagefile[strlen(res_dir_location) + SLEN("languages") + 1];
const char *default_accept_language =
option_accept_language ? option_accept_language : "en";
int combo_row_count = 0;
@@ -301,33 +298,33 @@ void nsgtk_options_load(void)
box = GTK_BOX(glade_xml_get_widget(gladeFile, "combolanguagevbox"));
comboLanguage = gtk_combo_box_new_text();
- sprintf(languagefile, "%slanguages", res_dir_location);
-
/* Populate combobox from languages file */
- fp = fopen((const char *) languagefile, "r");
- if (fp == NULL) {
- LOG(("Failed opening languages file"));
- warn_user("FileError", (const char *) languagefile);
- return;
- }
+ if ((languages_file_location != NULL) &&
+ ((fp = fopen(languages_file_location, "r")) != NULL)) {
+ LOG(("Used %s for languages", languages_file_location));
+ while (fgets(buf, sizeof(buf), fp)) {
+ /* Ignore blank lines */
+ if (buf[0] == '\0')
+ continue;
- while (fgets(buf, sizeof(buf), fp)) {
- /* Ignore blank lines */
- if (buf[0] == '\0')
- continue;
+ /* Remove trailing \n */
+ buf[strlen(buf) - 1] = '\0';
- /* Remove trailing \n */
- buf[strlen(buf) - 1] = '\0';
+ gtk_combo_box_append_text(GTK_COMBO_BOX(comboLanguage), buf);
- gtk_combo_box_append_text(GTK_COMBO_BOX(comboLanguage), buf);
+ if (strcmp(buf, default_accept_language) == 0)
+ active_language = combo_row_count;
- if (strcmp(buf, default_accept_language) == 0)
- active_language = combo_row_count;
+ combo_row_count++;
+ }
- combo_row_count++;
+ fclose(fp);
+ } else {
+ LOG(("Failed opening languages file"));
+ warn_user("FileError", languages_file_location);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(comboLanguage), "en");
}
- fclose(fp);
gtk_combo_box_set_active(GTK_COMBO_BOX(comboLanguage), active_language);
/** \todo localisation */