File indexing completed on 2025-04-27 04:04:21
0001 /* 0002 * SPDX-FileCopyrightText: (C) 2014 Vishesh Handa <vhanda@kde.org> 0003 * SPDX-FileCopyrightText: (C) 2017 Atul Sharma <atulsharma406@gmail.com> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.1-or-later 0006 */ 0007 0008 #ifndef FILESYSTEMTRACKER_H 0009 #define FILESYSTEMTRACKER_H 0010 0011 #include <QObject> 0012 #include <QSet> 0013 0014 class FileSystemTracker : public QObject 0015 { 0016 Q_OBJECT 0017 0018 public: 0019 explicit FileSystemTracker(QObject *parent = nullptr); 0020 virtual ~FileSystemTracker(); 0021 0022 void setFolder(const QString &folder); 0023 QString folder() const; 0024 0025 void setSubFolder(const QString &folder); 0026 void reindexSubFolder(); 0027 0028 void setupDb(); 0029 0030 signals: 0031 void imageAdded(const QString &filePath); 0032 void imageRemoved(const QString &filePath); 0033 void initialScanComplete(); 0034 void subFolderChanged(); 0035 0036 protected: 0037 void removeFile(const QString &filePath); 0038 0039 private slots: 0040 void slotNewFiles(const QStringList &files); 0041 void slotImageResult(const QString &filePath); 0042 void slotFetchFinished(); 0043 0044 private: 0045 QString m_folder; 0046 QString m_subFolder; 0047 QSet<QString> m_filePaths; 0048 }; 0049 0050 #endif