File indexing completed on 2024-04-28 05:45:03
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KFILEITEMLISTWIDGET_H 0008 #define KFILEITEMLISTWIDGET_H 0009 0010 #include "dolphin_export.h" 0011 #include "kitemviews/kstandarditemlistwidget.h" 0012 0013 class KFileItemListView; 0014 0015 class DOLPHIN_EXPORT KFileItemListWidgetInformant : public KStandardItemListWidgetInformant 0016 { 0017 public: 0018 KFileItemListWidgetInformant(); 0019 ~KFileItemListWidgetInformant() override; 0020 0021 protected: 0022 QString itemText(int index, const KItemListView *view) const override; 0023 bool itemIsLink(int index, const KItemListView *view) const override; 0024 QString roleText(const QByteArray &role, const QHash<QByteArray, QVariant> &values) const override; 0025 QFont customizedFontForLinks(const QFont &baseFont) const override; 0026 }; 0027 0028 class DOLPHIN_EXPORT KFileItemListWidget : public KStandardItemListWidget 0029 { 0030 Q_OBJECT 0031 0032 public: 0033 KFileItemListWidget(KItemListWidgetInformant *informant, QGraphicsItem *parent); 0034 ~KFileItemListWidget() override; 0035 0036 static KItemListWidgetInformant *createInformant(); 0037 0038 /// Force-update the displayed icon 0039 void forceUpdate(); 0040 0041 protected: 0042 virtual void hoverSequenceStarted() override; 0043 virtual void hoverSequenceIndexChanged(int sequenceIndex) override; 0044 virtual void hoverSequenceEnded() override; 0045 0046 bool isRoleRightAligned(const QByteArray &role) const override; 0047 bool isHidden() const override; 0048 QFont customizedFont(const QFont &baseFont) const override; 0049 0050 /** 0051 * @return Selection length without MIME-type extension 0052 */ 0053 int selectionLength(const QString &text) const override; 0054 0055 private: 0056 KFileItemListView *listView(); 0057 }; 0058 0059 #endif