Temporarily disable topic to make quassel compile again after sputdev merge
[quassel.git] / src / qtui / mainwin.cpp
index 2ae203d..cbe3526 100644 (file)
 #include "mainwin.h"
 
 #include "aboutdlg.h"
-#include "chatwidget.h"
 #include "bufferview.h"
 #include "bufferviewconfig.h"
 #include "bufferviewfilter.h"
 #include "bufferviewmanager.h"
 #include "channellistdlg.h"
+#include "chatmonitorfilter.h"
+#include "chatview.h"
 #include "client.h"
 #include "clientbacklogmanager.h"
 #include "coreinfodlg.h"
@@ -45,8 +46,6 @@
 #include "qtuisettings.h"
 #include "jumpkeyhandler.h"
 
-#include "uisettings.h"
-
 #include "selectionmodelsynchronizer.h"
 #include "mappedselectionmodel.h"
 
@@ -59,7 +58,7 @@
 #include "settingspages/highlightsettingspage.h"
 #include "settingspages/identitiessettingspage.h"
 #include "settingspages/networkssettingspage.h"
-
+#include "settingspages/notificationssettingspage.h"
 
 #include "debugconsole.h"
 #include "global.h"
@@ -100,12 +99,6 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent)
 
   installEventFilter(new JumpKeyHandler(this));
 
-  UiSettings uiSettings;
-  QString style = uiSettings.value("Style", QString("")).toString();
-  if(style != "") {
-    QApplication::setStyle(style);
-  }
-
 #ifdef HAVE_DBUS
   desktopNotifications = new org::freedesktop::Notifications(
                             "org.freedesktop.Notifications",
@@ -249,6 +242,7 @@ void MainWin::setupSettingsDlg() {
   settingsDlg->registerSettingsPage(new GeneralSettingsPage(settingsDlg));
   settingsDlg->registerSettingsPage(new HighlightSettingsPage(settingsDlg));
   settingsDlg->registerSettingsPage(new AliasesSettingsPage(settingsDlg));
+  settingsDlg->registerSettingsPage(new NotificationsSettingsPage(settingsDlg));
   //Category: General
   settingsDlg->registerSettingsPage(new IdentitiesSettingsPage(settingsDlg));
   settingsDlg->registerSettingsPage(new NetworksSettingsPage(settingsDlg));
@@ -293,26 +287,17 @@ void MainWin::setupNickWidget() {
 }
 
 void MainWin::setupChatMonitor() {
-#ifndef SPUTDEV
   VerticalDock *dock = new VerticalDock(tr("Chat Monitor"), this);
   dock->setObjectName("ChatMonitorDock");
 
-  ChatWidget *chatWidget = new ChatWidget(0, this);
-  chatWidget->show();
-  dock->setWidget(chatWidget);
+  ChatMonitorFilter *filter = new ChatMonitorFilter(Client::messageModel(), this);
+  ChatView *chatView = new ChatView(filter, this);
+  chatView->show();
+  dock->setWidget(chatView);
   dock->show();
 
-  Buffer *buf = Client::monitorBuffer();
-  if(!buf)
-    return;
-
-  chatWidget->setContents(buf->contents());
-  connect(buf, SIGNAL(msgAppended(AbstractUiMsg *)), chatWidget, SLOT(appendMsg(AbstractUiMsg *)));
-  connect(buf, SIGNAL(msgPrepended(AbstractUiMsg *)), chatWidget, SLOT(prependMsg(AbstractUiMsg *)));
-
   addDockWidget(Qt::TopDockWidgetArea, dock, Qt::Vertical);
   ui.menuViews->addAction(dock->toggleViewAction());
-#endif /* SPUTDEV */
 }
 
 void MainWin::setupInputWidget() {
@@ -607,18 +592,19 @@ void MainWin::receiveMessage(const Message &msg) {
 
     UiSettings uiSettings;
 
-#ifndef SPUTDEV
     bool displayBubble = uiSettings.value("NotificationBubble", QVariant(true)).toBool();
     bool displayDesktop = uiSettings.value("NotificationDesktop", QVariant(true)).toBool();
     if(displayBubble || displayDesktop) {
+/* // FIXME port
+    if(uiSettings.value("DisplayPopupMessages", QVariant(true)).toBool()) {
       // FIXME don't invoke style engine for this!
       QString text = QtUi::style()->styleString(Message::mircToInternal(msg.contents())).plainText;
       if(displayBubble) displayTrayIconMessage(title, text);
 #  ifdef HAVE_DBUS
       if(displayDesktop) sendDesktopNotification(title, text);
 #  endif
+    */
     }
-#endif
     if(uiSettings.value("AnimateTrayIcon", QVariant(true)).toBool()) {
       QApplication::alert(this);
       setTrayIconActivity(true);
@@ -661,24 +647,27 @@ void MainWin::sendDesktopNotification(const QString &title, const QString &messa
 
   if(!reply.isValid()) {
     /* ERROR */
-    qDebug() << "Error on sending notification...";
+    // could also happen if no notification service runs, so... whatever :)
+    //qDebug() << "Error on sending notification..." << reply.error();
     return;
   }
 
   notificationId = reply.value();
 
-  qDebug() << "ID: " << notificationId << " Time: " << QTime::currentTime().toString();
+  // qDebug() << "ID: " << notificationId << " Time: " << QTime::currentTime().toString();
 }
 
 
 void MainWin::desktopNotificationClosed(uint id, uint reason) {
-  qDebug() << "OID: " << notificationId << " ID: " << id << " Reason: " << reason << " Time: " << QTime::currentTime().toString();
+  Q_UNUSED(id); Q_UNUSED(reason);
+  // qDebug() << "OID: " << notificationId << " ID: " << id << " Reason: " << reason << " Time: " << QTime::currentTime().toString();
   notificationId = 0;
 }
 
 
 void MainWin::desktopNotificationInvoked(uint id, const QString & action) {
-  qDebug() << "OID: " << notificationId << " ID: " << id << " Action: " << action << " Time: " << QTime::currentTime().toString();
+  Q_UNUSED(id); Q_UNUSED(action);
+  // qDebug() << "OID: " << notificationId << " ID: " << id << " Action: " << action << " Time: " << QTime::currentTime().toString();
 }
 
 #endif /* HAVE_DBUS */
@@ -770,3 +759,16 @@ void MainWin::connectOrDisconnectFromNet() {
   else net->requestDisconnect();
 }
 
+
+
+void MainWin::on_actionDebugNetworkModel_triggered(bool) {
+  QTreeView *view = new QTreeView;
+  view->setAttribute(Qt::WA_DeleteOnClose);
+  view->setWindowTitle("Debug NetworkModel View");
+  view->setModel(Client::networkModel());
+  view->setColumnWidth(0, 250);
+  view->setColumnWidth(1, 250);
+  view->setColumnWidth(2, 80);
+  view->resize(610, 300);
+  view->show();
+}