diff options
author | Vincent Sanders <vince@kyllikki.org> | 2019-08-17 18:32:22 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2019-08-20 16:41:11 +0100 |
commit | 3acfd76cfcd41827252eb9fd6dee26e645b9c55f (patch) | |
tree | 3c0f51f37593ad7a09bce5a1797161f0a105a020 /frontends/gtk/gui.c | |
parent | 6bce06b91f5efe51531aa4923137488cf21df132 (diff) | |
download | netsurf-3acfd76cfcd41827252eb9fd6dee26e645b9c55f.tar.gz netsurf-3acfd76cfcd41827252eb9fd6dee26e645b9c55f.tar.bz2 |
moved most of init to toolbar.c
Diffstat (limited to 'frontends/gtk/gui.c')
-rw-r--r-- | frontends/gtk/gui.c | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/frontends/gtk/gui.c b/frontends/gtk/gui.c index f0bee4eec..7f3331571 100644 --- a/frontends/gtk/gui.c +++ b/frontends/gtk/gui.c @@ -159,12 +159,15 @@ nsgtk_init_resource_path(const char *config_home) /** * Set option defaults for gtk frontend. * - * @param defaults The option table to update. - * @return error status. + * \param defaults The option table to update. + * \return error status. */ static nserror set_defaults(struct nsoption_s *defaults) { char *fname; + GtkSettings *settings; + GtkIconSize tooliconsize; + GtkToolbarStyle toolbarstyle; /* cookie file default */ fname = NULL; @@ -217,6 +220,35 @@ static nserror set_defaults(struct nsoption_s *defaults) nsoption_set_charp(font_cursive, strdup("Serif")); nsoption_set_charp(font_fantasy, strdup("Serif")); + /* Default toolbar button type to system defaults */ + + settings = gtk_settings_get_default(); + g_object_get(settings, + "gtk-toolbar-icon-size", &tooliconsize, + "gtk-toolbar-style", &toolbarstyle, NULL); + + switch (toolbarstyle) { + case GTK_TOOLBAR_ICONS: + if (tooliconsize == GTK_ICON_SIZE_SMALL_TOOLBAR) { + nsoption_set_int(button_type, 1); + } else { + nsoption_set_int(button_type, 2); + } + break; + + case GTK_TOOLBAR_TEXT: + nsoption_set_int(button_type, 4); + break; + + case GTK_TOOLBAR_BOTH: + case GTK_TOOLBAR_BOTH_HORIZ: + /* no labels in default configuration */ + default: + /* No system default, so use large icons */ + nsoption_set_int(button_type, 2); + break; + } + return NSERROR_OK; } |