diff options
Diffstat (limited to 'app/main.cpp')
-rw-r--r-- | app/main.cpp | 91 |
1 files changed, 11 insertions, 80 deletions
diff --git a/app/main.cpp b/app/main.cpp index 88a4978..91f39bb 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -18,77 +18,20 @@ #include <QtCore/QDebug> #include <QtCore/QCommandLineParser> #include <QtCore/QUrlQuery> -#include <QtCore/QFile> -#include <QtDBus/QDBusInterface> -#include <QtDBus/QDBusReply> #include <QtGui/QGuiApplication> #include <QtQml/QQmlApplicationEngine> #include <QtQml/QQmlContext> #include <QtQuickControls2/QQuickStyle> -#include <QtDBus/QDBusConnection> -#include <unistd.h> -#include "camera.h" -#include <QQuickWindow> -#include <libhomescreen.hpp> +#include <QtQuick/QQuickWindow> +#include <qlibhomescreen.h> #include <qlibwindowmanager.h> -class AppVisible : public QObject -{ - Q_OBJECT -public: - AppVisible(QObject *parent = nullptr) : QObject(parent){ - m_ppid = getppid(); - m_visible = true; - QDBusConnection::sessionBus().connect("org.agl.windowmanager", - "/windowmanager", - "org.agl.windowmanager", - "appLayerVisibleChanged", - this, - SLOT(appLayerVisibleChanged(int,bool))); - } - -public slots: - void appLayerVisibleChanged(int pid, bool visible){ - bool tempvis = visible; - - if(tempvis && (m_ppid != pid)) - tempvis = false; - - if(m_visible != tempvis){ - m_visible = tempvis; - emit visibleChanged(m_visible); - } - } - -signals: - void visibleChanged(const bool& visible); - -private: - int m_ppid; - bool m_visible; -}; - -class DBus : public QObject -{ - Q_OBJECT -public: - DBus(QObject *parent = nullptr) - : QObject(parent) - , interface("org.agl.homescreen", "/StatusBar", "org.agl.statusbar", QDBusConnection::sessionBus()) - {} - - Q_INVOKABLE void setStatusIcon(int index, const QString &url) { - interface.call("setStatusIcon", index, url); - } - -private: - QDBusInterface interface; -}; +#include "camera.h" int main(int argc, char *argv[]) { - QString myname = QString("Als-meter-demo"); + QString myname = QString("alsmeterdemo"); QGuiApplication app(argc, argv); app.setApplicationName(myname); @@ -123,12 +66,9 @@ int main(int argc, char *argv[]) query.addQueryItem(QStringLiteral("token"), secret); bindingAddressWS.setQuery(query); QQmlContext *context = engine.rootContext(); - AppVisible appVisible; - context->setContextProperty(QStringLiteral("appVisible"), &appVisible); context->setContextProperty(QStringLiteral("bindingAddressWS"), bindingAddressWS); std::string token = secret.toStdString(); - LibHomeScreen* hs = new LibHomeScreen(); QLibWindowmanager* qwm = new QLibWindowmanager(); // WindowManager @@ -146,23 +86,16 @@ int main(int argc, char *argv[]) }); // HomeScreen - hs->init(port, token.c_str()); + QLibHomeScreen* qhs = new QLibHomeScreen(); + qhs->init(port, token.c_str()); // Set the event handler for Event_TapShortcut which will activate the surface for windowmanager - hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [qwm, myname](json_object *object){ - json_object *appnameJ = nullptr; - if(json_object_object_get_ex(object, "application_name", &appnameJ)) - { - const char *appname = json_object_get_string(appnameJ); - if(myname == appname) - { - qDebug("Surface %s got tapShortcut\n", appname); - qwm->activateSurface(myname); - } - } + qhs->set_event_handler(QLibHomeScreen::Event_TapShortcut, [qwm, myname](json_object *object){ + qDebug("Surface %s got tapShortcut\n", qPrintable(myname)); + qwm->activateSurface(myname); }); + AGLScreenInfo screenInfo(qwm->get_scale_factor()); + engine.rootContext()->setContextProperty(QStringLiteral("screenInfo"), &screenInfo); - DBus dbus; - engine.rootContext()->setContextProperty("dbus", &dbus); engine.load(QUrl(QStringLiteral("qrc:/Als-meter-demo.qml"))); QObject *root = engine.rootObjects().first(); @@ -172,5 +105,3 @@ int main(int argc, char *argv[]) return app.exec(); } - -#include "main.moc" |