annotate DataController.hpp @ 18:fcb7a71a22c1

Make it possible to turn off asserting for the RBTree template header.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Wed, 29 Aug 2012 20:04:05 +0200
parents b5943e4bf676
children fda70a362ed5
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 #include <QtCore/QObject>
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
8
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
9 class QAction;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
10 class QMainWindow;
9
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
11 class QMenu;
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
12 class QPoint;
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
13 class QSpinBox;
b5943e4bf676 Fix up header includes.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 5
diff changeset
14 class QTimer;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
15 class QTreeWidget;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
16 class QTreeWidgetItem;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
17
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
18 class DataController : QObject {
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
19 private:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
20 Q_OBJECT
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
21
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
22 public:
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
23 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
24 DataController(bool showGUI);
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
25 ~DataController();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
26
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
27 void findFiles(const QDir& dir, FileDBLink& dblink);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
28 static void findFiles(const QDir& dir, QStringList& list);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
29 static QStringList findFiles(const QDir& dir);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
30
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
31 void setDir(const QDir& dir);
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
32
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
33 public:
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
34 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
35
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
36 public slots:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
37 void cellDoubleClicked(int row, int column);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
38 bool toggleShowFullPath();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
39 void setShowFullPath(bool);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
40 void populate();
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
41 void delayPopulate();
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
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
44 signals:
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
45 void populateProgress(int);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
46
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
47 private slots:
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
48 void progressUpdate(int);
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
49 void deleteFile();
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
50 void itemDoubleClicked (QTreeWidgetItem * item, int column);
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
51 void contextMenuRequested(const QPoint&);
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
52
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
53 private:
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
54 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
55 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
56 void populate(bool showNameDups, bool showSizeDups,
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
57 bool showMTimeDups, bool showCheckSumDups,
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
58 float editDistanceCutoff);
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
59
4
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
60 void setupGUI();
f489b0c9bf99 Refactored to allow commandline tools to use DataController.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 2
diff changeset
61
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
62 QTreeWidgetItem* createItem(const FileDBLink::DBInfo& info);
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
63
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
64 bool showFullPath;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
65 QMainWindow* mw;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
66 QTreeWidget* tw;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
67
1
aae83c0a771d Refactor:
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 0
diff changeset
68 FileDBLink* dblink;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
69
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
70 QAction* nameFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
71 QAction* sizeFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
72 QAction* mtimeFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
73 QAction* checksumFilter;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
74 QSpinBox* editCutoffSpin;
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
75
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
76 QTimer* populateDelay;
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
77
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
78 QMenu* contextMenu;
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
79 QTreeWidgetItem* contextMenuItem;
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
80
2
2833b7f8884a Sql backend is working.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 1
diff changeset
81 QDir dir;
5
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
82
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
83 bool showGUI;
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
84
5e4985407feb Add commandline tool updateDeDupe.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 4
diff changeset
85 int progressMax;
0
a3834af36579 Working with memory backend.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
diff changeset
86 };
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 #endif //DATACONTROLLER_HPP