From aba4462e0238d6075e8822d56a78372eacfa7d2e Mon Sep 17 00:00:00 2001 From: David Lerch Date: Sat, 30 Jan 2021 12:11:22 +0100 Subject: Add support for hover sequence thumbnails (via ThumbSequenceCreator) This shows a slideshow of thumbs when the user hovers a file item. --- src/kitemviews/kitemlistwidget.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/kitemviews/kitemlistwidget.h') diff --git a/src/kitemviews/kitemlistwidget.h b/src/kitemviews/kitemlistwidget.h index 86bbcaf14..2de82c6fb 100644 --- a/src/kitemviews/kitemlistwidget.h +++ b/src/kitemviews/kitemlistwidget.h @@ -15,6 +15,7 @@ #include #include #include +#include class KItemListSelectionToggle; class KItemListView; @@ -190,16 +191,36 @@ protected: virtual void editedRoleChanged(const QByteArray& current, const QByteArray& previous); void resizeEvent(QGraphicsSceneResizeEvent* event) override; + /** + * Called when the user starts hovering this item. + */ + virtual void hoverSequenceStarted(); + + /** + * Called in regular intervals while the user is hovering this item. + * + * @param sequenceIndex An index that increases over time while the user hovers. + */ + virtual void hoverSequenceIndexChanged(int sequenceIndex); + + /** + * Called when the user stops hovering this item. + */ + virtual void hoverSequenceEnded(); + /** * @return The current opacity of the hover-animation. When implementing a custom painting-code for a hover-state * this opacity value should be respected. */ qreal hoverOpacity() const; + int hoverSequenceIndex() const; + const KItemListWidgetInformant* informant() const; private Q_SLOTS: void slotHoverAnimationFinished(); + void slotHoverSequenceTimerTimeout(); private: void initializeSelectionToggle(); @@ -227,6 +248,9 @@ private: mutable QPixmap* m_hoverCache; QPropertyAnimation* m_hoverAnimation; + int m_hoverSequenceIndex; + QTimer m_hoverSequenceTimer; + KItemListSelectionToggle* m_selectionToggle; QByteArray m_editedRole; -- cgit v1.3.1