diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-31 23:31:33 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-31 23:31:33 +1000 |
| commit | 018a4a90b235b899b6174df53d394a6726fe39b1 (patch) | |
| tree | 1e36272906cbf4151b9a4c94085b6f2acd420f56 /plugin/src/Caelestia/filesystemmodel.cpp | |
| parent | plugin: add FileSystemModel (diff) | |
| download | caelestia-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.cpp | 42 |
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(); } |