cleaning up a bit (views menu and mainwin.cpp)
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 6 Jul 2008 12:11:03 +0000 (14:11 +0200)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sun, 6 Jul 2008 12:11:03 +0000 (14:11 +0200)
src/qtui/mainwin.cpp
src/qtui/mainwin.h
src/qtui/ui/mainwin.ui

index 52699e9..f3a4ab0 100644 (file)
@@ -130,12 +130,6 @@ void MainWin::init() {
   setupTopicWidget();
   setupChatMonitor();
   setupInputWidget();
-
-  QAction *toggleLockDocksAction = ui.menuViews->addAction(tr("Lock dock positions"));
-  toggleLockDocksAction->setCheckable(true);
-  connect(toggleLockDocksAction, SIGNAL(toggled(bool)), this, SLOT(lockVerticalDocks(bool)));
-  toggleLockDocksAction->setChecked(s.value("LockDocks", false).toBool());
-  
   setupStatusBar();
   setupSystray();
 
@@ -144,6 +138,10 @@ void MainWin::init() {
   // restore mainwin state
   restoreState(s.value("MainWinState").toByteArray());
 
+  // restore locked state of docks  
+  ui.actionLockDockPositions->setChecked(s.value("LockDocks", false).toBool());
+  
+
   setDisconnectedState();  // Disable menus and stuff
   showCoreConnectionDlg(true); // autoconnect if appropriate
 
@@ -175,12 +173,9 @@ void MainWin::setupMenus() {
   actionEditNetworks = new QAction(QIcon(":/22x22/actions/configure"), tr("Edit &Networks..."), this);
   ui.menuNetworks->addAction(actionEditNetworks);
   connect(actionEditNetworks, SIGNAL(triggered()), this, SLOT(showNetworkDlg()));
-  connect(ui.actionManageViews, SIGNAL(triggered()), this, SLOT(showManageViewsDlg()));
 }
 
 void MainWin::setupViews() {
-  QAction *separator = ui.menuViews->addSeparator();
-  separator->setData("__EOBV__");
   addBufferView();
 }
 
@@ -208,16 +203,7 @@ void MainWin::addBufferView(BufferViewConfig *config) {
   dock->show();
 
   addDockWidget(Qt::LeftDockWidgetArea, dock);
-
-  QAction *endOfBufferViews = 0;
-  foreach(QAction *action, ui.menuViews->actions()) {
-    if(action->data().toString() == "__EOBV__") {
-      endOfBufferViews = action;
-      break;
-    }
-  }
-  Q_CHECK_PTR(endOfBufferViews);
-  ui.menuViews->insertAction(endOfBufferViews, dock->toggleViewAction());
+  ui.menuBufferViews->addAction(dock->toggleViewAction());
 
   _netViews.append(dock);
 }
@@ -225,13 +211,10 @@ void MainWin::addBufferView(BufferViewConfig *config) {
 void MainWin::removeBufferView(int bufferViewConfigId) {
   QVariant actionData;
   BufferViewDock *dock;
-  foreach(QAction *action, ui.menuViews->actions()) {
+  foreach(QAction *action, ui.menuBufferViews->actions()) {
     actionData = action->data();
     if(!actionData.isValid())
       continue;
-    
-    if(actionData.toString() == "__EOBV__")
-      break;
 
     dock = qobject_cast<BufferViewDock *>(action->parent());
     if(dock && actionData.toInt() == bufferViewConfigId) {
@@ -260,12 +243,12 @@ void MainWin::showNetworkDlg() {
   dlg.exec();
 }
 
-void MainWin::showManageViewsDlg() {
+void MainWin::on_actionManageViews_triggered() {
   SettingsPageDlg dlg(new BufferViewSettingsPage(this), this);
   dlg.exec();
 }
 
-void MainWin::lockVerticalDocks(bool lock) {
+void MainWin::on_actionLockDockPositions_toggled(bool lock) {
   QList<VerticalDock *> docks = findChildren<VerticalDock *>();
   foreach(VerticalDock *dock, docks) {
     dock->showTitle(!lock);
@@ -469,13 +452,10 @@ void MainWin::disconnectedFromCore() {
   saveLayout();
   QVariant actionData;
   BufferViewDock *dock;
-  foreach(QAction *action, ui.menuViews->actions()) {
+  foreach(QAction *action, ui.menuBufferViews->actions()) {
     actionData = action->data();
     if(!actionData.isValid())
       continue;
-    
-    if(actionData.toString() == "__EOBV__")
-      break;
 
     dock = qobject_cast<BufferViewDock *>(action->parent());
     if(dock && actionData.toInt() != -1) {
index 453062f..5549cde 100644 (file)
@@ -79,8 +79,8 @@ class MainWin : public QMainWindow {
     void showChannelList(NetworkId netId = NetworkId());
     void showSettingsDlg();
     void showNetworkDlg();
-    void showManageViewsDlg();
-    void lockVerticalDocks(bool lock);
+    void on_actionManageViews_triggered();
+    void on_actionLockDockPositions_toggled(bool lock);
     void showAboutDlg();
     void showDebugConsole();
 
index e63a6bc..1e9b098 100644 (file)
     <property name="title" >
      <string>&amp;Views</string>
     </property>
-    <addaction name="actionManageViews" />
+    <widget class="QMenu" name="menuBufferViews" >
+     <property name="title" >
+      <string>Buffer Views</string>
+     </property>
+     <addaction name="actionManageViews" />
+     <addaction name="separator" />
+    </widget>
+    <addaction name="menuBufferViews" />
     <addaction name="separator" />
+    <addaction name="actionLockDockPositions" />
    </widget>
    <widget class="QMenu" name="menuHelp" >
     <property name="title" >
     <string>F7</string>
    </property>
   </action>
-  <action name="actionManageViews" >
+  <action name="actionManageViews2" >
    <property name="enabled" >
     <bool>true</bool>
    </property>
     <string>&amp;Edit Networks...</string>
    </property>
   </action>
+  <action name="actionManageViews" >
+   <property name="icon" >
+    <iconset resource="../../icons/icons.qrc" >
+     <normaloff>:/16x16/actions/oxygen/16x16/actions/view-tree.png</normaloff>:/16x16/actions/oxygen/16x16/actions/view-tree.png</iconset>
+   </property>
+   <property name="text" >
+    <string>Manage Buffer Views</string>
+   </property>
+  </action>
+  <action name="actionLockDockPositions" >
+   <property name="checkable" >
+    <bool>true</bool>
+   </property>
+   <property name="text" >
+    <string>Lock Dock Positions</string>
+   </property>
+  </action>
  </widget>
  <customwidgets>
   <customwidget>