diff options
author | Vincent Sanders <vince@kyllikki.org> | 2019-08-17 18:32:22 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2019-09-21 10:53:41 +0100 |
commit | 1fc51d1f4482243cc7d2a10517f04dcc471cef8e (patch) | |
tree | ef6d612bb53851d6c40499a96f5fe2083ce08b1a /frontends/gtk/gui.c | |
parent | 63fc84a25f97c811259dbf1af51fc045b95c5659 (diff) | |
download | netsurf-1fc51d1f4482243cc7d2a10517f04dcc471cef8e.tar.gz netsurf-1fc51d1f4482243cc7d2a10517f04dcc471cef8e.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; } |