kima2/src/gui/kima2.cpp

56 lines
1.7 KiB
C++

#include "mainwindow.h"
#include "settingsdialog.h"
#include <QApplication>
#include <QDir>
#include <QLibraryInfo>
#include <QMessageBox>
#include <QSettings>
#include <QSharedMemory>
#include <QTranslator>
#include <singleapplication.h>
int main(int argc, char* argv[])
{
SingleApplication kimaApp(argc, argv);
// QCoreApplication::setOrganizationName("RustySoft");
QCoreApplication::setOrganizationDomain("rustysoft.de");
QCoreApplication::setApplicationName("kima2");
// Make sure that only one instance of the application runs
// Of course the uuid used here is unique to this application
// (commented out in favour of SingleApplication)
/*QSharedMemory shared("26297455-946a-4607-bfb7-5025a5f1e136");
if (!shared.create(512, QSharedMemory::ReadWrite)) {
exit(0);
}*/
QTranslator qTranslator;
QLocale german(QLocale::German);
#ifdef __linux__
qTranslator.load("qt_" + german.name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
#endif
#ifdef _WIN32
qTranslator.load("qt_" + german.name(),
QApplication::applicationDirPath() + QDir::separator() + "translations");
#endif
kimaApp.installTranslator(&qTranslator);
QSettings settings{};
while (!settings.contains("global/cashPointNo")) {
QMessageBox(QMessageBox::Icon::Information, "Erster Start von KIMA2",
"Es wurden keine Einstellungen gefunden. Vermutlich starteten Sie KIMA2 zum "
"ersten Mal. Bitte legen Sie nun die Einstellungen fest.",
QMessageBox::StandardButton::Ok)
.exec();
SettingsDialog().exec();
}
auto mainWin = std::make_unique<MainWindow>();
mainWin->show();
return kimaApp.exec();
}