I CAN HAZ WORDWRAPZcd /usr/local/layman/portage-kdecd devel/quassel
[quassel.git] / src / qtui / chatitem.h
index d6888c3..400b960 100644 (file)
@@ -65,7 +65,7 @@ class ChatItem : public QGraphicsItem {
 
   private:
     int heightForWidth(int width);
-    void layout();
+    QTextLayout *createLayout(QTextOption::WrapMode);
 
     QRectF _boundingRect;
     QFontMetricsF *_fontMetrics;
@@ -76,6 +76,26 @@ class ChatItem : public QGraphicsItem {
 
     QTextLayout *_layout;
     QList<quint16> _wrapPositions;
+
+    class WrapColumnFinder;
+};
+
+class ChatItem::WrapColumnFinder {
+  public:
+    WrapColumnFinder(ChatItem *parent);
+    ~WrapColumnFinder();
+
+    int nextWrapColumn();
+
+  private:
+    ChatItem *item;
+    QTextLayout *layout;
+    QTextLine line;
+    ChatLineModel::WrapList wrapList;
+    int wordidx;
+    int lastwrapcol;
+    qreal lastwrappos;
+    qreal w;
 };
 
 #endif