Notification backends now can emit a signal activated() that tells MainWin to raise...
[quassel.git] / src / qtui / mainwin.cpp
index 4957c90..e7205af 100644 (file)
@@ -116,20 +116,6 @@ MainWin::MainWin(QWidget *parent)
 
   installEventFilter(new JumpKeyHandler(this));
 
-#ifndef HAVE_KDE
-    QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this));
-    QtUi::registerNotificationBackend(new SystrayNotificationBackend(this));
-#  ifdef HAVE_PHONON
-    QtUi::registerNotificationBackend(new PhononNotificationBackend(this));
-#  endif
-#  ifdef HAVE_DBUS
-    QtUi::registerNotificationBackend(new DesktopNotificationBackend(this));
-#  endif
-
-#else /* HAVE_KDE */
-    QtUi::registerNotificationBackend(new KNotificationBackend(this));
-#endif /* HAVE_KDE */
-
   QtUiApplication* app = qobject_cast<QtUiApplication*> qApp;
   connect(app, SIGNAL(saveStateToSession(const QString&)), SLOT(saveStateToSession(const QString&)));
   connect(app, SIGNAL(saveStateToSessionSettings(SessionSettings&)), SLOT(saveStateToSessionSettings(SessionSettings&)));
@@ -158,7 +144,6 @@ void MainWin::init() {
   setupActions();
   setupBufferWidget();
   setupMenus();
-  setupViews();
   setupTopicWidget();
   setupChatMonitor();
   setupNickWidget();
@@ -167,6 +152,20 @@ void MainWin::init() {
   setupSystray();
   setupTitleSetter();
 
+#ifndef HAVE_KDE
+  QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this));
+  QtUi::registerNotificationBackend(new SystrayNotificationBackend(this));
+#  ifdef HAVE_PHONON
+  QtUi::registerNotificationBackend(new PhononNotificationBackend(this));
+#  endif
+#  ifdef HAVE_DBUS
+  QtUi::registerNotificationBackend(new DesktopNotificationBackend(this));
+#  endif
+
+#else /* HAVE_KDE */
+  QtUi::registerNotificationBackend(new KNotificationBackend(this));
+#endif /* HAVE_KDE */
+
   // restore mainwin state
   restoreState(s.value("MainWinState").toByteArray());
 
@@ -303,20 +302,15 @@ void MainWin::setupBufferWidget() {
   setCentralWidget(_bufferWidget);
 }
 
-void MainWin::setupViews() {
-  addBufferView();
-}
-
 void MainWin::addBufferView(int bufferViewConfigId) {
   addBufferView(Client::bufferViewManager()->bufferViewConfig(bufferViewConfigId));
 }
 
 void MainWin::addBufferView(BufferViewConfig *config) {
-  BufferViewDock *dock;
-  if(config)
-    dock = new BufferViewDock(config, this);
-  else
-    dock = new BufferViewDock(this);
+  if(!config)
+    return;
+
+  BufferViewDock *dock = new BufferViewDock(config, this);
 
   //create the view and initialize it's filter
   BufferView *view = new BufferView(dock);