diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-06-03 15:40:41 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2014-06-03 15:40:41 +0100 |
commit | d96e80542862e0fe379219421eb9b6f248b7390b (patch) | |
tree | 2e92fc7b6d986179b7383c8bd90e251ae437fbf9 /gtk | |
parent | d35b27d44e72bd4d1f2e532085af52b8120e8138 (diff) | |
download | netsurf-d96e80542862e0fe379219421eb9b6f248b7390b.tar.gz netsurf-d96e80542862e0fe379219421eb9b6f248b7390b.tar.bz2 |
Use search provider iterator to populate preferences dialog
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/dialogs/preferences.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gtk/dialogs/preferences.c b/gtk/dialogs/preferences.c index f5d92e361..f80500dfa 100644 --- a/gtk/dialogs/preferences.c +++ b/gtk/dialogs/preferences.c @@ -53,6 +53,7 @@ struct ppref { /* dynamic list stores */ GtkListStore *themes; GtkListStore *content_language; + GtkListStore *search_providers; }; static struct ppref ppref; @@ -938,8 +939,22 @@ nsgtk_preferences_comboSearch_changed(GtkComboBox *widget, struct ppref *priv) G_MODULE_EXPORT void nsgtk_preferences_comboSearch_realize(GtkWidget *widget, struct ppref *priv) { - gtk_combo_box_set_active(GTK_COMBO_BOX(widget), - nsoption_int(search_provider)); + int iter; + const char *name; + int provider = nsoption_int(search_provider); + + if (priv->search_providers != NULL) { + gtk_list_store_clear(priv->search_providers); + for (iter = search_web_iterate_providers(0, &name); + iter != -1; + iter = search_web_iterate_providers(iter, &name)) { + gtk_list_store_insert_with_values(priv->search_providers, + NULL, -1, + 0, name, -1); + } + } + + gtk_combo_box_set_active(GTK_COMBO_BOX(widget), provider); } @@ -1069,6 +1084,7 @@ GtkWidget* nsgtk_preferences(struct browser_window *bw, GtkWindow *parent) priv->entryHomePageURL = GB(ENTRY, entryHomePageURL); priv->themes = GB(LIST_STORE, liststore_themes); priv->content_language = GB(LIST_STORE, liststore_content_language); + priv->search_providers = GB(LIST_STORE, liststore_search_provider); priv->entryProxyHost = GB(ENTRY, entryProxyHost); priv->spinProxyPort = GB(SPIN_BUTTON, spinProxyPort); priv->entryProxyUser = GB(ENTRY, entryProxyUser); |