X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatitem.h;h=c2cb4ee48fc9a858dfd11a504c747fec908d6438;hp=b6e8a9cf70b62933077467426a846d2f27879fac;hb=7cef35ccdcb26ad547383537d3615644df703c9a;hpb=03d6711ea69594e8a4637b4ea20baeb9a109af9c diff --git a/src/qtui/chatitem.h b/src/qtui/chatitem.h index b6e8a9cf..c2cb4ee4 100644 --- a/src/qtui/chatitem.h +++ b/src/qtui/chatitem.h @@ -166,6 +166,9 @@ private: QList findClickables(); void endHoverMode(); + void showWebPreview(const Clickable &click); + void clearWebPreview(); + // WARNING: setGeometry and setHeight should not be used without either: // a) calling prepareGeometryChange() immediately before setColumns() @@ -202,46 +205,9 @@ struct ContentsChatItemPrivate : ChatItemPrivate { ContentsChatItem::Clickable currentClickable; bool hasDragged; - ContentsChatItemPrivate(QTextLayout *l, const QList &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; + ContentsChatItemPrivate(QTextLayout *l, const QList &c, ContentsChatItem *parent) : ChatItemPrivate(l), contentsItem(parent), clickables(c), hasDragged(false) {} }; -class ContentsChatItemPrivate::PreviewController : public QObject { - Q_OBJECT -public: - PreviewController(ContentsChatItem *contentsItem) : contentsItem(contentsItem), previewItem(0) {} - ~PreviewController(); - - void loadPage(const QString &url, const QRectF &urlRect); - -private slots: - void pageLoaded(bool success); - -private: - ContentsChatItem *contentsItem; - ContentsChatItemPrivate::PreviewItem *previewItem; - - QString url; -}; - -class QWebView; -class ContentsChatItemPrivate::PreviewItem : public QGraphicsItem { -public: - PreviewItem(QWebView *webView); - virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); - virtual inline QRectF boundingRect() const { return _boundingRect; } - -private: - QRectF _boundingRect; -}; //inlines regarding ContentsChatItemPrivate ContentsChatItemPrivate *ContentsChatItem::privateData() const { return (ContentsChatItemPrivate *)ChatItem::privateData(); }