Introduce QtUiStyleSettings and make highlight color configurable again
[quassel.git] / src / client / client.cpp
index 110c8ff..f9665c6 100644 (file)
@@ -77,7 +77,7 @@ Client::Client(QObject *parent)
 {
   _monitorBuffer = new Buffer(BufferInfo(), this);
   _signalProxy->synchronize(_ircListHelper);
-  
+
   connect(_backlogManager, SIGNAL(backlog(BufferId, const QVariantList &)),
          this, SLOT(receiveBacklog(BufferId, const QVariantList &)));
 }
@@ -126,11 +126,6 @@ void Client::init() {
   connect(this, SIGNAL(connected()), mainUi, SLOT(connectedToCore()));
   connect(this, SIGNAL(disconnected()), mainUi, SLOT(disconnectedFromCore()));
 
-  layoutTimer = new QTimer(this);
-  layoutTimer->setInterval(0);
-  layoutTimer->setSingleShot(false);
-  connect(layoutTimer, SIGNAL(timeout()), this, SLOT(layoutMsg()));
-
 }
 
 /*** public static methods ***/
@@ -357,6 +352,7 @@ void Client::disconnectFromCore() {
     _bufferViewManager = 0;
   }
 
+  _messageModel->clear();
   _networkModel->clear();
 
   QHash<BufferId, Buffer *>::iterator bufferIter =  _buffers.begin();
@@ -389,8 +385,6 @@ void Client::disconnectFromCore() {
   }
   Q_ASSERT(_identities.isEmpty());
 
-  layoutQueue.clear();
-  layoutTimer->stop();
 }
 
 void Client::setCoreConfiguration(const QVariantMap &settings) {
@@ -441,6 +435,7 @@ void Client::recvMessage(const Message &msg_) {
   Message msg = msg_;
   checkForHighlight(msg);
   _messageModel->insertMessage(msg);
+  buffer(msg.bufferInfo())->updateActivityLevel(msg);
 }
 
 void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) {
@@ -453,30 +448,11 @@ void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) {
     Message msg = v.value<Message>();
     checkForHighlight(msg);
     _messageModel->insertMessage(msg);
+    buffer(msg.bufferInfo())->updateActivityLevel(msg);
   }
   //qDebug() << "processed" << msgs.count() << "backlog lines in" << start.msecsTo(QTime::currentTime());
 }
 
-void Client::layoutMsg() {
-  if(layoutQueue.isEmpty()) {
-    layoutTimer->stop();
-    return;
-  }
-
-  Buffer *buffer = layoutQueue.takeFirst();
-  if(buffer->layoutMsg()) {
-    layoutQueue.append(buffer);  // Buffer has more messages in its queue --> Round Robin
-    return;
-  }
-
-  if(layoutQueue.isEmpty())
-    layoutTimer->stop();
-}
-
-AbstractUiMsg *Client::layoutMsg(const Message &msg) {
-  return instance()->mainUi->layoutMsg(msg);
-}
-
 // TODO optimize checkForHighlight
 void Client::checkForHighlight(Message &msg) {
   if(!((msg.type() & (Message::Plain | Message::Notice | Message::Action)) && !(msg.flags() & Message::Self)))
@@ -546,7 +522,6 @@ void Client::bufferRemoved(BufferId bufferId) {
   Buffer *buff = 0;
   if(_buffers.contains(bufferId)) {
     buff = _buffers.take(bufferId);
-    layoutQueue.removeAll(buff);
     disconnect(buff, 0, this, 0);
   }