fort/src/ui/main.cpp

54 lines
1.4 KiB
C++
Raw Normal View History

2017-09-03 05:57:35 +00:00
#include <QApplication>
2018-04-15 06:19:31 +00:00
#include <QMessageBox>
2017-09-01 13:13:12 +00:00
2017-09-02 13:07:40 +00:00
#include "../common/version.h"
#include "driver/drivermanager.h"
2017-09-03 09:20:37 +00:00
#include "fortcommon.h"
2017-09-01 15:13:17 +00:00
#include "fortmanager.h"
2017-09-03 09:20:37 +00:00
#include "fortsettings.h"
#include "util/osutil.h"
2017-08-23 13:52:22 +00:00
2018-04-15 06:19:31 +00:00
#define FORT_ERROR_INSTANCE 1
#define FORT_ERROR_DEVICE 2
2017-08-23 13:52:22 +00:00
int main(int argc, char *argv[])
{
2017-12-20 14:15:48 +00:00
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
2017-09-02 13:07:40 +00:00
2018-01-12 08:29:08 +00:00
QApplication::setQuitOnLastWindowClosed(false);
2017-09-03 05:57:35 +00:00
QApplication app(argc, argv);
2017-09-02 13:07:40 +00:00
app.setApplicationName(APP_NAME);
app.setApplicationVersion(APP_VERSION_STR);
app.setApplicationDisplayName(APP_NAME " v" APP_VERSION_STR);
2017-08-23 13:52:22 +00:00
FortSettings fortSettings(qApp->arguments());
2017-09-03 09:20:37 +00:00
// Unregister booted provider and exit
if (fortSettings.hasProvBoot()) {
2017-09-03 09:20:37 +00:00
FortCommon::provUnregister();
return 0;
2017-09-03 09:20:37 +00:00
}
// To check running instance
2018-04-15 06:19:31 +00:00
if (!OsUtil::createGlobalMutex(APP_NAME)) {
QMessageBox::critical(nullptr, QString(),
"Application is already running!");
return FORT_ERROR_INSTANCE;
}
FortManager fortManager(&fortSettings);
// Error: Cannot open the driver device
2018-04-15 06:19:31 +00:00
if (!fortManager.driverManager()->isDeviceOpened()) {
QMessageBox::critical(nullptr, QString(),
"Cannot open the driver device!");
return FORT_ERROR_DEVICE;
}
2017-09-03 05:57:35 +00:00
fortManager.showTrayIcon();
2017-09-01 13:13:12 +00:00
2017-08-23 13:52:22 +00:00
return app.exec();
}