-
Notifications
You must be signed in to change notification settings - Fork 0
/
parameters.h
416 lines (346 loc) · 17.7 KB
/
parameters.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
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
#ifndef PARAMETERS_H
#define PARAMETERS_H
#include <QObject>
#include <QList>
#include <QVariant>
#include "photo.h"
#include "photogallery.h"
#include "videoitem.h"
#include "photogallery.h"
#include "common.h"
#include "parameters.h"
#include "photoqueuemanager.h"
#include "wifimanager.h"
#include "printermanager.h"
#include "raspigpio.h"
class PhotoGallery;
class VideoItem;
class PhotoQueueManager;
class WifiManager;
class PrinterManager;
class Parameters : public QObject
{
Q_OBJECT
Q_PROPERTY(QList<QObject*> templates READ getTemplates WRITE setTemplates NOTIFY templatesChanged)
Q_PROPERTY(QList<QObject*> activesTemplates READ getActivesTemplates WRITE setActivesTemplates NOTIFY activeTemplatesChanged)
Q_PROPERTY(QList<QObject*> effects READ getEffects WRITE setEffects NOTIFY effectsChanged)
Q_PROPERTY(QList<QObject*> activeEffects READ getActivesEffects WRITE setActivesEffects NOTIFY effectsSelectedChanged)
Q_PROPERTY(QString effectDefault READ getEffectDefault WRITE setEffectDefault NOTIFY effectDefaultChanged)
Q_PROPERTY(PhotoGallery* photoGallery READ getPhotogallery WRITE setPhotogallery NOTIFY photoGalleryChanged)
Q_PROPERTY(QUrl applicationDirPath READ getApplicationDirPath WRITE setApplicationDirPath NOTIFY applicationDirPathChanged)
Q_PROPERTY(int nbprint READ getNbprint WRITE setNbprint NOTIFY nbPrintChanged)
Q_PROPERTY(int nbfreephotos READ getNbfreephotos WRITE setNbfreephotos NOTIFY nbfreephotoChanged)
Q_PROPERTY(float pricephoto READ getPricephoto WRITE setPricephoto NOTIFY pricephotoChanged)
Q_PROPERTY(bool flipcamera READ getFlipcamera WRITE setFlipcamera NOTIFY flipcameraChanged)
Q_PROPERTY(bool flipresult READ getFlipresult WRITE setFlipresult NOTIFY flipresultChanged)
Q_PROPERTY(QString backgroundImage READ getBackgroundImage WRITE setBackgroundImage NOTIFY backgroundImageChange)
Q_PROPERTY(int cameraHeight READ getCameraHight WRITE setCameraHight NOTIFY cameraHeightChange)
Q_PROPERTY(int cameraWidth READ getCameraWidth WRITE setCameraWidth NOTIFY cameraWidthChange)
Q_PROPERTY(bool blockPrint READ getBlockPrint WRITE setBlockPrint NOTIFY blockPrintChanged)
Q_PROPERTY(int blockPrintNb READ getBlockPrintNb WRITE setBlockPrintNb NOTIFY blockPrintNbChanged)
Q_PROPERTY(bool autoPrint READ getAutoPrint WRITE setAutoPrint NOTIFY autoPrintChanged)
Q_PROPERTY(int autoPrintDelay READ getAutoPrintDelay WRITE setAutoPrintDelay NOTIFY autoPrintDelayChanged)
Q_PROPERTY(int showPhotoDelay READ getShowPhotoDelay WRITE setShowPhotoDelay NOTIFY showPhotoDelayChanged)
Q_PROPERTY(bool mailActive READ getMailActive WRITE setMailActive NOTIFY mailChange)
Q_PROPERTY(QString mailFrom READ getMailFrom WRITE setMailFrom NOTIFY mailChange)
Q_PROPERTY(QString mailCc READ getMailCc WRITE setMailCc NOTIFY mailChange)
Q_PROPERTY(QString mailBcc READ getMailBcc WRITE setMailBcc NOTIFY mailChange)
Q_PROPERTY(QString mailSmtp READ getMailSmtp WRITE setMailSmtp NOTIFY mailChange)
Q_PROPERTY(QString mailPort READ getMailPort WRITE setMailPort NOTIFY mailChange)
Q_PROPERTY(QString mailUsername READ getMailUsername WRITE setMailUsername NOTIFY mailChange)
Q_PROPERTY(QString mailPassword READ getMailPassword WRITE setMailPassword NOTIFY mailChange)
Q_PROPERTY(QString mailSubject READ getMailSubject WRITE setMailSubject NOTIFY mailChange)
Q_PROPERTY(QString mailContent READ getMailContent WRITE setMailContent NOTIFY mailChange)
Q_PROPERTY(VideoItem* waitVideo READ waitVideo WRITE setWaitVideo NOTIFY parameterVideoChanged)
Q_PROPERTY(VideoItem* startGlobalPhotoProcessVideo READ startGlobalPhotoProcessVideo WRITE setStartGlobalPhotoProcessVideo NOTIFY parameterVideoChanged)
Q_PROPERTY(VideoItem* endGlobalPhotoProcessVideo READ endGlobalPhotoProcessVideo WRITE setEndGlobalPhotoProcessVideo NOTIFY parameterVideoChanged)
Q_PROPERTY(VideoItem* startPhotoProcessVideo READ startPhotoProcessVideo WRITE setStartPhotoProcessVideo NOTIFY parameterVideoChanged)
Q_PROPERTY(VideoItem* twitterVideo READ getTwitterVideo WRITE setTwitterVideo NOTIFY twitterVideoChanged)
Q_PROPERTY(bool twitterTwitterOnly READ getTwitterTwitterOnly WRITE setTwitterTwitterOnly NOTIFY twitterTwitterOnlyChanged)
Q_PROPERTY(bool twitterListenTwitter READ getTwitterListenTwitter WRITE setTwitterListenTwitter NOTIFY twitterListenTwitterChanged)
Q_PROPERTY(QString twitterKey READ getTwitterKey WRITE setTwitterKey NOTIFY twitterKeyChanged)
Q_PROPERTY(QString twitterSecret READ getTwitterSecret WRITE setTwitterSecret NOTIFY twitterSecretChanged)
Q_PROPERTY(QString twitterAccount READ getTwitterAccount WRITE setTwitterAccount NOTIFY twitterAccountChanged)
Q_PROPERTY(QString twitterTag READ getTwitterTag WRITE setTwitterTag NOTIFY twitterTagChanged)
Q_PROPERTY(Template * twitterDefaultTemplate READ getTwitterDefaultTemplate WRITE setTwitterDefaultTemplate NOTIFY twitterDefaultTemplateChanged)
Q_PROPERTY(QString twitterLastRetrieved READ getTwitterLastRetrieved WRITE setTwitterLastRetrieved NOTIFY twitterLastRetrievedChanged)
Q_PROPERTY(QString twitterMessage READ getTwitterMessage WRITE setTwitterMessage NOTIFY twitterMessageChanged)
Q_PROPERTY(QString twitterMessageColor READ getTwitterMessageColor WRITE setTwitterMessageColor NOTIFY twitterMessageColorChanged)
Q_PROPERTY(PhotoQueueManager * photoQueueManager READ getPhotoQueueManager WRITE setPhotoQueueManager NOTIFY photoQueueManagerChanged)
Q_PROPERTY(WifiManager * wifiManager READ getWifiManager WRITE setWifiManager NOTIFY wifiManagerChanged)
Q_PROPERTY(RaspiGPIO * raspiGPIO READ getRaspiGPIO WRITE setRaspiGPIO NOTIFY raspiGPIOChanged)
Q_PROPERTY(PrinterManager * printerManager READ getPrinterManager WRITE setPrinterManager NOTIFY printerManagerChanged)
Q_PROPERTY(bool mirrorConnected READ getMirrorConnected WRITE setMirrorConnected NOTIFY mirrorConnectedChanged)
Q_PROPERTY(int countdown READ getCountdown WRITE setCountdown NOTIFY countdownChanged)
Q_PROPERTY(int viewPhotoTime READ getViewPhotoTime WRITE setViewPhotoTime NOTIFY viewPhotoTimeChanged)
Q_PROPERTY(int viewAllPhotoTime READ getViewAllPhotoTime WRITE setViewAllPhotoTime NOTIFY viewAllPhotoTimeChanged)
Q_PROPERTY(bool isMirror READ getIsMirror WRITE setIsMirror NOTIFY isMirrorChanged)
Q_PROPERTY(QString commandIP READ getCommandIP WRITE setCommandIP NOTIFY commandIPChanged)
Q_PROPERTY(QString mirrorIP READ getMirrorIP WRITE setMirrorIP NOTIFY mirrorIPChanged)
Q_PROPERTY(int waitVideoRepeatBeforeTwitter READ getWaitVideoRepeatBeforeTwitter WRITE setWaitVideoRepeatBeforeTwitter NOTIFY waitVideoRepeatBeforeTwitterChanged)
public:
Parameters(QUrl appDirPath);
virtual ~Parameters();
Q_INVOKABLE void Serialize();
Q_INVOKABLE void clearGallery();
Q_INVOKABLE void clearGalleryDeleteImages();
Q_INVOKABLE void addTemplateFromUrl(QUrl url);
Q_INVOKABLE void deleteTemplateFromName(QString name);
Q_INVOKABLE void changeBackground(QUrl url);
Q_INVOKABLE void haltSystem();
Q_INVOKABLE void updateEffect(QString name, bool active, bool twitterDefault);
Q_INVOKABLE void showCursor();
Q_INVOKABLE void hideCursor();
QList<QObject*> getTemplates();
void setTemplates(QList<QObject*> templates);
QList<QObject *> getActivesTemplates() const;
void setActivesTemplates(const QList<QObject *> &activesTemplates);
void rebuildActivesTemplates();
//Accessprs
PhotoGallery *getPhotogallery() const;
void setPhotogallery(PhotoGallery *photogallery);
QUrl getApplicationDirPath() const;
void setApplicationDirPath(const QUrl &applicationDirPath);
int getNbprint() const;
void setNbprint(int nbprint);
int getNbfreephotos() const;
void setNbfreephotos(int nbfreephotos);
float getPricephoto() const;
void setPricephoto(float pricephoto);
bool getFlipcamera() const;
void setFlipcamera(bool flipcamera);
bool getFlipresult() const;
void setFlipresult(bool flipresult);
QString getBackgroundImage() const;
void setBackgroundImage(const QString &backgroundImage);
int getCameraHight() const;
void setCameraHight(int cameraHight);
int getCameraWidth() const;
void setCameraWidth(int cameraWidth);
bool getBlockPrint() const;
void setBlockPrint(bool blockPrint);
int getBlockPrintNb() const;
void setBlockPrintNb(int blockPrintNb);
bool getMailActive() const;
void setMailActive(bool mailActive);
QString getMailFrom() const;
void setMailFrom(const QString &mailFrom);
QString getMailCc() const;
void setMailCc(const QString &mailCc);
QString getMailBcc() const;
void setMailBcc(const QString &mailBcc);
QString getMailSmtp() const;
void setMailSmtp(const QString &mailSmtp);
QString getMailPort() const;
void setMailPort(const QString &mailPort);
QString getMailUsername() const;
void setMailUsername(const QString &mailUsername);
QString getMailPassword() const;
void setMailPassword(const QString &mailPassword);
QString getMailSubject() const;
void setMailSubject(const QString &mailSubject);
void setMailContent(const QString &mailContent);
QString getMailContent() const;
VideoItem *waitVideo() const;
void setWaitVideo(VideoItem *waitVideo);
VideoItem *startPhotoProcessVideo() const;
void setStartPhotoProcessVideo(VideoItem *startPhotoProcessVideo);
VideoItem *startGlobalPhotoProcessVideo() const;
void setStartGlobalPhotoProcessVideo(VideoItem *startGlobalPhotoProcessVideo);
VideoItem *endGlobalPhotoProcessVideo() const;
void setEndGlobalPhotoProcessVideo(VideoItem *endGlobalPhotoProcessVideo);
bool getTwitterTwitterOnly() const;
void setTwitterTwitterOnly(bool twitterTwitterOnly);
bool getTwitterListenTwitter() const;
void setTwitterListenTwitter(bool twitterListenTwitter);
QString getTwitterKey() const;
void setTwitterKey(const QString &twitterKey);
QString getTwitterSecret() const;
void setTwitterSecret(const QString &twitterSecret);
QString getTwitterAccount() const;
void setTwitterAccount(const QString &twitterAccount);
QString getTwitterTag() const;
void setTwitterTag(const QString &twitterTag);
QList<QObject *> getEffects() const;
void setEffects(const QList<QObject *> &effects);
QList<QObject *> getActivesEffects() const;
void setActivesEffects(const QList<QObject *> &activesEffects);
Template *getTwitterDefaultTemplate() const;
void setTwitterDefaultTemplate(Template *twitterDefaultTemplate);
QString getEffectDefault() const;
void setEffectDefault(const QString &effectDefault);
bool getAutoPrint() const;
void setAutoPrint(bool autoPrint);
QString getTwitterLastRetrieved() const;
void setTwitterLastRetrieved(const QString &twitterLastRetrieved);
int getAutoPrintDelay() const;
void setAutoPrintDelay(int autoPrintDelay);
int getShowPhotoDelay() const;
void setShowPhotoDelay(int showPhotoDelay);
QString getTwitterMessage() const;
void setTwitterMessage(const QString &twitterMessage);
QString getTwitterMessageColor() const;
void setTwitterMessageColor(const QString &twitterMessageColor);
PhotoQueueManager *getPhotoQueueManager() const;
void setPhotoQueueManager(PhotoQueueManager *photoQueueManager);
WifiManager *getWifiManager() const;
void setWifiManager(WifiManager *wifiManager);
RaspiGPIO *getRaspiGPIO() const;
void setRaspiGPIO(RaspiGPIO *raspiGPIO);
PrinterManager *getPrinterManager() const;
void setPrinterManager(PrinterManager *printerManager);
bool getMirrorConnected() const;
void setMirrorConnected(bool mirrorConnected);
int getCountdown() const;
void setCountdown(int countdown);
int getViewPhotoTime() const;
void setViewPhotoTime(int viewPhotoTime);
int getViewAllPhotoTime() const;
void setViewAllPhotoTime(int viewAllPhotoTime);
bool getIsMirror() const;
void setIsMirror(bool isMirror);
QString getCommandIP() const;
void setCommandIP(const QString &commandIP);
VideoItem *getTwitterVideo() const;
void setTwitterVideo(VideoItem *twitterVideo);
QString getMirrorIP() const;
void setMirrorIP(const QString &mirrorIP);
int getWaitVideoRepeatBeforeTwitter() const;
void setWaitVideoRepeatBeforeTwitter(int waitVideoRepeatBeforeTwitter);
private:
void addTemplate(QString name);
void addTemplate(Value const &value);
void init();
void initEffects();
void readTemplateDir();
void Unserialize();
void createFolders();
void clearGallery(bool del);
std::vector<QString> m_effectNameList = { "Couleur",
"Sepia",
"Edge",
"Inkwell",
"1977",
"Amaro",
"Branna",
"Early Bird",
"Hefe",
"Hudson",
"Lomo",
"Lord Kelvin",
"Nashville",
"Pixel",
"Rise",
"Sierra",
"Sutro",
"Toaster",
"Valancia",
"Walden",
"XPro"};
QUrl m_applicationDirPath;
QList<QObject*> m_templates;
QList<QObject*> m_activesTemplates;
QList<QObject*> m_effects;
QList<QObject*> m_activesEffects;
PhotoGallery* m_photogallery;
int m_nbprint;
int m_nbfreephotos;
bool m_blockPrint;
int m_blockPrintNb;
float m_pricephoto;
bool m_autoPrint;
int m_autoPrintDelay;
int m_showPhotoDelay;
bool m_flipcamera;
bool m_flipresult;
int m_cameraHight;
int m_cameraWidth;
QString m_backgroundImage;
bool m_mailActive;
QString m_mailFrom;
QString m_mailCc;
QString m_mailBcc;
QString m_mailSmtp;
QString m_mailPort;
QString m_mailUsername;
QString m_mailPassword;
QString m_mailSubject;
QString m_mailContent;
VideoItem * m_waitVideo;
VideoItem * m_twitterVideo;
VideoItem * m_startGlobalPhotoProcessVideo;
VideoItem * m_startPhotoProcessVideo;
VideoItem * m_endGlobalPhotoProcessVideo;
bool m_twitterTwitterOnly;
bool m_twitterListenTwitter;
QString m_twitterKey;
QString m_twitterSecret;
QString m_twitterAccount;
QString m_twitterTag;
Template * m_twitterDefaultTemplate;
QString m_twitterLastRetrieved;
QString m_twitterMessage;
QString m_twitterMessageColor;
int m_waitVideoRepeatBeforeTwitter;
QString m_effectDefault;
bool m_mirrorConnected;
int m_countdown;
int m_viewPhotoTime;
int m_viewAllPhotoTime;
bool m_isMirror;
QString m_commandIP;
QString m_mirrorIP;
PhotoQueueManager * m_photoQueueManager;
WifiManager * m_wifiManager;
RaspiGPIO * m_raspiGPIO;
PrinterManager * m_printerManager;
signals:
void templatesChanged();
void activeTemplatesChanged();
void photoGalleryChanged();
void photoGalleryListChanged();
void applicationDirPathChanged();
void nbPrintChanged();
void nbfreephotoChanged();
void pricephotoChanged();
void flipcameraChanged();
void flipresultChanged();
void backgroundImageChange();
void cameraHeightChange();
void cameraWidthChange();
void blockPrintChanged();
void blockPrintNbChanged();
void mailChange();
void countdownDelayChange();
void parameterVideoChanged();
void twitterTwitterOnlyChanged();
void twitterListenTwitterChanged();
void twitterKeyChanged();
void twitterSecretChanged();
void twitterAccountChanged();
void twitterTagChanged();
void effectsChanged();
void effectsSelectedChanged();
void twitterDefaultTemplateChanged();
void effectDefaultChanged();
void twitterLastRetrievedChanged();
void autoPrintChanged();
void autoPrintDelayChanged();
void showPhotoDelayChanged();
void twitterMessageColorChanged();
void twitterMessageChanged();
void photoQueueManagerChanged();
void wifiManagerChanged();
void raspiGPIOChanged();
void printerManagerChanged();
void mirrorConnectedChanged();
void countdownChanged();
void viewPhotoTimeChanged();
void viewAllPhotoTimeChanged();
void isMirrorChanged();
void commandIPChanged();
void mirrorIPChanged();
void twitterVideoChanged();
void waitVideoRepeatBeforeTwitterChanged();
};
#endif // PARAMETERS_H