diff options
| author | David Lerch <[email protected]> | 2021-01-30 12:11:22 +0100 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2021-07-04 10:24:07 +0000 |
| commit | aba4462e0238d6075e8822d56a78372eacfa7d2e (patch) | |
| tree | 1b735f8959036ff66568ad209416d3b1362bff7f /src/kitemviews/kfileitemlistwidget.cpp | |
| parent | 8048e6ed1bee096fb82fa2335d533779c89c809a (diff) | |
Add support for hover sequence thumbnails (via ThumbSequenceCreator)
This shows a slideshow of thumbs when the user hovers a file item.
Diffstat (limited to 'src/kitemviews/kfileitemlistwidget.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemlistwidget.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemlistwidget.cpp b/src/kitemviews/kfileitemlistwidget.cpp index 1b38176cc..587603ab3 100644 --- a/src/kitemviews/kfileitemlistwidget.cpp +++ b/src/kitemviews/kfileitemlistwidget.cpp @@ -5,6 +5,7 @@ */ #include "kfileitemlistwidget.h" +#include "kfileitemlistview.h" #include "kfileitemmodel.h" #include "kitemlistview.h" @@ -13,6 +14,8 @@ #include <KFormat> #include <KLocalizedString> +#include <QGraphicsScene> +#include <QGraphicsView> #include <QMimeDatabase> KFileItemListWidgetInformant::KFileItemListWidgetInformant() : @@ -170,3 +173,49 @@ int KFileItemListWidget::selectionLength(const QString& text) const return selectionLength; } +void KFileItemListWidget::hoverSequenceStarted() +{ + KFileItemListView* view = listView(); + + if (!view) { + return; + } + + const QUrl itemUrl = data().value("url").toUrl(); + + view->setHoverSequenceState(itemUrl, 0); +} + +void KFileItemListWidget::hoverSequenceIndexChanged(int sequenceIndex) +{ + KFileItemListView* view = listView(); + + if (!view) { + return; + } + + const QUrl itemUrl = data().value("url").toUrl(); + + view->setHoverSequenceState(itemUrl, sequenceIndex); + + // Force-update the displayed icon + invalidateIconCache(); + update(); +} + +void KFileItemListWidget::hoverSequenceEnded() +{ + KFileItemListView* view = listView(); + + if (!view) { + return; + } + + view->setHoverSequenceState(QUrl(), 0); +} + +KFileItemListView* KFileItemListWidget::listView() +{ + return dynamic_cast<KFileItemListView*>(parentItem()); +} + |
