aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp75
1 files changed, 53 insertions, 22 deletions
diff --git a/src/main.cpp b/src/main.cpp
index f6408b3..e29c8db 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,8 +1,8 @@
/*
* This file is part of Remote Support Desktop
* https://gitlab.das-netzwerkteam.de/RemoteWebApp/rwa.support.desktopapp
- * Copyright 2020-2021 Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
- * Copyright 2020-2021 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ * Copyright 2020, 2021 Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
+ * Copyright 2020, 2021 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* SPDX-License-Identifier: GPL-2.0-or-later
*
* This program is free software; you can redistribute it and/or modify
@@ -36,14 +36,16 @@
#include <QQuickStyle>
#include <signal.h>
+#include "DBusAPI.h"
#include "RWADBusAdaptor.cpp"
#include "session.h"
-#include "scenes/add_server_wizard/add_server_wizard.h"
-
-#define BUILD_TIME __DATE__ " " __TIME__
+#include "scenes/add_rwahost_wizard/add_rwahost_wizard.h"
+#include "scenes/remote_control/remote_control_manager.h"
+#include "RWAHostModel.h"
+#include "RWAHost.h"
int main(int argc, char *argv[]) {
- qDebug() << "This app was built on: " << BUILD_TIME;
+ qDebug() << "This app was built on: " << __DATE__ << __TIME__;
// We don't want users to have multiple instances of this app running
QString tmpDirPath = QDir::tempPath() + "/rwa.support.desktopapp";
@@ -54,12 +56,12 @@ int main(int argc, char *argv[]) {
tmpDir.mkpath(".");
}
QLockFile lockFile(tmpFilePath);
- qDebug() << "Checking for a lockfile at: " + tmpFilePath;
+ qDebug().noquote() << QString("Checking for a lockfile at: '%0'").arg(tmpFilePath);
if(!lockFile.tryLock(100)){
- qDebug() << QObject::tr("You already have this app running.");
- qDebug() << QObject::tr("Only one instance is allowed.");
- qDebug() << QObject::tr("Closing application now with an error.");
+ qCritical().noquote() << "You already have this app running.\n"
+ << "Only one instance is allowed.\n"
+ << "Closing application now with an error.";
return 1;
}
@@ -70,27 +72,37 @@ int main(int argc, char *argv[]) {
QQuickStyle::setStyle("Material");
QTranslator translator;
- qDebug() << "Loading locale: qrc:/locales/bin/" + QLocale::system().name();
- if(translator.load(":/locales/bin/" + QLocale::system().name())) {
+ qDebug().noquote() << QString("Locales: Loading locale: qrc:/locales/%0")
+ .arg(QLocale::system().name());
+ if(translator.load(":/locales/" + QLocale::system().name())) {
app.installTranslator(&translator);
- qDebug() << "Loaded: " + QLocale::system().name() + " locale!";
+ qDebug().noquote() << "Locales: Loaded: " + QLocale::system().name() + " locale!";
} else {
- qDebug() << "Unable to load translation";
+ qWarning() << "Locales: Unable to load translation!";
}
QQmlApplicationEngine engine(&app);
- QScopedPointer<MainQMLAdaptor> main_gui (new MainQMLAdaptor(&app, &engine));
+ QScopedPointer<DBusAPI> dbus_api (new DBusAPI());
+
+ // Make 'mainqmladaptor' available to QML
+ QScopedPointer<MainQMLAdaptor> main_gui (
+ new MainQMLAdaptor(&app, &engine, dbus_api.data())
+ );
- // Make mainqmladaptor available to QML
engine.rootContext()->setContextProperty("mainqmladaptor", main_gui.data());
+ QObject::connect(dbus_api.data(),
+ SIGNAL(serviceGetWebAppHostsResponse(QJsonDocument*)),
+ main_gui.data(),
+ SLOT(get_web_app_hosts_response(QJsonDocument*)));
+ dbus_api.data()->get_web_app_hosts_request();
+
+
engine.load(QUrl(QStringLiteral("qrc:/src/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
- QScopedPointer<Session> session (new Session(&app, main_gui.data()));
-
QObject::connect(main_gui.data(),
SIGNAL(minimizeWindow()),
engine.rootObjects().takeFirst(),
@@ -101,10 +113,29 @@ int main(int argc, char *argv[]) {
engine.rootObjects().takeFirst(),
SLOT(showWindow()));
- QScopedPointer<Add_Server_wizard> wizard (new Add_Server_wizard(&app));
-
- // Make add_server_wizard available to QML
- engine.rootContext()->setContextProperty("add_server_wizard", wizard.data());
+ QObject::connect(engine.rootObjects().takeFirst()->
+ findChild<QObject*>("sidebar_drawer"),
+ SIGNAL(rwaHostSelected(QString)),
+ main_gui.data(),
+ SLOT(onRwaHostSelected(QString)));
+
+ // Make 'AddRWAHostWizard' available to QML
+ QScopedPointer<AddRWAHostWizard> wizard (
+ new AddRWAHostWizard(&app,
+ main_gui.data(),
+ dbus_api.data())
+ );
+ engine.rootContext()->
+ setContextProperty("add_rwahost_wizard", wizard.data());
+
+ // Make 'remote_control_manager' available to QML
+ QScopedPointer<RemoteControlManager> remote_mngr (
+ new RemoteControlManager(&engine,
+ main_gui.data(),
+ dbus_api.data())
+ );
+ engine.rootContext()->
+ setContextProperty("remote_control_manager", remote_mngr.data());
return app.exec();
}