format: every contributor uses VSCodium, so let's define a common style

(as long as today)
This commit is contained in:
giomba 2022-01-01 12:50:25 +01:00
parent a84c0f8123
commit f69264878b
4 changed files with 148 additions and 111 deletions

21
.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,21 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/qt/QtCore",
"/usr/include/qt/QtGui",
"/usr/include/qt",
"/usr/include/qt/QtWidgets",
"/usr/include/qt/QtSql"
],
"defines": [],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}

11
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,11 @@
{
"C_Cpp.vcFormat.newLine.beforeOpenBrace.block": "sameLine",
"C_Cpp.vcFormat.newLine.beforeOpenBrace.function": "sameLine",
"C_Cpp.vcFormat.newLine.beforeOpenBrace.lambda": "sameLine",
"C_Cpp.vcFormat.newLine.beforeOpenBrace.namespace": "sameLine",
"C_Cpp.vcFormat.newLine.beforeOpenBrace.type": "sameLine",
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4 }",
"files.associations": {
"qdebug": "cpp"
}
}

View File

@ -1,90 +1,95 @@
#include "ImmuNoattri.hpp" #include "ImmuNoattri.hpp"
#include <QDebug>
#include <CNS.h> // https://git.golem.linux.it/golem/cnsparser #include <CNS.h> // https://git.golem.linux.it/golem/cnsparser
#include <QDebug>
#include "ui_ImmuNoattri.h" #include "ui_ImmuNoattri.h"
bool decodeCodfis(const QString& input, QString& codfis, Anagrafica& anagrafica) { bool decodeCodfis(const QString& input, QString& codfis,
QStringList list = input.split('_'); Anagrafica& anagrafica) {
if (list.size() != 4) { QStringList list = input.split('_');
return false; if (list.size() != 4) {
} return false;
}
codfis = list.at(1);
if (codfis.length() != 16) {
return false;
}
QString anagrafica_magnetica = list.at(2); codfis = list.at(1);
if (codfis.length() != 16) {
return false;
}
QStringList anagrafica_list = anagrafica_magnetica.split(" "); QString anagrafica_magnetica = list.at(2);
if (anagrafica_list.size() != 2) {
return false;
}
anagrafica.cognome = anagrafica_list.at(0);
anagrafica.nome = anagrafica_list.at(1);
return true; QStringList anagrafica_list = anagrafica_magnetica.split(" ");
if (anagrafica_list.size() != 2) {
return false;
}
anagrafica.cognome = anagrafica_list.at(0);
anagrafica.nome = anagrafica_list.at(1);
return true;
} }
MainWindow::MainWindow(QWidget* parent) MainWindow::MainWindow(QWidget* parent)
: QMainWindow(parent), : QMainWindow(parent),
ui(new Ui::MainWindow), ui(new Ui::MainWindow),
sqliteInterface("presenze.db") { sqliteInterface("presenze.db") {
ui->setupUi(this); ui->setupUi(this);
qDebug() << "Pulisco db"; qDebug() << "Pulisco db";
sqliteInterface.cleanup(); sqliteInterface.cleanup();
connect(&lineTessera_timer, &QTimer::timeout, connect(&lineTessera_timer, &QTimer::timeout, this,
this, &MainWindow::on_lineTessera_timer_timeout); &MainWindow::on_lineTessera_timer_timeout);
connect(ui->statusbar, &QStatusBar::messageChanged, connect(ui->statusbar, &QStatusBar::messageChanged, this,
this, &MainWindow::on_statusbar_changed); &MainWindow::on_statusbar_changed);
int registrati = sqliteInterface.count(); int registrati = sqliteInterface.count();
ui->lineRegistrati->setText(QString::number(registrati)); ui->lineRegistrati->setText(QString::number(registrati));
on_statusbar_changed(); on_statusbar_changed();
connect(&smartcard_check_timer, &QTimer::timeout, connect(&smartcard_check_timer, &QTimer::timeout, this,
this, &MainWindow::on_smartcard_check); &MainWindow::on_smartcard_check);
smartcard_check_timer.start(std::chrono::seconds(2)); 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); ui->statusbar->showMessage(
} "Passare la tessera magnetica sul lettore, inserire una smartcard "
"nel lettore, o effettuare un inserimento manuale.",
0);
}
} }
MainWindow::~MainWindow() {} MainWindow::~MainWindow() {}
void MainWindow::on_actionAbout_triggered() { void MainWindow::on_actionAbout_triggered() {
qDebug() << "An about string..."; qDebug() << "An about string...";
} }
void MainWindow::on_lineTessera_textEdited(const QString& text) { void MainWindow::on_lineTessera_textEdited(const QString& text) {
// The magnetic reader has three newline characters // The magnetic reader has three newline characters
lineTessera_timer.start(std::chrono::milliseconds(500)); lineTessera_timer.start(std::chrono::milliseconds(500));
} }
void MainWindow::on_lineTessera_timer_timeout() { void MainWindow::on_lineTessera_timer_timeout() {
lineTessera_timer.stop(); lineTessera_timer.stop();
QString codfis; QString codfis;
Anagrafica anagrafica; Anagrafica anagrafica;
// Validating input // Validating input
if (decodeCodfis(ui->lineTessera->text(), codfis, anagrafica)) { if (decodeCodfis(ui->lineTessera->text(), codfis, anagrafica)) {
addVisitor(codfis, anagrafica); addVisitor(codfis, anagrafica);
} else { } else {
ui->statusbar->showMessage("Tessera non valida, riprovare!", MESSAGE_TIMEOUT); ui->statusbar->showMessage("Tessera non valida, riprovare!",
ui->statusbar->setStyleSheet("background-color: red;"); MESSAGE_TIMEOUT);
} ui->statusbar->setStyleSheet("background-color: red;");
}
ui->lineTessera->setText(""); ui->lineTessera->setText("");
} }
/** /**
@ -92,50 +97,50 @@ void MainWindow::on_lineTessera_timer_timeout() {
* *
*/ */
void MainWindow::on_pushMano_clicked() { void MainWindow::on_pushMano_clicked() {
wmanualInsert = std::make_unique<wManualInsert>(); wmanualInsert = std::make_unique<wManualInsert>();
wmanualInsert->exec(); wmanualInsert->exec();
if (wmanualInsert->validData()) { if (wmanualInsert->validData()) {
QString codfis = wmanualInsert->getCodFis(); QString codfis = wmanualInsert->getCodFis();
Anagrafica anagrafica; Anagrafica anagrafica;
anagrafica.cognome = wmanualInsert->getCognome(); anagrafica.cognome = wmanualInsert->getCognome();
anagrafica.nome = wmanualInsert->getNome(); anagrafica.nome = wmanualInsert->getNome();
addVisitor(codfis, anagrafica); addVisitor(codfis, anagrafica);
} }
wmanualInsert.release(); wmanualInsert.release();
} }
void MainWindow::addVisitor(QString& codfis, Anagrafica& anagrafica) { void MainWindow::addVisitor(QString& codfis, Anagrafica& anagrafica) {
sqliteInterface.addVisitor(codfis, QString("%1 %2").arg(anagrafica.cognome).arg(anagrafica.nome)); sqliteInterface.addVisitor(
int registrati = ui->lineRegistrati->text().toInt(); codfis, QString("%1 %2").arg(anagrafica.cognome).arg(anagrafica.nome));
registrati++; int registrati = ui->lineRegistrati->text().toInt();
ui->lineRegistrati->setText(QString::number(registrati)); registrati++;
ui->statusbar->showMessage("Inserimento effettuato correttamente!", MESSAGE_TIMEOUT); ui->lineRegistrati->setText(QString::number(registrati));
ui->statusbar->setStyleSheet("background-color: green;"); ui->statusbar->showMessage("Inserimento effettuato correttamente!",
ui->labelNome->setText(QString("Ciao %1!").arg(anagrafica.nome MESSAGE_TIMEOUT);
)); ui->statusbar->setStyleSheet("background-color: green;");
ui->labelNome->setText(QString("Ciao %1!").arg(anagrafica.nome));
} }
void MainWindow::closeEvent(QCloseEvent* event) { void MainWindow::closeEvent(QCloseEvent* event) {}
}
void MainWindow::on_smartcard_check() { void MainWindow::on_smartcard_check() {
static QString last_codice_fiscale; static QString last_codice_fiscale;
CNS cns; CNS cns;
try { try {
cns.fromSmartCard(); cns.fromSmartCard();
if (cns.getCodiceFiscale() == last_codice_fiscale) return; if (cns.getCodiceFiscale() == last_codice_fiscale) return;
last_codice_fiscale = cns.getCodiceFiscale(); last_codice_fiscale = cns.getCodiceFiscale();
QString codfis = cns.getCodiceFiscale(); QString codfis = cns.getCodiceFiscale();
Anagrafica anagrafica; Anagrafica anagrafica;
anagrafica.cognome = cns.getCognome(); anagrafica.cognome = cns.getCognome();
anagrafica.nome = cns.getNome(); anagrafica.nome = cns.getNome();
addVisitor(codfis, anagrafica); addVisitor(codfis, anagrafica);
} catch (Ex e) { } catch (Ex e) {
// no valid smartcard // no valid smartcard
} }
} }

