2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #ifndef KFILEITEMLISTWIDGET_H
8 #define KFILEITEMLISTWIDGET_H
10 #include "dolphin_export.h"
11 #include "kitemviews/kstandarditemlistwidget.h"
13 class KFileItemListView
;
16 * @brief ItemList widget informant implementation for use with KFileItems.
18 * Code that does not expect KFileItems specifically should go to KStandardItemListWidgetInformant.
20 * @see KItemListWidgetInformant
22 class DOLPHIN_EXPORT KFileItemListWidgetInformant
: public KStandardItemListWidgetInformant
25 KFileItemListWidgetInformant();
26 ~KFileItemListWidgetInformant() override
;
29 QString
itemText(int index
, const KItemListView
*view
) const override
;
30 bool itemIsLink(int index
, const KItemListView
*view
) const override
;
31 QString
roleText(const QByteArray
&role
, const QHash
<QByteArray
, QVariant
> &values
) const override
;
32 QFont
customizedFontForLinks(const QFont
&baseFont
) const override
;
36 * @brief ItemList widget implementation for use with KFileItems.
38 * Code that does not expect KFileItems specifically should go to KStandardItemListWidget.
40 * @see KItemListWidget
42 class DOLPHIN_EXPORT KFileItemListWidget
: public KStandardItemListWidget
47 KFileItemListWidget(KItemListWidgetInformant
*informant
, QGraphicsItem
*parent
);
48 ~KFileItemListWidget() override
;
50 static KItemListWidgetInformant
*createInformant();
52 /// Force-update the displayed icon
56 virtual void hoverSequenceStarted() override
;
57 virtual void hoverSequenceIndexChanged(int sequenceIndex
) override
;
58 virtual void hoverSequenceEnded() override
;
60 bool isRoleRightAligned(const QByteArray
&role
) const override
;
61 bool isHidden() const override
;
62 QFont
customizedFont(const QFont
&baseFont
) const override
;
65 * @return Selection length without MIME-type extension in number of unicode characters, which might be different from number of QChars.
67 int selectionLength(const QString
&text
) const override
;
70 KFileItemListView
*listView();