+struct ContentsChatItemPrivate : ChatItemPrivate {
+ ContentsChatItem *contentsItem;
+ QList<ContentsChatItem::Clickable> clickables;
+ ContentsChatItem::Clickable currentClickable;
+ bool hasDragged;
+
+ ContentsChatItemPrivate(QTextLayout *l, const QList<ContentsChatItem::Clickable> &c, ContentsChatItem *parent) : ChatItemPrivate(l), contentsItem(parent), clickables(c), hasDragged(false), controller(0) {}
+ ~ContentsChatItemPrivate();
+
+ void loadWebPreview(const QString &url, const QRectF &urlRect);
+ void clearPreview();
+
+private:
+ class PreviewController;
+ class PreviewItem;
+ PreviewController *controller;
+};