Fix issues with single and double clicks in ChatView
[quassel.git] / src / qtui / chatlinemodel.h
index b61bd66..4f64efe 100644 (file)
 class ChatLineModel : public MessageModel {
   Q_OBJECT
 
-  public:
-    enum ChatLineRole {
-      FormatRole = MessageModel::UserRole
-    };
+public:
+  enum ChatLineRole {
+    WrapListRole = MessageModel::UserRole
+  };
 
-    ChatLineModel(QObject *parent = 0);
-    virtual ~ChatLineModel();
+  ChatLineModel(QObject *parent = 0);
 
-  protected:
-    virtual MessageModelItem *createMessageModelItem(const Message &);
+  /// Used to store information about words to be used for wrapping
+  struct Word {
+    quint16 start;
+    qreal endX;
+    qreal width;
+    qreal trailing;
+  };
+  typedef QVector<Word> WrapList;
+
+protected:
+  virtual MessageModelItem *createMessageModelItem(const Message &);
 
 };
 
+QDataStream &operator<<(QDataStream &out, const ChatLineModel::WrapList);
+QDataStream &operator>>(QDataStream &in, ChatLineModel::WrapList &);
+
+Q_DECLARE_METATYPE(ChatLineModel::WrapList)
+
 #endif