From 95b45c40f7db39d4a9a0ceb2995b976b0f2792e4 Mon Sep 17 00:00:00 2001 From: zheng_wenlong Date: Wed, 6 Feb 2019 13:51:09 +0900 Subject: Change als-meter-demo by using low-can Change als-meter-demo by using low-can data. For m3ulcb/h3ulcb board, the usb camera device id is over 10, Detect the camera device from 0 to 19. Change-Id: Icbd0b4327c9c356f40cea320420d149d850e4347 Signed-off-by: zheng_wenlong --- app/main.cpp | 91 ++++++++---------------------------------------------------- 1 file changed, 11 insertions(+), 80 deletions(-) (limited to 'app/main.cpp') 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 #include #include -#include -#include -#include #include #include #include #include -#include -#include -#include "camera.h" -#include -#include +#include +#include #include -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" -- cgit 1.2.3-korg