From 097cbe38ab5730d21f2c21eac9d3b56055c5ba36 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Mon, 17 Jul 2017 00:44:22 +0200 Subject: democompositor: Add method to scan entire directory for files Make this and the addFile a public slot to be more easily. Take all files from the directory and ignore the suffix. Change-Id: I8017c3a873a962ab0b4e7e5c9946403f1ee0ffcd Reviewed-by: Paul Olav Tvete --- wayland/democompositor/apps/applistmodel.cpp | 12 ++++++++++++ wayland/democompositor/apps/applistmodel.h | 2 ++ 2 files changed, 14 insertions(+) (limited to 'wayland') diff --git a/wayland/democompositor/apps/applistmodel.cpp b/wayland/democompositor/apps/applistmodel.cpp index 542f8a7..10c4c15 100644 --- a/wayland/democompositor/apps/applistmodel.cpp +++ b/wayland/democompositor/apps/applistmodel.cpp @@ -52,6 +52,8 @@ #include "appparser.h" #include "applog.h" +#include + static QHash modelRoles() { QHash roles; @@ -116,6 +118,16 @@ void AppListModel::addFile(const QString& fileName) endResetModel(); } +void AppListModel::addDir(const QString& dirName) +{ + QDirIterator dirIt(dirName, QDir::Files | QDir::NoDotAndDotDot | QDir::Readable); + + beginResetModel(); + while (dirIt.hasNext()) + doAddFile(dirIt.next()); + endResetModel(); +} + void AppListModel::doAddFile(const QString& fileName) { bool ok; diff --git a/wayland/democompositor/apps/applistmodel.h b/wayland/democompositor/apps/applistmodel.h index f8fc3e0..1cd79b4 100644 --- a/wayland/democompositor/apps/applistmodel.h +++ b/wayland/democompositor/apps/applistmodel.h @@ -78,7 +78,9 @@ public: QVariant data(const QModelIndex& index, int role) const Q_DECL_OVERRIDE; QHash roleNames() const Q_DECL_OVERRIDE; +public Q_SLOTS: void addFile(const QString& fileName); + void addDir(const QString& dirName); private: void doAddFile(const QString& fileName); -- cgit v1.2.3