-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.h
381 lines (223 loc) · 9.02 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtCore>
#include <QStandardItemModel>
#include "mysortfilterproxymodel.h"
#include "treemodel.h"
#include "lastdevinfo.h"
#include "ledlamplistwidget.h"
#include "rescuescheduleswdgt.h"
#include "fireflyschedulestatuswdgt.h"
#include "fireflygroupschedulewdgt.h"
#include "instantpower4lampswdgt.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(const QFont &font4log, QWidget *parent = 0);
~MainWindow();
LastDevInfo *lDevInfo;
int defFontSize;
void loadMainSett();
signals:
// void conn2thisDev(int ,QString, QString , QString , quint16 , int , bool, bool);
void conn2thisDev(int, QString, QString, QString, QString, quint16, int, bool, bool, bool, QString, bool,bool);
void data2matilda(quint16 , QJsonObject );
void closeConnection();
void setSttsNewPixmap(QPixmap);
void setSttsNewTxt(QString);
void setNewConnStat(QString);
void conn2thisDevDbg(QString, quint16, int);
void closeConnectionDbg();
void uploadProgress(int,QString);
void hideWaitMess();
void showWaitMess(int);
void kickThrd();
void stopDaServer();
void startDaServer(qint8,quint16); //mode , port
void data2coordiantor(QByteArray);
void dataFromCoordinator(QByteArray);
void onDaServerStateS(bool);
void setEmptyHsh(bool empty);
//on dev type changed
void clearLastDevTreeModel();
private slots:
void initializeMatilda();
void on_pbLogIn_clicked();
void on_pbLogOut_clicked();
void manualResizePollStat();
void unCheckEvrDay();
void onLvMeterDataProfile_activated(const QModelIndex &index);
void onCheckDbNIfieldIsCorrect();
void on_actionDevice_triggered();
void on_actionHome_triggered();
void on_pbRead_clicked();
void on_pbWrite_clicked();
void mWrite2RemoteDev(quint16 command, QJsonObject jobj = QJsonObject());
void on_pushButton_2_clicked();
void on_pushButton_clicked();
void on_pbDrestart_clicked();
void on_pbReboot_clicked();
void on_pbResetGsm_clicked();
void on_pbResetEmbee_clicked();
void on_pbAddMeter_clicked();
void on_toolButton_5_clicked();
void on_gbMeterDataFromTo_2_clicked(bool checked);
void on_gbMeterDataYangerThan_2_clicked(bool checked);
void on_gbMeterDataFromTo_clicked(bool checked);
void on_gbMeterDataYangerThan_clicked(bool checked);
void on_toolButton_9_clicked();
void on_toolButton_10_clicked();
void on_gbMeterDataFromTo_3_clicked(bool checked);
void on_gbMeterDataYangerThan_3_clicked(bool checked);
void on_pbReadHashSumm_clicked();
void on_tvAddMeterTable_customContextMenuRequested(const QPoint &pos);
void onActEditAddMeterTable();
void onActWriteSeleted();
void onActWriteSeletedOn();
void onActWriteSeletedOff();
void onActWriteSeletedDeletePart();
void onActSelectedPollOnAddMeterTable();
void onActSelectedPollOffAddMeterTable();
void onActResetSortingAddMeterTable();
void onActDeleteSelectedAddMeterTable();
void on_tvAddMeterTable_doubleClicked(const QModelIndex &index);
void checkLineAddMeterNIandPasswd();
void on_pbDevCommands_clicked();
void on_pbOpenCloseDA_clicked(bool checked);
void on_tbAdd2SvahaService_2_clicked();
void on_tbAddDayProfile_2_clicked();
void on_tbAdd2SvahaService_clicked();
void on_tbAddDayProfile_clicked();
void on_toolButton_17_clicked();
void on_toolButton_18_clicked();
void on_toolButton_15_clicked();
void on_toolButton_16_clicked();
void on_tvSvahaService_2_clicked(const QModelIndex &index);
void on_tvDayProfiles4svaha_2_clicked(const QModelIndex &index);
void on_tvSvahaService_clicked(const QModelIndex &index);
void on_tvDayProfiles4svaha_clicked(const QModelIndex &index);
void on_toolButton_12_clicked();
void on_pbReadUdp_clicked();
void on_pbWriteUdp_clicked();
void on_pbAddForward_clicked();
void on_tvForward_clicked(const QModelIndex &index);
void on_tbDelFromForwardTable_clicked();
void on_pbWriteLocalTime_clicked();
void on_toolButton_2_clicked();
void on_toolButton_clicked();
void on_toolButton_3_clicked();
void on_actionLog_triggered();
void on_toolButton_11_clicked();
void on_toolButton_13_clicked();
void on_toolButton_19_clicked();
void on_toolButton_14_clicked();
void on_pushButton_9_clicked();
void on_pbLang_clicked();
void on_actionOptions_triggered();
void on_trDevOperation_clicked(const QModelIndex &index);
void on_pbReadSn_clicked();
void on_pbMeterDataShowHide_clicked(bool checked);
void on_pbMeterDataShowHide_2_clicked(bool checked);
void on_tbEvComment2txt_clicked(bool checked);
void on_actionHelp_triggered();
void on_cbChop_toggled(bool checked);
public slots:
void onConnectedStateChanged(bool isConnected);
void onConnectedStateChangedDbg(bool isConnected);
void data2gui(quint16 command, QJsonObject jobj);
void onErrorWrite();
void showMessage(QString message);
void showMessSmpl(QString message);
void authrizeAccess(int accessLevel); //0 - closed, 1 - root, 2 - operator, 3 - guest
void noAnswerFromDev();
void changeCounters(qint64 addThisVal, qint64 addThisValNotCompr, bool rec);
void onPhysValChanged(QStringList n,QStringList l);
void onDaServiceState(bool isListen);
void onYouCanSelectDevice(QStringList listDev);
void devTypeChanged(int devType, int version, QString sn);
void onLangSelected(QString lang);
void loadSettPageOptions();
void setActiveProtocolVersion(int protocolVersion);
private:
QList<int> getFilterList(const int &startIndx, const int &count) const;
int comboIndxFromKftntAndIntrvl(const qint32 &kftnt, const qint32 &intrvl) const;
qint32 intrvalValFromComboIndx(const int &indx) const;
QStringList listNiFromLine(const QString &aLine) const;
QString emailUtcOffset(const int &offst);
QVariantHash json2hash(const QByteArray &arrJson);
QDateTime tableName2DateTime(const QString &tableName, const qint32 addDays = 0, const bool useLocal = false) const;
QDateTime tableName2DateTime(const QString &tableName, const QString &dateFormat, const QString &timeFormat, const qint32 addDays = 0) const;
QDateTime tableVal2DateTime(const QString &text, const QString &mask, const bool useLocal = false) const;
QDateTime dateTimeFromStr(const QString &str);
QString humanByteView(QString str);
QString humanByteView(const qint64 &val);
bool connectionDown();
QStringList varList2strList(const QVariantList &list);
QVariantList strList2VarList(const QStringList &list);
QVariant strList2Var(const QStringList &list);
void createLanguageMenu();
void loadLanguage(const QString& rLanguage);
void saveMainSett();
void savePageOptions();
void onlvDevOperation_clicked(const QModelIndex &index);
private:
Ui::MainWindow *ui;
void createAddSmartLightingWidgets();
QStandardItemModel *modelDevOptions;
TreeModel *modelDevOptionsTree;
QStandardItemModel *modelAddMeter;
QStandardItemModel *modelProfile4DB;
QStandardItemModel *modelTarif4DB;
QStandardItemModel *modelPhVal4DB;
QStandardItemModel *modelDbData;
QStandardItemModel *modelTimeZone;
QStandardItemModel *modelDbDataEv;
QStandardItemModel *modelEvent4DB;
QStandardItemModel *modelPollStat;
QStandardItemModel *modelProfile4Hash;
QStandardItemModel *modelSvahaList;
QStandardItemModel *modelDayProfile4mac;
QStandardItemModel *modelPeredavatorHost;
QStandardItemModel *modelDayProfile4peredavator;
QStandardItemModel *modelForward;
MySortFilterProxyModel *proxy_modelForward ;
MySortFilterProxyModel *proxy_modelDevOptions;
MySortFilterProxyModel *proxy_modelAddMeter;
MySortFilterProxyModel *proxy_modelPhVal4DB;
MySortFilterProxyModel *proxy_modelDbData;
MySortFilterProxyModel *proxy_modelTimeZone;
MySortFilterProxyModel *proxy_modelDbDataEv;
MySortFilterProxyModel *proxy_modelPollStat;
QStringList lastTableList;
int totalTables, doneTables, blockDone;
QVariantHash lastSnMemoHash;
QHash<QString, Qt::CheckState > hChecked;
bool allowDate2utc;
bool dateInUtc;
quint16 readCommand;
quint16 writeCommand;
QString lastConnDevInfo;
QHash<int, QVariantHash> hashMemoWrite;
QString lastIpStr;
int lastTimeOutMS;
QList<QVariant> lRecoverLvDevHistory;
qint64 byteSend, lastByteSend;
qint64 byteReceiv, lastByteRec;
qint64 byteSendNotComprssd, lastSendNC;
qint64 byteReceivNotComprssd, lastRecNC;
QTranslator translator;
QString currLang;
bool youAreRoot, youAreOper;
int joingStts;
LedLampListWidget *lcuwdgt;
FireFlyGroupScheduleWdgt *lcuGroups;
InstantPower4lampsWdgt *lcuTemporary;
RescueSchedulesWdgt *lcuRescue;
FireflyScheduleStatusWdgt *lcuStatus;
};
#endif // MAINWINDOW_H