diff libgui/src/main-window.cc @ 15787:b081fbe80174

provide separate icons for gui's floating widgets * resource.qrc: add new icons to the list of resources * settings-dialog.ui: new tab with radio buttons for icon set * settings-dialog.cc: configure radio buttons in settings_dialog(), write the selected icon set to settings file in write_changed_settings() * resource-manager.h: added constasnts for the icon sets * main-window.cc: set the icons for all dock-widgets in notice-settings() * libgui/src/icons: added 12 icons (two sets of 6 icons)
author Torsten <ttl@justmail.de>
date Fri, 14 Dec 2012 13:18:14 +0100
parents d90b426b9988
children 424edeca3c66
line wrap: on
line diff
--- a/libgui/src/main-window.cc	Thu Dec 13 15:58:25 2012 -0500
+++ b/libgui/src/main-window.cc	Fri Dec 14 13:18:14 2012 +0100
@@ -215,6 +215,23 @@
     _terminal->setCursorType(QTerminalInterface::UnderlineCursor,
                              cursorBlinking);
 
+  // the widget's icons (when floating)
+  int icon_set = settings->value ("DockWidgets/widget_icon_set",0).toInt ();
+  QString icon_prefix = QString (WIDGET_ICON_SET_PREFIX[icon_set]);
+  QString icon;
+  foreach (QObject *obj, children ())
+    {
+      QString name = obj->objectName ();
+      if (obj->inherits("QDockWidget") && ! name.isEmpty ())
+        { // if children is a dockwidget with a name
+          QDockWidget *widget = qobject_cast<QDockWidget *> (obj);
+          icon = icon_prefix;  // prefix or octave-logo
+          if (icon_set)        // > 0 : each widget has individual icon
+            icon = icon + name + QString(".png");
+          widget->setWindowIcon (QIcon (icon));
+        }
+    }
+
   resource_manager::update_network_settings ();
 }