2 #ifndef DATA_DEDUPLICATION_SERVICE_MAINWINDOW_H
3 #define DATA_DEDUPLICATION_SERVICE_MAINWINDOW_H
6 #include <QTableWidget>
10 #include <QPushButton>
11 #include <QVBoxLayout>
12 #include <QHBoxLayout>
17 #include <QXmlStreamWriter>
18 #include <QXmlStreamReader>
19 #include <QXmlStreamAttribute>
20 #include <QSortFilterProxyModel>
23 #include <QProgressBar>
26 #include <QApplication>
27 #include <QDataWidgetMapper>
46 explicit MainWindow(QWidget *parent =
nullptr);
51 void readConfiguration();
53 void resizeEvent(QResizeEvent *event)
override;
65 void activateButtonsd();
75 void onloadDatabase();
77 void onConnectionChanged(
bool old);
81 void updateLeds(QModelIndex &idx);
83 void resetLeds(
int i);
85 void calculateCoefficient();
94 QAction *settingsAction;
100 QLineEdit *fileExportLE;
101 QLineEdit *dataseNameLE;
103 QComboBox *hashFunctionCoB;
104 QComboBox *segmentSizeCoB;
106 QPushButton *importPB;
107 QPushButton *exportPB;
108 QPushButton *deletePB;
109 QPushButton *connectPB;
114 QTextEdit *logTextField;
117 QGroupBox *includeOptionsArea;
118 QGroupBox *exportOptionsArea;
119 QGroupBox *databaseConfigurationArea;
120 QGroupBox *importFileArea;
121 QGroupBox *exportFileArea;
123 QGridLayout *mmLayout;
125 QGridLayout *incudeOptionLay;
126 QGridLayout *exportOptionLay;
127 QGridLayout *dbOptionLay;
128 QGridLayout *importFileAreaLay;
129 QGridLayout *exportFileAreaLay;
131 QLabel *labelSegmentSize;
132 QLabel *labelHashFunction;
135 QCheckBox *replaceFileCB;
136 QCheckBox *createMainCB;
137 QCheckBox *deleteFilesCB;
138 QCheckBox *dbUsageCB;
139 QCheckBox *compareCB;
141 QLCDNumber *fileDataSizeLCD;
142 QLCDNumber *segmentSizeLCD;
143 QLCDNumber *totalSizeLCD;
144 QLCDNumber *fileSegmentLCD;
145 QLCDNumber *totalRepeatedBlocksLCD;
146 QLCDNumber *dataToOriginalPercentageLCD;
147 QLCDNumber *totalRepetitionPercentageLCD;
148 QLCDNumber *importTimeLCD;
150 QLCDNumber *exportTimeLCD;
151 QLCDNumber *errorCountLCD;
152 QLCDNumber *deleteTimeLCD;
153 QLCDNumber *totalBlocksLCD;
154 QLCDNumber * checkTimeLCD;
155 QLCDNumber * uniquePercentage;
156 QLCDNumber *deduplicationPercentage;
157 QList<QLCDNumber *> list;
170 QRegularExpression re;
171 QRegularExpressionValidator *validator;
181 static QString toShortPath(
const QString &qString);
183 void updateStylesheet();
186 void compareExport(
const QString &exportee,
const QString &output,
bool isDirectory);
QLedIndicator class from https://store.kde.org/p/1132137/.
Definition: qledindicator.h:31
this class handles file/directory management and uses dbManager to perform calls
Definition: FileService.h:24
Pqxx model that retrieves database deduplication characteristic.
Definition: myPqxxModel.h:203
Tbale view that can be deselected.
Definition: myPqxxModel.h:271
Sort filter proxy model used for searching entry names.
Definition: myPqxxModel.h:221
Sort filter model that filters out all rows with NULL values.
Definition: myPqxxModel.h:245
Class that allow to choose either files or directories.
Definition: FileLineEdit.h:72
MainWindow class.
Definition: MainWindow.h:43
void connectionChanged(bool old)
Settings window.
Definition: SettingsWindow.h:24
logLevel
Definition: common.h:25
@ INFO
Definition: common.h:26
void writeLog(QTextEdit *logTextField, const QString &qLogMessage, logLevel lg)
Definition: common.cpp:24
models namespace
Definition: myPqxxModel.cpp:3
windows namespace
Definition: FileLineEdit.cpp:4
Structure to store and format connection string.
Definition: myConnString.h:15