you can now lock the positions of the docks (inputline, chat monitor, topic) which...
[quassel.git] / src / qtui / mainwin.cpp
index 9390919..52699e9 100644 (file)
@@ -130,6 +130,12 @@ 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();
 
@@ -162,7 +168,7 @@ void MainWin::setupMenus() {
   connect(ui.actionQuit, SIGNAL(triggered()), QCoreApplication::instance(), SLOT(quit()));
   //connect(ui.actionNetworkList, SIGNAL(triggered()), this, SLOT(showServerList()));
   connect(ui.actionSettingsDlg, SIGNAL(triggered()), this, SLOT(showSettingsDlg()));
-  connect(ui.actionDebug_Console, SIGNAL(triggered()), this, SLOT(showDebugConsole()));
+  // connect(ui.actionDebug_Console, SIGNAL(triggered()), this, SLOT(showDebugConsole()));
   connect(ui.actionAboutQuassel, SIGNAL(triggered()), this, SLOT(showAboutDlg()));
   connect(ui.actionAboutQt, SIGNAL(triggered()), QApplication::instance(), SLOT(aboutQt()));
 
@@ -259,6 +265,14 @@ void MainWin::showManageViewsDlg() {
   dlg.exec();
 }
 
+void MainWin::lockVerticalDocks(bool lock) {
+  QList<VerticalDock *> docks = findChildren<VerticalDock *>();
+  foreach(VerticalDock *dock, docks) {
+    dock->showTitle(!lock);
+  }
+  QtUiSettings().setValue("LockDocks", lock);
+}
+
 void MainWin::setupNickWidget() {
   // create nick dock
   NickListDock *nickDock = new NickListDock(tr("Nicks"), this);