┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinplacesmodelsingleton.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dolphinplacesmodelsingleton.h')
-rw-r--r--src/dolphinplacesmodelsingleton.h36
1 files changed, 33 insertions, 3 deletions
diff --git a/src/dolphinplacesmodelsingleton.h b/src/dolphinplacesmodelsingleton.h
index 645947aaa..996f9de78 100644
--- a/src/dolphinplacesmodelsingleton.h
+++ b/src/dolphinplacesmodelsingleton.h
@@ -10,7 +10,37 @@
#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;
+
+ bool panelsLocked() const;
+ void setPanelsLocked(bool locked);
+
+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;
+ bool m_panelsLocked = true; // common-case, panels are locked
+};
/**
* @brief Provides a global KFilePlacesModel instance.
@@ -21,7 +51,7 @@ class DolphinPlacesModelSingleton
public:
static DolphinPlacesModelSingleton& instance();
- KFilePlacesModel *placesModel() const;
+ DolphinPlacesModel *placesModel() const;
/** A suffix to the application-name of the stored bookmarks is
added, which is only read by PlacesItemModel. */
static QString applicationNameSuffix();
@@ -32,7 +62,7 @@ public:
private:
DolphinPlacesModelSingleton();
- QScopedPointer<KFilePlacesModel> m_placesModel;
+ QScopedPointer<DolphinPlacesModel> m_placesModel;
};
#endif // DOLPHINPLACESMODELSINGLETON_H