summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/filesystemmodel.cpp
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-31 23:31:33 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-08-31 23:31:33 +1000
commit018a4a90b235b899b6174df53d394a6726fe39b1 (patch)
tree1e36272906cbf4151b9a4c94085b6f2acd420f56 /plugin/src/Caelestia/filesystemmodel.cpp
parentplugin: add FileSystemModel (diff)
downloadcaelestia-shell-018a4a90b235b899b6174df53d394a6726fe39b1.tar.gz
caelestia-shell-018a4a90b235b899b6174df53d394a6726fe39b1.tar.bz2
caelestia-shell-018a4a90b235b899b6174df53d394a6726fe39b1.zip
plugin/fsm: rename files -> entries
Also rename filter & add props
Diffstat (limited to 'plugin/src/Caelestia/filesystemmodel.cpp')
-rw-r--r--plugin/src/Caelestia/filesystemmodel.cpp42
1 files changed, 22 insertions, 20 deletions
diff --git a/plugin/src/Caelestia/filesystemmodel.cpp b/plugin/src/Caelestia/filesystemmodel.cpp
index 052b065..7cd2adc 100644
--- a/plugin/src/Caelestia/filesystemmodel.cpp
+++ b/plugin/src/Caelestia/filesystemmodel.cpp
@@ -10,15 +10,15 @@
int FileSystemModel::rowCount(const QModelIndex& parent) const {
Q_UNUSED(parent);
- return m_files.size();
+ return m_entries.size();
}
QVariant FileSystemModel::data(const QModelIndex& index, int role) const {
- if (!index.isValid() || index.row() >= m_files.size()) {
+ if (!index.isValid() || index.row() >= m_entries.size()) {
return QVariant();
}
- const FileSystemEntry* file = m_files.at(index.row());
+ const FileSystemEntry* file = m_entries.at(index.row());
switch (role) {
case FilePathRole:
return file->path();
@@ -91,8 +91,8 @@ void FileSystemModel::setFilter(Filter filter) {
update();
}
-QList<FileSystemEntry*> FileSystemModel::files() const {
- return m_files;
+QList<FileSystemEntry*> FileSystemModel::entries() const {
+ return m_entries;
}
void FileSystemModel::watchDirIfRecursive(const QString& path) {
@@ -106,7 +106,7 @@ void FileSystemModel::watchDirIfRecursive(const QString& path) {
void FileSystemModel::update() {
updateWatcher();
- updateFiles();
+ updateEntries();
}
void FileSystemModel::updateWatcher() {
@@ -122,50 +122,52 @@ void FileSystemModel::updateWatcher() {
watchDirIfRecursive(m_path);
}
-void FileSystemModel::updateFiles() {
+void FileSystemModel::updateEntries() {
if (m_path.isEmpty()) {
beginResetModel();
- qDeleteAll(m_files);
- m_files.clear();
- emit filesChanged();
+ qDeleteAll(m_entries);
+ m_entries.clear();
+ emit entriesChanged();
endResetModel();
return;
}
beginResetModel();
- qDeleteAll(m_files);
- m_files.clear();
+ qDeleteAll(m_entries);
+ m_entries.clear();
const auto flags = m_recursive ? QDirIterator::Subdirectories : QDirIterator::NoIteratorFlags;
std::optional<QDirIterator> iter;
- if (m_filter == ImagesOnly) {
+ if (m_filter == Images) {
QStringList filters;
for (const auto& format : QImageReader::supportedImageFormats()) {
filters << "*." + format;
}
iter.emplace(m_path, filters, QDir::Files, flags);
- } else {
+ } else if (m_filter == Files) {
iter.emplace(m_path, QDir::Files, flags);
+ } else {
+ iter.emplace(m_path, QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot, flags);
}
while (iter.value().hasNext()) {
- QString file = iter.value().next();
+ QString entry = iter.value().next();
- if (m_filter == ImagesOnly) {
- QImageReader reader(file);
+ if (m_filter == Images) {
+ QImageReader reader(entry);
if (reader.canRead()) {
- m_files << new FileSystemEntry(file, m_dir.relativeFilePath(file), this);
+ m_entries << new FileSystemEntry(entry, m_dir.relativeFilePath(entry), this);
}
} else {
- m_files << new FileSystemEntry(file, m_dir.relativeFilePath(file), this);
+ m_entries << new FileSystemEntry(entry, m_dir.relativeFilePath(entry), this);
}
}
- emit filesChanged();
+ emit entriesChanged();
endResetModel();
}