annotate DataController.hpp @ 93:308a718812ba

Small refactoring to allow lazy commits.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Tue, 22 Oct 2013 11:53:54 +0200
parents a60c26e34d1a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
1 #ifndef DATACONTROLLER_HPP
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
2 #define DATACONTROLLER_HPP
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
3
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
4 #include "FileDBLink.hpp"
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
5
9
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
6 #include <QtCore/QDir>
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
7
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
8 class QAction;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
9 class QMainWindow;
9
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
10 class QMenu;
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
11 class QPoint;
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
12 class QSpinBox;
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
13 class QTimer;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
14 class QTreeWidget;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
15 class QTreeWidgetItem;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
16
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
17 class DataController : QObject {
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
18 private:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
19 Q_OBJECT
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
20
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
21 public:
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
22 DataController(const QString& path, bool showGUI);
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
23 DataController(bool showGUI);
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
24 ~DataController();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
25
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
26 void findFiles(const QDir& dir, FileDBLink& dblink);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
27 static void findFiles(const QDir& dir, QStringList& list);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
28 static QStringList findFiles(const QDir& dir);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
29
34
fda70a362ed5 Remove whitespace.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 9
diff changeset
30 void setDir(const QDir& dir);
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
31
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
32 public:
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
33 void buildDB(const QDir& dir);
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
34
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
35 public slots:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
36 void cellDoubleClicked(int row, int column);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
37 bool toggleShowFullPath();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
38 void setShowFullPath(bool);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
39 void populate();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
40 void delayPopulate();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
41
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
42
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
43 signals:
93
308a718812ba Small refactoring to allow lazy commits.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 66
diff changeset
44 void populateProgress(int, int);
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
45
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
46 private slots:
66
a60c26e34d1a Avoid apprent hang in beginning, now application shows, but appears frosen.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 61
diff changeset
47 void initialPopulate();
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
48 void progressUpdate(int);
93
308a718812ba Small refactoring to allow lazy commits.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 66
diff changeset
49 void progressUpdate(int, int);
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
50 void deleteFile();
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
51 void itemDoubleClicked (QTreeWidgetItem * item, int column);
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
52 void contextMenuRequested(const QPoint&);
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
53
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
54 private:
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
55 static void setShowFullPath(QTreeWidgetItem* item, bool showFullPath);
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
56 void setup(const QString& dbpath, const QString& searchPath, bool showGUI);
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
57 void populate(bool showNameDups, bool showSizeDups,
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
58 bool showMTimeDups, bool showCheckSumDups,
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
59 float editDistanceCutoff);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
60
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
61 void setupGUI();
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
62
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
63 QTreeWidgetItem* createItem(const FileDBLink::DBInfo& info);
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
64
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
65 bool showFullPath;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
66 QMainWindow* mw;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
67 QTreeWidget* tw;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
68
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
69 FileDBLink* dblink;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
70
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
71 QAction* nameFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
72 QAction* sizeFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
73 QAction* mtimeFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
74 QAction* checksumFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
75 QSpinBox* editCutoffSpin;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
76
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
77 QTimer* populateDelay;
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
78
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
79 QMenu* contextMenu;
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
80 QTreeWidgetItem* contextMenuItem;
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
81
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
82 QDir dir;
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
83
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
84 bool showGUI;
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
85
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
86 int progressMax;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
87 };
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
88
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
89 #endif //DATACONTROLLER_HPP