Added Socks5 and HTTP-Proxy support to the client.
[quassel.git] / src / qtui / mainwin.cpp
index cb023cd..870c435 100644 (file)
@@ -30,6 +30,7 @@
 #include "networkmodel.h"
 #include "buffermodel.h"
 #include "nicklistwidget.h"
+#include "nicklistdock.h"
 #include "settingsdlg.h"
 #include "settingspagedlg.h"
 #include "signalproxy.h"
@@ -43,6 +44,7 @@
 #include "selectionmodelsynchronizer.h"
 #include "mappedselectionmodel.h"
 
+#include "settingspages/bufferviewsettingspage.h"
 #include "settingspages/colorsettingspage.h"
 #include "settingspages/fontssettingspage.h"
 #include "settingspages/generalsettingspage.h"
@@ -56,6 +58,7 @@
 MainWin::MainWin(QtUi *_gui, QWidget *parent)
   : QMainWindow(parent),
     gui(_gui),
+    systray(new QSystemTrayIcon(this)),
     activeTrayIcon(":/icons/quassel-icon-active.png"),
     inactiveTrayIcon(":/icons/quassel-icon.png"),
     trayIconActive(false),
@@ -192,22 +195,21 @@ void MainWin::setupSettingsDlg() {
   //Category: General
   settingsDlg->registerSettingsPage(new IdentitiesSettingsPage(settingsDlg));
   settingsDlg->registerSettingsPage(new NetworksSettingsPage(settingsDlg));
+  settingsDlg->registerSettingsPage(new BufferViewSettingsPage(settingsDlg));
 }
 
 void MainWin::setupNickWidget() {
   // create nick dock
-  nickDock = new QDockWidget(tr("Nicks"), this);
+  NickListDock *nickDock = new NickListDock(tr("Nicks"), this);
   nickDock->setObjectName("NickDock");
   nickDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
 
   nickListWidget = new NickListWidget(nickDock);
   nickDock->setWidget(nickListWidget);
 
-  nickListWidget->setShowDockAction(nickDock->toggleViewAction());
-  connect(nickDock->toggleViewAction(), SIGNAL(toggled(bool)), nickListWidget, SLOT(changedVisibility(bool)));
   addDockWidget(Qt::RightDockWidgetArea, nickDock);
-
-  ui.menuViews->addAction(nickListWidget->showNickListAction());
+  ui.menuViews->addAction(nickDock->toggleViewAction());
+  connect(nickDock->toggleViewAction(), SIGNAL(triggered(bool)), nickListWidget, SLOT(showWidget(bool)));
 
   // attach the NickListWidget to the BufferModel and the default selection
   nickListWidget->setModel(Client::bufferModel());
@@ -272,7 +274,6 @@ void MainWin::setupSystray() {
   connect(timer, SIGNAL(timeout()), this, SLOT(makeTrayIconBlink()));
   connect(Client::instance(), SIGNAL(messageReceived(const Message &)), this, SLOT(receiveMessage(const Message &)));
 
-  systray = new QSystemTrayIcon(this);
   systray->setIcon(inactiveTrayIcon);
 //  systray->setToolTip("left click to minimize the quassel client to tray");
 //  systray->setToolTip(toolTip);
@@ -430,9 +431,17 @@ void MainWin::receiveMessage(const Message &msg) {
       title += QString(" - %1").arg(sender);
     }
     QString text = QtUi::style()->styleString(Message::mircToInternal(msg.text())).text;
-    displayTrayIconMessage(title, text);
-    QApplication::alert(this);
-    setTrayIconActivity(true);
+
+    UiSettings uiSettings;
+
+    if(uiSettings.value("DisplayPopupMessages", QVariant(true)).toBool()) {
+      displayTrayIconMessage(title, text);
+    }
+
+    if(uiSettings.value("AnimateTrayIcon", QVariant(true)).toBool()) {
+      QApplication::alert(this);
+      setTrayIconActivity(true);
+    }
   }
 }