diff --git a/src/gui/kima2.cpp b/src/gui/kima2.cpp index b8886cf..f286e66 100644 --- a/src/gui/kima2.cpp +++ b/src/gui/kima2.cpp @@ -2,36 +2,28 @@ #include "settingsdialog.h" #include +#include +#include #include #include #include -#include -#include int main(int argc, char* argv[]) { - // Q_INIT_RESOURCE(application); - - // Set the locale to german, so that currency is correct - // std::locale german("de_DE.utf-8"); - //std::locale myLocale(""); - //std::locale::global(myLocale); - QApplication kimaApp{argc, argv}; - QCoreApplication::setOrganizationName("RustySoft"); + // QCoreApplication::setOrganizationName("RustySoft"); QCoreApplication::setOrganizationDomain("rustysoft.de"); - QCoreApplication::setApplicationName("KIMA2"); + QCoreApplication::setApplicationName("kima2"); QTranslator qTranslator; QLocale german(QLocale::German); #ifdef __linux__ - qTranslator.load("qt_" + german.name(), - QLibraryInfo::location(QLibraryInfo::TranslationsPath)); + qTranslator.load("qt_" + german.name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); #endif #ifdef _WIN32 qTranslator.load("qt_" + german.name(), - QApplication::applicationDirPath() + QDir::separator() + "translations"); + QApplication::applicationDirPath() + QDir::separator() + "translations"); #endif kimaApp.installTranslator(&qTranslator); diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 261774c..e3115d8 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -18,6 +18,8 @@ #include #include #include +#include +#include constexpr int STATUSBAR_TIMEOUT = 5000; @@ -55,6 +57,14 @@ MainWindow::MainWindow() &MainWindow::onCancelAllArticlesButtonClicked); connect(ui_.aboutQtAction, &QAction::triggered, this, &MainWindow::onAboutQt); connect(ui_.aboutAction, &QAction::triggered, this, &MainWindow::onAbout); + connect(ui_.openManualAction, &QAction::triggered, this, []() { + auto locations = QStandardPaths::standardLocations(QStandardPaths::DataLocation); + for (auto location : locations) { + if (QFile::exists(location + QString("/Benutzerhandbuch.pdf"))) { + QDesktopServices::openUrl(location + QString("/Benutzerhandbuch.pdf")); + } + } + }); connect(ui_.reportAction, &QAction::triggered, this, [=]() { ReportDialog(this).exec(); }); connect(ui_.configAction, &QAction::triggered, this, [=]() { int result = SettingsDialog(this).exec(); diff --git a/src/gui/mainwindow.ui b/src/gui/mainwindow.ui index 460b1bc..4171501 100644 --- a/src/gui/mainwindow.ui +++ b/src/gui/mainwindow.ui @@ -420,6 +420,7 @@ drucken + @@ -494,6 +495,11 @@ drucken Importieren von anderer Kasse (JSON) + + + Handbuch + + diff --git a/src/gui/settingsdialog.cpp b/src/gui/settingsdialog.cpp index bc882b2..b14622a 100644 --- a/src/gui/settingsdialog.cpp +++ b/src/gui/settingsdialog.cpp @@ -20,7 +20,8 @@ SettingsDialog::SettingsDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(par int feeInPercent = settings.value("global/feeInPercent").toInt(); int maxFeeInEuro = settings.value("global/maxFeeInEuro").toInt(); - market_ = dynamic_cast(parent)->getMarketplace(); + if (parent) + market_ = dynamic_cast(parent)->getMarketplace(); ui_.cashPointNoSpinBox->setValue(cashPointNo); // ui_.posPrinterDeviceEdit->setText(posPrinterDevice); @@ -61,7 +62,7 @@ void SettingsDialog::accept() if (oldCashPointNo != newCashPointNo) { int result{0}; - if (market_->getSales().size() > 0) { + if (market_ && market_->getSales().size() > 0) { result = QMessageBox(QMessageBox::Icon::Question, "Sind Sie sicher?", "Möchten Sie die Kassen-Nr wirklich ändern? Diese muss über alle " "Installationen hinweg eindeutig sein.",