diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2010-10-15 03:04:23 (GMT) |
---|---|---|
committer | Alan Alpert <alan.alpert@nokia.com> | 2010-10-15 03:04:23 (GMT) |
commit | 64a05cfa97b1192ac247558c0601ba0e4ec464c9 (patch) | |
tree | 4054cd15ccd2b84c01bba7084470ff11e869bd30 /demos/declarative | |
parent | 8c48c7b9bca8074c48b78f6d089a3882b2d73a9d (diff) | |
download | Qt-64a05cfa97b1192ac247558c0601ba0e4ec464c9.zip Qt-64a05cfa97b1192ac247558c0601ba0e4ec464c9.tar.gz Qt-64a05cfa97b1192ac247558c0601ba0e4ec464c9.tar.bz2 |
Snake demo now pauses when the window loses focus.
Task-number: QTBUG-11592
Diffstat (limited to 'demos/declarative')
-rw-r--r-- | demos/declarative/snake/content/pics/pause.png | bin | 0 -> 4327 bytes | |||
-rw-r--r-- | demos/declarative/snake/content/snake.js | 4 | ||||
-rw-r--r-- | demos/declarative/snake/snake.qml | 12 |
3 files changed, 13 insertions, 3 deletions
diff --git a/demos/declarative/snake/content/pics/pause.png b/demos/declarative/snake/content/pics/pause.png Binary files differnew file mode 100644 index 0000000..056d97d --- /dev/null +++ b/demos/declarative/snake/content/pics/pause.png diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js index c2e9d3a..5c089de 100644 --- a/demos/declarative/snake/content/snake.js +++ b/demos/declarative/snake/content/snake.js @@ -32,7 +32,7 @@ function startNewGame() if (state == "starting") return; - if (heartbeat.running) { + if (activeGame) { endGame(); startNewGameTimer.running = true; state = ""; @@ -87,7 +87,7 @@ function startNewGame() function endGame() { - heartbeat.running = false; + activeGame = false; for(var i in snake) snake[i].dying = true; if (cookie) { diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml index 5b69217..6eaa976 100644 --- a/demos/declarative/snake/snake.qml +++ b/demos/declarative/snake/snake.qml @@ -47,6 +47,7 @@ Rectangle { id: screen; SystemPalette { id: activePalette } color: activePalette.window + property bool activeGame: false property int gridSize : 34 property int margin: 4 @@ -75,6 +76,7 @@ Rectangle { Timer { id: heartbeat; interval: heartbeatInterval; + running: activeGame && runtime.isActiveWindow repeat: true onTriggered: { Logic.move() } } @@ -94,9 +96,17 @@ Rectangle { Timer { id: startHeartbeatTimer; interval: 1000 ; - onTriggered: { state = "running"; heartbeat.running = true; } + onTriggered: { state = "running"; activeGame = true; } } + Image{ + id: pauseDialog + z: 1 + source: "content/pics/pause.png" + anchors.centerIn: parent; + //opacity is deliberately not animated + opacity: gameActive && !runtime.isActiveWindow + } Image { Image { |