*/
#include "kfileitemlistwidget.h"
+#include "kfileitemlistview.h"
#include "kfileitemmodel.h"
#include "kitemlistview.h"
#include <KFormat>
#include <KLocalizedString>
+#include <QGraphicsScene>
+#include <QGraphicsView>
#include <QMimeDatabase>
KFileItemListWidgetInformant::KFileItemListWidgetInformant() :
if (dateTime.isValid()) {
text = formatDate(dateTime);
}
+ } else if (role == "dimensions") {
+ const auto dimensions = roleValue.toSize();
+ if (dimensions.isValid()) {
+ text = i18nc("width x height", "%1 x %2", dimensions.width(), dimensions.height());
+ }
} else {
text = KStandardItemListWidgetInformant::roleText(role, values);
}
return font;
}
-
KFileItemListWidget::KFileItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent) :
KStandardItemListWidget(informant, parent)
{
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());
+}
+