Added database backend for filesystemwatcher
diff --git a/filesystemwatcher/filesystemwatcher.h b/filesystemwatcher/filesystemwatcher.h
index d4ed8b6..3f78b6b 100644
--- a/filesystemwatcher/filesystemwatcher.h
+++ b/filesystemwatcher/filesystemwatcher.h
@@ -2,35 +2,49 @@
#define FILESYSTEMWATCHER_H
#include <QtGui>
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QSqlResult>
+#include <QDebug>
+#include <QHash>
namespace Ui {
-class filesystemwatcher;
+class FileSystemWatcher;
}
-class filesystemwatcher : public QMainWindow
+class FileSystemWatcher : public QMainWindow
{
Q_OBJECT
-
+
public:
// constructor
- filesystemwatcher(QString dirPath, QWidget *parent = 0);
+ FileSystemWatcher(QString dirPath, QWidget *parent = 0);
// destructor
- ~filesystemwatcher();
+ ~FileSystemWatcher();
private slots:
- // signal for changes to monitored files
- void fileChangedSlot(QString filePath);
-
// signal for changes to monitored directories
void dirChangedSlot(QString dirPath);
-
+
private:
- Ui::filesystemwatcher* m_ui; // user interface
+ // scan directory and populate file list
+ QHash<QString, QFileInfo> scanDirectory(QString filePath);
+
+ // reconcile directory, find changes
+ QStringList reconcileDirectory(QHash<QString, QFileInfo> fileList);
+
+ // create file table in database
+ bool createFileTable();
+
+private:
+ Ui::FileSystemWatcher* m_ui; // user interface
QFileSystemWatcher* m_watcher; // filesystem watcher
QStringListModel* m_listViewModel; // list view model
QListView* m_listView; // list
QString m_dirPath; // monitored path
+
+ QSqlDatabase m_db; // filesystem database
};
#endif // FILESYSTEMWATCHER_H