X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.h;h=3ec77f530d9bf18921a84b1ac92eae5b9bdf99aa;hp=41fb51a97c2f6c43a8f177f8a406a3a902365713;hb=53c7a85fd154fa18eab6217bfd4b173307c47e5d;hpb=db511df7b183771ae444f14d0aca42381ee0ae37 diff --git a/src/qtui/chatscene.h b/src/qtui/chatscene.h index 41fb51a9..3ec77f53 100644 --- a/src/qtui/chatscene.h +++ b/src/qtui/chatscene.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -72,6 +72,7 @@ public: virtual ~ChatScene(); inline QAbstractItemModel *model() const { return _model; } + inline MessageFilter *filter() const { return qobject_cast(_model); } inline QString idString() const { return _idString; } int rowByScenePos(qreal y) const; @@ -119,8 +120,10 @@ public: void requestBacklog(); +#ifdef HAVE_WEBKIT void loadWebPreview(ChatItem *parentItem, const QString &url, const QRectF &urlRect); void clearWebPreview(ChatItem *parentItem = 0); +#endif signals: void lastLineChanged(QGraphicsItem *item, qreal offset); @@ -142,8 +145,9 @@ protected slots: private slots: void firstHandlePositionChanged(qreal xpos); void secondHandlePositionChanged(qreal xpos); - void showWebPreviewEvent(); - void deleteWebPreviewEvent(); +#ifdef HAVE_WEBKIT + void webPreviewNextStep(); +#endif void showWebPreviewChanged(); void clickTimeout(); @@ -186,16 +190,25 @@ private: bool _showWebPreview; +#ifdef HAVE_WEBKIT struct WebPreview { + enum PreviewState { + NoPreview, + NewPreview, + DelayPreview, + ShowPreview, + HidePreview + }; ChatItem *parentItem; QGraphicsItem *previewItem; QString url; QRectF urlRect; - QTimer delayTimer; - QTimer deleteTimer; - WebPreview() : parentItem(0), previewItem(0) {} + PreviewState previewState; + QTimer timer; + WebPreview() : parentItem(0), previewItem(0), previewState(NoPreview) {} }; WebPreview webPreview; +#endif // HAVE_WEBKIT }; #endif