change hs to qhs
[apps/hvac.git] / app / main.cpp
index 211f52b..f44dd72 100644 (file)
@@ -24,8 +24,8 @@
 
 #include "translator.h"
 
-#ifdef HAVE_LIBHOMESCREEN
-#include <libhomescreen.hpp>
+#ifdef HAVE_QLIBHOMESCREEN
+#include <qlibhomescreen.h>
 #endif
 #ifdef HAVE_QLIBWINDOWMANAGER
 #include <qlibwindowmanager.h>
@@ -75,6 +75,8 @@ int main(int argc, char *argv[])
     if(qwm->init(port,secret) != 0){
         exit(EXIT_FAILURE);
     }
+    AGLScreenInfo screenInfo(qwm->get_scale_factor());
+    engine.rootContext()->setContextProperty(QStringLiteral("screenInfo"), &screenInfo);
     // Request a surface as described in layers.json windowmanager’s file
     if (qwm->requestSurface(myname) != 0) {
         exit(EXIT_FAILURE);
@@ -86,24 +88,15 @@ int main(int argc, char *argv[])
     });
 #endif
 
-#ifdef HAVE_LIBHOMESCREEN
-    LibHomeScreen* hs = new LibHomeScreen();
+#ifdef HAVE_QLIBHOMESCREEN
+    QLibHomeScreen* qhs = new QLibHomeScreen();
 
     // HomeScreen
     std::string token = secret.toStdString();
-    hs->init(port, token.c_str());
+    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_ShowWindow, [qwm, myname](json_object *object){
+        qwm->activateSurface(myname);
     });
 #endif
 
@@ -111,9 +104,10 @@ int main(int argc, char *argv[])
     QObject *root = engine.rootObjects().first();
     QQuickWindow *window = qobject_cast<QQuickWindow *>(root);
 #ifdef HAVE_QLIBWINDOWMANAGER
-    QObject::connect(window, SIGNAL(frameSwapped()), qwm, SLOT(slotActivateSurface()));
+    // QObject::connect(window, SIGNAL(frameSwapped()), qwm, SLOT(slotActivateSurface()));
+    qhs->setQuickWindow(window);
 #else
-    window->resize(1080, 1920 - 218 - 215);
+    window->resize(1920, 720);
     window->setVisible(true);
 #endif