View File

@ -7,9 +7,9 @@
#include <QTimer> #include <QTimer>
#include <memory> #include <memory>
#include "Anagrafica.hpp"
#include "sqliteInterface.hpp" #include "sqliteInterface.hpp"
#include "wManualInsert.hpp" #include "wManualInsert.hpp"
#include "Anagrafica.hpp"
const int MESSAGE_TIMEOUT = 15e3; // 15 s const int MESSAGE_TIMEOUT = 15e3; // 15 s
@ -18,35 +18,35 @@ class MainWindow;
} }
class MainWindow : public QMainWindow { class MainWindow : public QMainWindow {
Q_OBJECT Q_OBJECT
public: public:
/** /**
* @brief MainWindow Constructor * @brief MainWindow Constructor
* @param parent Parent Handle * @param parent Parent Handle
*/ */
explicit MainWindow(QWidget* parent = 0); explicit MainWindow(QWidget* parent = 0);
~MainWindow(); ~MainWindow();
private slots: private slots:
// GUI Events // GUI Events
void on_pushMano_clicked(); void on_pushMano_clicked();
void on_actionAbout_triggered(); void on_actionAbout_triggered();
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(); 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; QTimer smartcard_check_timer;
SqliteInterface sqliteInterface; SqliteInterface sqliteInterface;
void closeEvent(QCloseEvent* event); void closeEvent(QCloseEvent* event);
void addVisitor(QString& codfis, Anagrafica& anagrafica); void addVisitor(QString& codfis, Anagrafica& anagrafica);
}; };
#endif #endif