merge master + new/cns
This commit is contained in:
parent
bc965308b8
commit
8be78d372d
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
|
#include <CNS.h> // https://git.golem.linux.it/golem/cnsparser
|
||||||
|
|
||||||
#include "ui_ImmuNoattri.h"
|
#include "ui_ImmuNoattri.h"
|
||||||
|
|
||||||
bool decodeCodfis(const QString& input, QString& codfis, QString& anagrafica) {
|
bool decodeCodfis(const QString& input, QString& codfis, QString& anagrafica) {
|
||||||
|
@ -34,12 +36,17 @@ MainWindow::MainWindow(QWidget* parent)
|
||||||
|
|
||||||
int registrati = sqliteInterface.count();
|
int registrati = sqliteInterface.count();
|
||||||
ui->lineRegistrati->setText(QString::number(registrati));
|
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() {
|
void MainWindow::on_statusbar_changed() {
|
||||||
if ((ui->statusbar->currentMessage()).length() == 0) {
|
if ((ui->statusbar->currentMessage()).length() == 0) {
|
||||||
ui->statusbar->setStyleSheet("background-color: auto;");
|
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::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;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -34,12 +34,14 @@ class MainWindow : public QMainWindow {
|
||||||
void on_lineTessera_textEdited(const QString& text);
|
void on_lineTessera_textEdited(const QString& text);
|
||||||
void on_lineTessera_timer_timeout();
|
void on_lineTessera_timer_timeout();
|
||||||
void on_statusbar_changed();
|
void on_statusbar_changed();
|
||||||
|
void on_smartcard_check();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MainWindow* ui;
|
Ui::MainWindow* ui;
|
||||||
std::unique_ptr<wManualInsert> wmanualInsert;
|
std::unique_ptr<wManualInsert> wmanualInsert;
|
||||||
QFile* csv_file;
|
QFile* csv_file;
|
||||||
QTimer lineTessera_timer;
|
QTimer lineTessera_timer;
|
||||||
|
QTimer smartcard_check_timer;
|
||||||
SqliteInterface sqliteInterface;
|
SqliteInterface sqliteInterface;
|
||||||
|
|
||||||
void closeEvent(QCloseEvent* event);
|
void closeEvent(QCloseEvent* event);
|
||||||
|
|
|
@ -5,6 +5,11 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
TARGET = ImmuNoattri
|
TARGET = ImmuNoattri
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
|
|
||||||
|
LIBS += -lcnsparser
|
||||||
|
|
||||||
|
CONFIG += link_pkgconfig
|
||||||
|
PKGCONFIG += libpcsclite
|
||||||
|
|
||||||
SOURCES += main.cpp \
|
SOURCES += main.cpp \
|
||||||
ImmuNoattri.cpp \
|
ImmuNoattri.cpp \
|
||||||
sqliteInterface.cpp \
|
sqliteInterface.cpp \
|
||||||
|
|
Loading…
Reference in New Issue