merge master + new/cns

This commit is contained in:
giomba 2020-07-22 21:34:25 +02:00
parent bc965308b8
commit 8be78d372d
4 changed files with 37 additions and 1 deletions

View File

@ -2,6 +2,8 @@
#include <QDebug>
#include <CNS.h> // https://git.golem.linux.it/golem/cnsparser
#include "ui_ImmuNoattri.h"
bool decodeCodfis(const QString& input, QString& codfis, QString& anagrafica) {
@ -34,12 +36,17 @@ MainWindow::MainWindow(QWidget* parent)
int registrati = sqliteInterface.count();
ui->lineRegistrati->setText(QString::number(registrati));
ui->statusbar->showMessage("Passare tessera magnetica", 0);
on_statusbar_changed();
connect(&smartcard_check_timer, &QTimer::timeout,
this, &MainWindow::on_smartcard_check);
smartcard_check_timer.start(std::chrono::seconds(2));
}
void MainWindow::on_statusbar_changed() {
if ((ui->statusbar->currentMessage()).length() == 0) {
ui->statusbar->setStyleSheet("background-color: auto;");
ui->statusbar->showMessage("Passare la tessera magnetica sul lettore, inserire una smartcard nel lettore, o effettuare un inserimento manuale.", 0);
}
}
@ -98,4 +105,25 @@ void MainWindow::addVisitor(QString& codfis, QString& anagrafica) {
}
void MainWindow::closeEvent(QCloseEvent* event) {
}
void MainWindow::on_smartcard_check() {
static QString last_codice_fiscale;
CNS cns;
try {
cns.fromSmartCard();
if (cns.getCodiceFiscale() == last_codice_fiscale) return;
last_codice_fiscale = cns.getCodiceFiscale();
QString codfis = cns.getCodiceFiscale();
QString anagrafica = QString("%1 %2").arg(cns.getCognome()).arg(cns.getNome());
addVisitor(codfis, anagrafica);
} catch (Ex e) {
qDebug() << "no valid smartcard";
//qDebug() << "[E] exception: " << e;
}
}

View File

@ -34,12 +34,14 @@ class MainWindow : public QMainWindow {
void on_lineTessera_textEdited(const QString& text);
void on_lineTessera_timer_timeout();
void on_statusbar_changed();
void on_smartcard_check();
private:
Ui::MainWindow* ui;
std::unique_ptr<wManualInsert> wmanualInsert;
QFile* csv_file;
QTimer lineTessera_timer;
QTimer smartcard_check_timer;
SqliteInterface sqliteInterface;
void closeEvent(QCloseEvent* event);

View File

@ -5,6 +5,11 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = ImmuNoattri
TEMPLATE = app
LIBS += -lcnsparser
CONFIG += link_pkgconfig
PKGCONFIG += libpcsclite
SOURCES += main.cpp \
ImmuNoattri.cpp \
sqliteInterface.cpp \

View File

@ -3,6 +3,7 @@
## Requisiti
* libqt5sql5-sqlite
* sqlite3
* [cnsparser](https://git.golem.linux.it/golem/cnsparser)
## Database
```