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 /** @see KStandardItemListWidget::roleText(). */
32 QString
roleText(const QByteArray
&role
, const QHash
<QByteArray
, QVariant
> &values
, ForUsageAs forUsageAs
= ForUsageAs::DisplayedText
) const override
;
33 QFont
customizedFontForLinks(const QFont
&baseFont
) const override
;
35 friend class KItemListDelegateAccessible
;
39 * @brief ItemList widget implementation for use with KFileItems.
41 * Code that does not expect KFileItems specifically should go to KStandardItemListWidget.
43 * @see KItemListWidget
45 class DOLPHIN_EXPORT KFileItemListWidget
: public KStandardItemListWidget
50 KFileItemListWidget(KItemListWidgetInformant
*informant
, QGraphicsItem
*parent
);
51 ~KFileItemListWidget() override
;
53 static KItemListWidgetInformant
*createInformant();
55 /// Force-update the displayed icon
59 virtual void hoverSequenceStarted() override
;
60 virtual void hoverSequenceIndexChanged(int sequenceIndex
) override
;
61 virtual void hoverSequenceEnded() override
;
63 bool isRoleRightAligned(const QByteArray
&role
) const override
;
64 bool isHidden() const override
;
65 QFont
customizedFont(const QFont
&baseFont
) const override
;
68 * @return Selection length without MIME-type extension in number of unicode characters, which might be different from number of QChars.
70 int selectionLength(const QString
&text
) const override
;
73 KFileItemListView
*listView();