summaryrefslogtreecommitdiff
path: root/frontends/gtk/gui.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2019-08-17 18:32:22 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-09-21 10:53:41 +0100
commit1fc51d1f4482243cc7d2a10517f04dcc471cef8e (patch)
treeef6d612bb53851d6c40499a96f5fe2083ce08b1a /frontends/gtk/gui.c
parent63fc84a25f97c811259dbf1af51fc045b95c5659 (diff)
downloadnetsurf-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.c36
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;
}