f73bdbd1fca97354716f49b7338a2b6f2f6fb7e6
[toast/barcode2cash.git] / qtapp / barcode2cash / mainwindow.h
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include <QCameraInfo>
6 #include <QCameraImageCapture>
7 #include <QCameraViewfinder>
8 #include <QDateTime>
9
10
11 namespace Ui {
12 class MainWindow;
13 }
14
15
16 using CurrencyCent = signed long;
17
18
19 struct RksvParts {
20     QString rlat;
21     QString device_id;
22     QString receipt_id;
23     QDateTime date_time;
24     static constexpr int cash_count = 5;
25     CurrencyCent cash[cash_count];
26     QString counter;
27     QString cert_serial;
28     QString sig_prev;
29     QString sig;
30 };
31
32
33 class MainWindow : public QMainWindow
34 {
35     Q_OBJECT
36
37 public:
38     explicit MainWindow(QWidget *parent = 0);
39     ~MainWindow();
40
41 private:
42     Ui::MainWindow *ui;
43
44     QCamera* camera = nullptr;
45     QCameraImageCapture* imageCapture = nullptr;
46     void updateRksv(const RksvParts& rksv);
47
48 public slots:
49     void updateCameraInfo();
50     void capture();
51     void showCaptureSuccess(int id, QString fileName);
52     void showCaptureError(int id, QCameraImageCapture::Error error, QString errorString);
53     void analyze();
54
55 };
56
57 #endif // MAINWINDOW_H