diff options
Diffstat (limited to 'plugin/src/Caelestia/Models/filesystemmodel.hpp')
| -rw-r--r-- | plugin/src/Caelestia/Models/filesystemmodel.hpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/plugin/src/Caelestia/Models/filesystemmodel.hpp b/plugin/src/Caelestia/Models/filesystemmodel.hpp index 4ea5f0a..cd2240d 100644 --- a/plugin/src/Caelestia/Models/filesystemmodel.hpp +++ b/plugin/src/Caelestia/Models/filesystemmodel.hpp @@ -19,6 +19,7 @@ class FileSystemEntry : public QObject { Q_PROPERTY(QString path READ path CONSTANT) Q_PROPERTY(QString relativePath READ relativePath CONSTANT) Q_PROPERTY(QString name READ name CONSTANT) + Q_PROPERTY(QString baseName READ baseName CONSTANT) Q_PROPERTY(QString parentDir READ parentDir CONSTANT) Q_PROPERTY(QString suffix READ suffix CONSTANT) Q_PROPERTY(qint64 size READ size CONSTANT) @@ -32,6 +33,7 @@ public: [[nodiscard]] QString path() const; [[nodiscard]] QString relativePath() const; [[nodiscard]] QString name() const; + [[nodiscard]] QString baseName() const; [[nodiscard]] QString parentDir() const; [[nodiscard]] QString suffix() const; [[nodiscard]] qint64 size() const; @@ -60,7 +62,9 @@ class FileSystemModel : public QAbstractListModel { Q_PROPERTY(bool recursive READ recursive WRITE setRecursive NOTIFY recursiveChanged) Q_PROPERTY(bool watchChanges READ watchChanges WRITE setWatchChanges NOTIFY watchChangesChanged) Q_PROPERTY(bool showHidden READ showHidden WRITE setShowHidden NOTIFY showHiddenChanged) + Q_PROPERTY(bool sortReverse READ sortReverse WRITE setSortReverse NOTIFY sortReverseChanged) Q_PROPERTY(Filter filter READ filter WRITE setFilter NOTIFY filterChanged) + Q_PROPERTY(QStringList nameFilters READ nameFilters WRITE setNameFilters NOTIFY nameFiltersChanged) Q_PROPERTY(QList<FileSystemEntry*> entries READ entries NOTIFY entriesChanged) @@ -91,9 +95,15 @@ public: [[nodiscard]] bool showHidden() const; void setShowHidden(bool showHidden); + [[nodiscard]] bool sortReverse() const; + void setSortReverse(bool sortReverse); + [[nodiscard]] Filter filter() const; void setFilter(Filter filter); + [[nodiscard]] QStringList nameFilters() const; + void setNameFilters(const QStringList& nameFilters); + [[nodiscard]] QList<FileSystemEntry*> entries() const; signals: @@ -101,7 +111,9 @@ signals: void recursiveChanged(); void watchChangesChanged(); void showHiddenChanged(); + void sortReverseChanged(); void filterChanged(); + void nameFiltersChanged(); void entriesChanged(); void added(const FileSystemEntry* entry); @@ -117,7 +129,9 @@ private: bool m_recursive; bool m_watchChanges; bool m_showHidden; + bool m_sortReverse; Filter m_filter; + QStringList m_nameFilters; void watchDirIfRecursive(const QString& path); void update(); @@ -125,7 +139,7 @@ private: void updateEntries(); void updateEntriesForDir(const QString& dir); void applyChanges(const QSet<QString>& removedPaths, const QSet<QString>& addedPaths); - [[nodiscard]] static bool compareEntries(const FileSystemEntry* a, const FileSystemEntry* b); + [[nodiscard]] bool compareEntries(const FileSystemEntry* a, const FileSystemEntry* b) const; }; } // namespace caelestia |