61 lines
2.3 KiB
C++
61 lines
2.3 KiB
C++
|
#include "settingsdialog.h"
|
||
|
|
||
|
#include <database.h>
|
||
|
|
||
|
#include <QMessageBox>
|
||
|
#include <QSettings>
|
||
|
|
||
|
SettingsDialog::SettingsDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f)
|
||
|
{
|
||
|
ui_.setupUi(this);
|
||
|
|
||
|
QSettings settings{};
|
||
|
int cashPointNo = settings.value("global/cashPointNo").toInt();
|
||
|
QString posPrinterDevice = settings.value("global/posPrinterDevice").toString();
|
||
|
int feeInPercent = settings.value("global/feeInPercent").toInt();
|
||
|
int maxFeeInEuro = settings.value("global/maxFeeInEuro").toInt();
|
||
|
|
||
|
ui_.cashPointNoSpinBox->setValue(cashPointNo);
|
||
|
ui_.posPrinterDeviceEdit->setText(posPrinterDevice);
|
||
|
ui_.feePercentSpinBox->setValue(feeInPercent);
|
||
|
ui_.maxFeeSpinBox->setValue(maxFeeInEuro);
|
||
|
}
|
||
|
|
||
|
void SettingsDialog::accept()
|
||
|
{
|
||
|
QSettings settings;
|
||
|
|
||
|
int oldCashPointNo = settings.value("global/cashPointNo").toInt();
|
||
|
int newCashPointNo = ui_.cashPointNoSpinBox->value();
|
||
|
|
||
|
settings.setValue("global/posPrinterDevice", ui_.posPrinterDeviceEdit->text());
|
||
|
settings.setValue("global/feeInPercent", ui_.feePercentSpinBox->value());
|
||
|
settings.setValue("global/maxFeeInEuro", ui_.maxFeeSpinBox->value());
|
||
|
|
||
|
if (oldCashPointNo != newCashPointNo) {
|
||
|
int result =
|
||
|
QMessageBox(QMessageBox::Icon::Question, "Sind Sie sicher?",
|
||
|
"Möchten Sie die Kassen-Nr wirklich ändern? Diese muss über alle "
|
||
|
"Installationen hinweg eindeutig sein.",
|
||
|
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this)
|
||
|
.exec();
|
||
|
if (result == QMessageBox::Yes) {
|
||
|
try {
|
||
|
Database().updateCashPointNo(oldCashPointNo, newCashPointNo);
|
||
|
} catch (std::exception& ex) {
|
||
|
std::string errMsg("Das Ändern der Kassen-Nr. ist fehlgeschlagen: ");
|
||
|
errMsg.append(ex.what());
|
||
|
QMessageBox(QMessageBox::Icon::Critical, "Fehler",
|
||
|
errMsg.c_str(),
|
||
|
QMessageBox::StandardButton::Ok,
|
||
|
this)
|
||
|
.exec();
|
||
|
QDialog::accept();
|
||
|
return;
|
||
|
}
|
||
|
settings.setValue("global/cashPointNo", ui_.cashPointNoSpinBox->value());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
QDialog::accept();
|
||
|
}
|