]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinplacesmodelsingleton.h
Port back to KFilePlacesView
[dolphin.git] / src / dolphinplacesmodelsingleton.h
index 645947aaa0c190cb189cd75dbb5e67a0c69dd46b..7efe6e093cc6ff08e7bb8cd31b6cd1b45d172a44 100644 (file)
 #include <QString>
 #include <QScopedPointer>
 
-class KFilePlacesModel;
+#include <KFilePlacesModel>
+
+/**
+ * @brief Dolphin's special-cased KFilePlacesModel
+ *
+ * It returns the trash's icon based on whether
+ * it is full or not.
+ */
+class DolphinPlacesModel : public KFilePlacesModel
+{
+    Q_OBJECT
+
+public:
+    explicit DolphinPlacesModel(const QString &alternativeApplicationName, QObject *parent = nullptr);
+    ~DolphinPlacesModel() override;
+
+protected:
+    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
+
+private Q_SLOTS:
+    void slotTrashEmptinessChanged(bool isEmpty);
+
+private:
+    bool isTrash(const QModelIndex &index) const;
+
+    bool m_isEmpty = false;
+};
 
 /**
  * @brief Provides a global KFilePlacesModel instance.