Merging r800:803 from trunk to branches/0.3.
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 1 May 2008 12:53:13 +0000 (12:53 +0000)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 1 May 2008 12:53:13 +0000 (12:53 +0000)
build/buildconf.pri
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
src/uisupport/nickviewfilter.cpp
src/uisupport/nickviewfilter.h
version.inc

index ddda143..25d9928 100644 (file)
@@ -8,9 +8,10 @@ release {
 }
 
 win32 { 
-  CONFIG = warn_on uic resources qt silent windows
-  static { 
-    CONFIG += release static
+  static {
+    CONFIG = release warn_on uic resources qt windows static
+  } else {
+    CONFIG = warn_on uic resources qt silent windows
   }
 }
 
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 5f22eef..a8cc7f9 100644 (file)
@@ -528,7 +528,7 @@ void Client::receiveBacklog(BufferId bufferId, const QVariantList &msgs) {
 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;
   }
 
@@ -564,7 +564,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 6cd8420..4e7eb0e 100644 (file)
@@ -230,7 +230,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 46c657c..e0fac9c 100644 (file)
 # include "chatlinemodel.h"
 #endif
 #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() {
@@ -59,7 +61,7 @@ MessageModel *QtUi::createMessageModel(QObject *parent) {
 }
 
 AbstractUiMsg *QtUi::layoutMsg(const Message &msg) {
-  return mainWin->layoutMsg(msg);
+  return new ChatLineOld(msg);
 }
 
 void QtUi::connectedToCore() {
index 907034d..5332769 100644 (file)
  ***************************************************************************/
 
 #include "nickviewfilter.h"
-
 #include "networkmodel.h"
-
 #include "uisettings.h"
 
-#include <QColor>
-
 /******************************************************************************************
  * NickViewFilter
  ******************************************************************************************/
@@ -37,6 +33,14 @@ NickViewFilter::NickViewFilter(const BufferId &bufferId, NetworkModel *parent)
   setDynamicSortFilter(true);
   setSortCaseSensitivity(Qt::CaseInsensitive);
   setSortRole(TreeModel::SortRole);
+  loadColors();
+}
+
+void NickViewFilter::loadColors() {
+  UiSettings s("QtUi/Colors");
+  _FgOnlineStatus = s.value("onlineStatusFG", QVariant(QColor(Qt::black))).value<QColor>();
+  _FgAwayStatus = s.value("awayStatusFG", QVariant(QColor(Qt::gray))).value<QColor>();
+  // FIXME: use the style interface instead of qsettings
 }
 
 QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
@@ -44,26 +48,12 @@ QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
     return foreground(index);
   else
     return QSortFilterProxyModel::data(index, role);
-//   else {
-//     QVariant d = 
-//     if(role == 0)
-//       qDebug() << index << role << d;
-//     return d;
-//   }
 }
 
 QVariant NickViewFilter::foreground(const QModelIndex &index) const {
-  UiSettings s("QtUi/Colors");
-  QVariant onlineStatusFG = s.value("onlineStatusFG", QVariant(QColor(Qt::black)));
-  QVariant awayStatusFG = s.value("awayStatusFG", QVariant(QColor(Qt::gray)));
-
   if(!index.data(NetworkModel::ItemActiveRole).toBool())
-    return awayStatusFG.value<QColor>();
-  
-  return onlineStatusFG.value<QColor>();
-  
-  // FIXME:: make colors configurable;
-  // FIXME: use the style interface instead of qsettings
+    return _FgAwayStatus;
+  return _FgOnlineStatus;
 }
 
 
index 38b7ca3..534600f 100644 (file)
 #ifndef NICKVIEWFILTER_H
 #define NICKVIEWFILTER_H
 
+#include <QColor>
 #include <QSortFilterProxyModel>
 #include "types.h"
 
 class NetworkModel;
 
 // This is proxymodel is purely for the sorting right now
-// the old nickmodel is stored for future reference in /devnotes
 class NickViewFilter : public QSortFilterProxyModel {
   Q_OBJECT
 
@@ -41,6 +41,10 @@ protected:
 
 private:
   BufferId _bufferId;
+  QColor _FgOnlineStatus;
+  QColor _FgAwayStatus;
+
+  void loadColors();
 };
 
 #endif
index fc54420..56d80ee 100644 (file)
@@ -4,8 +4,8 @@
 { using namespace Global;
 
   quasselVersion = "0.2.0-beta1-pre";
-  quasselDate = "2008-04-29";
-  quasselBuild = 797;
+  quasselDate = "2008-05-01";
+  quasselBuild = 803;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 731;