diff libgui/src/files-dock-widget.cc @ 16525:e192525236ad

configurable size of toolbar icons * settings-dialog.ui: new spin box for icon sizes * settings-dialog.cc: new setting toolbar_icon_size * file-editor.cc(notice_settings): read toolbar icon size from settings * files-dock-widget.cc/h: make toolbar a class variable (notice-settings): read toolbar icon size from settings and reduce by 4 pixels * main-window.cc/h: make toolbar a class variable (notice-settings): read toolbar icon size from settings
author Torsten <ttl@justmail.de>
date Tue, 16 Apr 2013 21:34:39 +0200
parents 87b78e75a2b9
children 016073c0cb94
line wrap: on
line diff
--- a/libgui/src/files-dock-widget.cc	Tue Apr 16 15:11:41 2013 -0400
+++ b/libgui/src/files-dock-widget.cc	Tue Apr 16 21:34:39 2013 +0200
@@ -62,12 +62,11 @@
            this, SLOT (notice_settings (const QSettings *)));
 
   // Create a toolbar
-  QToolBar *navigation_tool_bar = new QToolBar ("", container);
-  navigation_tool_bar->setAllowedAreas (Qt::TopToolBarArea);
-  navigation_tool_bar->setMovable (false);
-  navigation_tool_bar->setIconSize (QSize (20, 20));
+  _navigation_tool_bar = new QToolBar ("", container);
+  _navigation_tool_bar->setAllowedAreas (Qt::TopToolBarArea);
+  _navigation_tool_bar->setMovable (false);
 
-  _current_directory = new QComboBox (navigation_tool_bar);
+  _current_directory = new QComboBox (_navigation_tool_bar);
   _current_directory->setToolTip (tr ("Enter the path or filename"));
   _current_directory->setEditable(true);
   _current_directory->setMaxCount(MaxMRUDirs);
@@ -77,23 +76,23 @@
   _current_directory->setSizePolicy(sizePol);
 
   QAction *directory_up_action = new QAction (QIcon(":/actions/icons/up.png"),
-                                              "", navigation_tool_bar);
+                                              "", _navigation_tool_bar);
   directory_up_action->setToolTip (tr ("Move up one directory"));
 
   _sync_browser_directory_action = new QAction (QIcon(":/actions/icons/reload.png"),
-                                                "", navigation_tool_bar);
+                                                "", _navigation_tool_bar);
   _sync_browser_directory_action->setToolTip (tr ("Goto current octave directory"));
   _sync_browser_directory_action->setEnabled ("false");
 
   _sync_octave_directory_action = new QAction (QIcon(":/actions/icons/ok.png"),
-                                               "", navigation_tool_bar);
+                                               "", _navigation_tool_bar);
   _sync_octave_directory_action->setToolTip (tr ("Set octave directroy to current browser directory"));
   _sync_octave_directory_action->setEnabled ("false");
 
-  navigation_tool_bar->addWidget (_current_directory);
-  navigation_tool_bar->addAction (directory_up_action);
-  navigation_tool_bar->addAction (_sync_browser_directory_action);
-  navigation_tool_bar->addAction (_sync_octave_directory_action);
+  _navigation_tool_bar->addWidget (_current_directory);
+  _navigation_tool_bar->addAction (directory_up_action);
+  _navigation_tool_bar->addAction (_sync_browser_directory_action);
+  _navigation_tool_bar->addAction (_sync_octave_directory_action);
 
   connect (directory_up_action, SIGNAL (triggered ()), this,
            SLOT (change_directory_up ()));
@@ -146,7 +145,7 @@
   // Layout the widgets vertically with the toolbar on top
   QVBoxLayout *vbox_layout = new QVBoxLayout ();
   vbox_layout->setSpacing (0);
-  vbox_layout->addWidget (navigation_tool_bar);
+  vbox_layout->addWidget (_navigation_tool_bar);
   vbox_layout->addWidget (_file_tree_view);
   vbox_layout->setMargin (1);
 
@@ -512,6 +511,11 @@
 {
   // Qsettings pointer is checked before emitting.
 
+  int icon_size = settings->value ("toolbar_icon_size",24).toInt ();
+  if (icon_size > 16)
+    icon_size = icon_size - 4;
+  _navigation_tool_bar->setIconSize (QSize (icon_size,icon_size));
+
   // file names are always shown, other columns can be hidden by settings
   _file_tree_view->setColumnHidden (0, false);
   _file_tree_view->setColumnHidden (1, !settings->value ("filesdockwidget/showFileSize",false).toBool ());