using a shared buffer for QTextBoundaryFinder
[quassel.git] / src / qtui / chatlinemodelitem.h
index 6256dc2..a2ef9b9 100644 (file)
 #ifndef CHATLINEMODELITEM_H_
 #define CHATLINEMODELITEM_H_
 
 #ifndef CHATLINEMODELITEM_H_
 #define CHATLINEMODELITEM_H_
 
-#include "messagemodel.h"
+#include <QVector>
+
+#include "chatlinemodel.h"
 #include "uistyle.h"
 
 #include "uistyle.h"
 
-class ChatlineModelItem : public MessageModelItem {
+class ChatLineModelItem : public MessageModelItem {
+public:
+  ChatLineModelItem(const Message &);
+
+  virtual QVariant data(int column, int role) const;
+  virtual inline bool setData(int column, const QVariant &value, int role) { return false; }
+
+private:
+  void computeWrapList();
 
 
-  public:
-    ChatlineModelItem(const Message &);
-    //virtual ~ChatlineModelItem() {};
+  struct ChatLinePart {
+    QString plainText;
+    UiStyle::FormatList formatList;
+  };
+  ChatLinePart _timestamp, _sender, _contents;
 
 
-    virtual QVariant data(int column, int role) const;
-    virtual bool setData(int column, const QVariant &value, int role);
+  ChatLineModel::WrapList _wrapList;
 
 
-  private:
-    UiStyle::StyledMessage _msg;
+  static unsigned char *TextBoundaryFinderBuffer;
+  static int TextBoundaryFinderBufferSize;
 };
 
 #endif
 };
 
 #endif