Reache QML from C++, still not working
authorHeli Hyvättinen <heli.hyvattinen@kymp.net>
Sat, 27 Aug 2011 18:12:37 +0000 (21:12 +0300)
committerHeli Hyvättinen <heli.hyvattinen@kymp.net>
Sat, 27 Aug 2011 18:12:37 +0000 (21:12 +0300)
chessclockview.cpp
qml/main.qml

index e04be9a..7f46774 100644 (file)
@@ -1,10 +1,12 @@
 #include "chessclockview.h"
 #include <QDeclarativeContext>
 #include <QDebug>
+#include <QGraphicsObject>
 
 ChessClockView::ChessClockView(QWidget *parent) :
     QDeclarativeView(parent)
 {
+
 }
 
 bool ChessClockView::event(QEvent *event)
@@ -12,21 +14,19 @@ bool ChessClockView::event(QEvent *event)
 
     if (event->type() == QEvent::WindowDeactivate)
     {
-        QDeclarativeContext * pContext = rootContext();
+        QDeclarativeContext * pContext = new QDeclarativeContext (rootContext());
         if (pContext)
         {
-            QObject * pObject = pContext->contextObject();
 
-            if (pObject)
-            {
-                pObject->setProperty("applicationActive",false);
-//            pContext->setContextProperty("clocksPage.applicationActive", false);
+//            pContext->setContextProperty("applicationActive", false);
             qDebug() << "Window deactivated";
-            }
-            else qDebug() << "No context object!" << pContext->isValid();
+
 //            QDeclarativeEngine * pEngine = engine();
 //            engine()->
         }
+
+        QGraphicsObject *pObject = rootObject();
+        pObject->setProperty("applicationActive",false);
     }
 
     else if (event->type() == QEvent::WindowActivate)
index 7adbe6a..e8a4ef7 100644 (file)
@@ -29,9 +29,11 @@ PageStackWindow {
 
     property bool applicationActive: true //This is supposed to be set from C++
 
-    onApplicationActiveChanged:
+    property bool appActive: applicationActive
+
+    onAppActiveChanged:
     {
-        if (applicationActive == false)
+        if (appActive == false)
             wrappedClocksWidget.pause()
             theme.inverted = false
     }