summaryrefslogtreecommitdiffstats
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 2a85617..6c7f492 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -20,23 +20,34 @@ bool showGui() { return _showGui; }
bool backgroundMode() { return _backgroundMode; }
}
-static void parseCommandLine(const QApplication &a);
+static void parseCommandLine(const QCoreApplication &a);
int main(int argc, char *argv[])
{
- QApplication a(argc, argv);
+ QCoreApplication *a;
+ bool gui = true;
+ for (int i = 0; i < argc; ++i) {
+ if (strcmp(argv[i], "-w") == 0 || strcmp(argv[i], "--wakeup") == 0) {
+ gui = false;
+ }
+ }
+ if (gui) {
+ a = new QApplication(argc, argv);
+ } else {
+ a = new QCoreApplication(argc, argv);
+ }
QCoreApplication::setApplicationName("BeamerGUI XP - Home Edition");
QCoreApplication::setApplicationVersion("2.0");
// System strings
- QTranslator *qtTranslator = new QTranslator(&a);
+ QTranslator *qtTranslator = new QTranslator(a);
qtTranslator->load(QLocale::system(), "qt", "_", QLibraryInfo::location(QLibraryInfo::TranslationsPath));
- a.installTranslator(qtTranslator);
+ a->installTranslator(qtTranslator);
// App specific
- QTranslator *translator = new QTranslator(&a);
+ QTranslator *translator = new QTranslator(a);
translator->load(QLocale::system(), ":");
- a.installTranslator(translator);
+ a->installTranslator(translator);
- parseCommandLine(a);
+ parseCommandLine(*a);
if (_wakeup) {
return Bus::inst()->registerService() ? 0 : 1;
@@ -60,10 +71,10 @@ int main(int argc, char *argv[])
}
if (w == nullptr)
return 0;
- return a.exec();
+ return a->exec();
}
-static void parseCommandLine(const QApplication &a)
+static void parseCommandLine(const QCoreApplication &a)
{
// Command line
QCommandLineParser parser;