fixing BR #261 (making fields removable from the chatmonitor). Changes effect current...
[quassel.git] / src / qtui / mainwin.cpp
index f82b971..9d0de30 100644 (file)
 #include "channellistdlg.h"
 #include "chatlinemodel.h"
 #include "chatmonitorfilter.h"
+#include "chatmonitorview.h"
 #include "chatview.h"
 #include "client.h"
 #include "clientbacklogmanager.h"
 #include "coreinfodlg.h"
 #include "coreconnectdlg.h"
+#include "msgprocessorstatuswidget.h"
+#include "qtuimessageprocessor.h"
 #include "networkmodel.h"
 #include "buffermodel.h"
 #include "nicklistwidget.h"
@@ -70,6 +73,7 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent)
     gui(_gui),
     coreLagLabel(new QLabel()),
     sslLabel(new QLabel()),
+    msgProcessorStatusWidget(new MsgProcessorStatusWidget()),
     _titleSetter(this),
     systray(new QSystemTrayIcon(this)),
     activeTrayIcon(":/icons/quassel-icon-active.png"),
@@ -292,7 +296,7 @@ void MainWin::setupChatMonitor() {
   dock->setObjectName("ChatMonitorDock");
 
   ChatMonitorFilter *filter = new ChatMonitorFilter(Client::messageModel(), this);
-  ChatView *chatView = new ChatView(filter, this);
+  ChatMonitorView *chatView = new ChatMonitorView(filter, this);
   chatView->show();
   dock->setWidget(chatView);
   dock->show();
@@ -335,6 +339,10 @@ void MainWin::setupTopicWidget() {
 }
 
 void MainWin::setupStatusBar() {
+  // MessageProcessor progress
+  statusBar()->addPermanentWidget(msgProcessorStatusWidget);
+  connect(Client::messageProcessor(), SIGNAL(progressUpdated(int, int)), msgProcessorStatusWidget, SLOT(setProgress(int, int)));
+
   // Core Lag:
   updateLagIndicator(0);
   statusBar()->addPermanentWidget(coreLagLabel);
@@ -451,7 +459,7 @@ void MainWin::saveLayout() {
 }
 
 void MainWin::updateLagIndicator(int lag) {
-  coreLagLabel->setText(QString("Core Lag: %1 msec").arg(lag));
+  coreLagLabel->setText(QString(tr("Core Lag: %1 msec")).arg(lag));
 }
 
 
@@ -583,6 +591,9 @@ void MainWin::messagesInserted(const QModelIndex &parent, int start, int end) {
   if(QApplication::activeWindow() != 0)
     return;
 
+  // FIXME
+  return;
+
   for(int i = start; i <= end; i++) {
     QModelIndex idx = Client::messageModel()->index(i, ChatLineModel::ContentsColumn);
     if(!idx.isValid()) {
@@ -594,12 +605,7 @@ void MainWin::messagesInserted(const QModelIndex &parent, int start, int end) {
     BufferInfo::Type bufType = Client::networkModel()->bufferType(bufId);
 
     if(flags & Message::Highlight || bufType == BufferInfo::QueryBuffer) {
-      QString title = Client::networkModel()->networkName(bufId); qDebug() << bufId << "title" << title;
-      if(bufType == BufferInfo::QueryBuffer) {
-        QString sender = Client::messageModel()->index(i, ChatLineModel::SenderColumn).data(ChatLineModel::DisplayRole).toString();
-        sender = sender.mid(1, sender.length() - 2); // remove < >
-        title += " - " + sender;
-      }
+      QString title = Client::networkModel()->networkName(bufId) + " - " + Client::networkModel()->bufferName(bufId);
 
       // FIXME Don't instantiate this for every highlight...
       UiSettings uiSettings;
@@ -608,12 +614,11 @@ void MainWin::messagesInserted(const QModelIndex &parent, int start, int end) {
       bool displayDesktop = uiSettings.value("NotificationDesktop", QVariant(true)).toBool();
       if(displayBubble || displayDesktop) {
         if(uiSettings.value("DisplayPopupMessages", QVariant(true)).toBool()) {
-          // FIXME don't invoke style engine for this!
           QString text = idx.data(ChatLineModel::DisplayRole).toString();
           if(displayBubble) displayTrayIconMessage(title, text);
-  #  ifdef HAVE_DBUS
+  ifdef HAVE_DBUS
           if(displayDesktop) sendDesktopNotification(title, text);
-  #  endif
+  endif
         }
         if(uiSettings.value("AnimateTrayIcon", QVariant(true)).toBool()) {
           QApplication::alert(this);