Wupps, Altlast-Alarm
authorManuel Nickschas <sputnick@quassel-irc.org>
Mon, 24 Aug 2009 23:11:06 +0000 (01:11 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Mon, 24 Aug 2009 23:16:03 +0000 (01:16 +0200)
MessageModelItem::_msg was never set or used. Thus, we shouldn't return that for
the MessageRole and rather delegate that to ChatLineModelItem...

src/client/messagemodel.cpp
src/client/messagemodel.h
src/qtui/chatlinemodelitem.cpp
src/qtui/chatlinemodelitem.h

index ab81fe2..ba5db09 100644 (file)
@@ -407,7 +407,7 @@ QVariant MessageModelItem::data(int column, int role) const {
     return QVariant();
 
   switch(role) {
-    case MessageModel::MessageRole: return QVariant::fromValue<Message>(_msg);
+    case MessageModel::MessageRole: return QVariant::fromValue<Message>(message());
     case MessageModel::MsgIdRole: return QVariant::fromValue<MsgId>(msgId());
     case MessageModel::BufferIdRole: return QVariant::fromValue<BufferId>(bufferId());
     case MessageModel::TypeRole: return msgType();
@@ -422,9 +422,6 @@ bool MessageModelItem::setData(int column, const QVariant &value, int role) {
   Q_UNUSED(column);
 
   switch(role) {
-  case MessageModel::FlagsRole:
-    _msg.setFlags((Message::Flags)value.toUInt());
-    return true;
   case MessageModel::RedirectedToRole:
     _redirectedTo = value.value<BufferId>();
     return true;
index 851509b..623efa6 100644 (file)
@@ -142,7 +142,6 @@ public:
   static bool lessThan(const MessageModelItem *m1, const MessageModelItem *m2);
 
 private:
-  Message _msg;
   BufferId _redirectedTo;
 };
 
index 343fb99..3613630 100644 (file)
@@ -52,6 +52,16 @@ ChatLineModelItem::ChatLineModelItem(const Message &msg)
     _styledMsg.setFlags(msg.flags() |= Message::ServerMsg);
 }
 
+bool ChatLineModelItem::setData(int column, const QVariant &value, int role) {
+  switch(role) {
+    case MessageModel::FlagsRole:
+      _styledMsg.setFlags((Message::Flags)value.toUInt());
+      return true;
+    default:
+      return MessageModelItem::setData(column, value, role);
+  }
+}
+
 QVariant ChatLineModelItem::data(int column, int role) const {
   if(role == ChatLineModel::MsgLabelRole)
     return messageLabel();
index 6eae1af..8f90d22 100644 (file)
@@ -30,6 +30,7 @@ public:
   ChatLineModelItem(const Message &);
 
   virtual QVariant data(int column, int role) const;
+  virtual bool setData(int column, const QVariant &value, int role);
 
   virtual inline const Message &message() const { return _styledMsg; }
   virtual inline const QDateTime &timestamp() const { return _styledMsg.timestamp(); }