performance++
authorMarcus Eggenberger <egs@quassel-irc.org>
Thu, 1 May 2008 12:31:36 +0000 (12:31 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Thu, 1 May 2008 12:31:36 +0000 (12:31 +0000)
src/client/buffer.cpp
src/client/buffer.h
src/client/client.cpp
src/client/client.h
src/qtui/chatline-old.cpp
src/qtui/chatline-old.h
src/qtui/qtui.cpp
version.inc

index c6737bc..c020424 100644 (file)
@@ -42,7 +42,7 @@ BufferInfo Buffer::bufferInfo() const {
   return _bufferInfo;
 }
 
-QList<AbstractUiMsg *> Buffer::contents() const {
+const QList<AbstractUiMsg *> &Buffer::contents() const {
   return layoutedMsgs;
 }
 
@@ -55,7 +55,7 @@ void Buffer::appendMsg(const Message &msg) {
 
 void Buffer::prependMsg(const Message &msg) {
   // check for duplicate first
-  if(contents().count() > 0 && msg.msgId() >= contents().first()->msgId()) {
+  if(!layoutedMsgs.isEmpty()  && msg.msgId() >= layoutedMsgs.first()->msgId()) {
     return;
   }
   updateActivityLevel(msg);
@@ -63,18 +63,21 @@ void Buffer::prependMsg(const Message &msg) {
 }
 
 bool Buffer::layoutMsg() {
-  if(layoutQueue.count()) {
-    AbstractUiMsg *m = Client::layoutMsg(layoutQueue.takeFirst());
-    layoutedMsgs.prepend(m);
-    emit msgPrepended(m);
-  }
-  return layoutQueue.count();
+  if(layoutQueue.isEmpty())
+    return false;
+  
+  AbstractUiMsg *m = Client::layoutMsg(layoutQueue.takeFirst());
+  layoutedMsgs.prepend(m);
+  emit msgPrepended(m);
+
+  return !layoutQueue.isEmpty();
 }
 
 void Buffer::setVisible(bool visible) {
   _isVisible = visible;
   setActivityLevel(NoActivity);
-  if(!layoutedMsgs.count()) return;
+  if(layoutedMsgs.isEmpty())
+    return;
   setLastSeenMsg(layoutedMsgs.last()->msgId());
 }
 
index afaa07f..44e6efd 100644 (file)
@@ -50,7 +50,7 @@ public:
   Buffer(BufferInfo, QObject *parent = 0);
 
   BufferInfo bufferInfo() const;
-  QList<AbstractUiMsg *> contents() const;
+  const QList<AbstractUiMsg *> &contents() const;
   inline bool isVisible() const { return _isVisible; }
   inline MsgId lastSeenMsg() const { return _lastSeenMsg; }
   inline ActivityLevel activityLevel() const { return _activityLevel; }
@@ -74,7 +74,7 @@ private:
   MsgId _lastSeenMsg;
   ActivityLevel _activityLevel;
 
-  QList<Message> layoutQueue;
+  QLinkedList<Message> layoutQueue;
   QList<AbstractUiMsg *> layoutedMsgs;
 
   void updateActivityLevel(const Message &msg);
index 8d60689..536f2f7 100644 (file)
@@ -503,7 +503,7 @@ void Client::recvStatusMsg(QString /*net*/, QString /*msg*/) {
 void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) {
   Buffer *buffer_ = buffer(bufferId);
   if(!buffer_) {
-    qWarning() << "Client::recvBacklogData(): received Backlog for unknown Buffer:" << bufferId;
+    qWarning() << "Client::receiveBacklog(): received Backlog for unknown Buffer:" << bufferId;
     return;
   }
 
@@ -538,7 +538,7 @@ void Client::layoutMsg() {
   if(buffer->layoutMsg()) {
     layoutQueue.append(buffer);  // Buffer has more messages in its queue --> Round Robin
     return;
-  } 
+  }
 
   if(layoutQueue.isEmpty())
     layoutTimer->stop();
index b7e079e..bd31c32 100644 (file)
@@ -228,7 +228,7 @@ private:
   Buffer *_monitorBuffer;
 
   QTimer *layoutTimer;
-  QList<Buffer *> layoutQueue;
+  QLinkedList<Buffer *> layoutQueue;
 
   static AccountId _currentCoreAccount;
 
index 2df6bbb..497017d 100644 (file)
 /**
  * \param m   The message to be layouted and rendered
  */
-ChatLineOld::ChatLineOld(Message m) {
+QColor ChatLineOld::_highlightColor;
+ChatLineOld::ChatLineOld(const Message &m) {
   hght = 0;
-
   msg = m;
   selectionMode = None;
   isHighlight = false;
   formatMsg(msg);
 
-  QtUiSettings s("QtUi/Colors");
-  _highlightColor = s.value("highlightColor", QVariant(QColor("lightcoral"))).value<QColor>();
+  if(!_highlightColor.isValid()) {
+    QtUiSettings s("QtUi/Colors");
+    _highlightColor = s.value("highlightColor", QVariant(QColor("lightcoral"))).value<QColor>();
+  }
 }
 
 ChatLineOld::~ChatLineOld() {
-
 }
 
 void ChatLineOld::formatMsg(Message msg) {
index f4877a9..5ce5fc3 100644 (file)
@@ -44,7 +44,7 @@ class ChatLineOld : public QObject, public AbstractUiMsg {
   Q_OBJECT
 
   public:
-    ChatLineOld(Message message);
+    ChatLineOld(const Message &message);
     virtual ~ChatLineOld();
 
     qreal layout(qreal tsWidth, qreal nickWidth, qreal textWidth);
@@ -107,7 +107,7 @@ class ChatLineOld : public QObject, public AbstractUiMsg {
     QList<FormatRange> calcFormatRanges(const UiStyle::StyledText &);
     QList<FormatRange> calcFormatRanges(const UiStyle::StyledText &, const QTextLayout::FormatRange &additional);
 
-    QColor _highlightColor;
+    static QColor _highlightColor;
 };
 
 #endif
index a799359..b353921 100644 (file)
 #include "qtui.h"
 
 #include "mainwin.h"
+#include "chatline-old.h"
 
 QtUiStyle *QtUi::_style;
 
-QtUi::QtUi() : AbstractUi() {
+QtUi::QtUi()
+  : AbstractUi()
+{
   mainWin = new MainWin(this);
   _style = new QtUiStyle;
 
   connect(mainWin, SIGNAL(connectToCore(const QVariantMap &)), this, SIGNAL(connectToCore(const QVariantMap &)));
   connect(mainWin, SIGNAL(disconnectFromCore()), this, SIGNAL(disconnectFromCore()));
-
 }
 
 QtUi::~QtUi() {
@@ -47,7 +49,7 @@ QtUiStyle *QtUi::style() {
 }
 
 AbstractUiMsg *QtUi::layoutMsg(const Message &msg) {
-  return mainWin->layoutMsg(msg);
+  return new ChatLineOld(msg);
 }
 
 void QtUi::connectedToCore() {
index 98f829e..56d80ee 100644 (file)
@@ -4,8 +4,8 @@
 { using namespace Global;
 
   quasselVersion = "0.2.0-beta1-pre";
-  quasselDate = "2008-04-30";
-  quasselBuild = 800;
+  quasselDate = "2008-05-01";
+  quasselBuild = 803;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 731;