Work towards pause on swipeout
[chessclock] / qml / ClocksPage.qml
1 /**************************************************************************
2
3    Chess Clock
4
5    This file is part of Chess Clock software.
6
7    (This file) Copyright (c) Heli Hyvättinen 2011
8
9    Chess Clock is free software: you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation, either version 3 of the License, or
12    (at your option) any later version.
13
14    Chess Clock is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18
19
20 **************************************************************************/
21
22 import QtQuick 1.0
23 import com.meego 1.0
24 import QtQuick 1.1 
25 import ChessClocks 1.0
26
27
28
29 Page
30 {
31     id: clocksPage
32
33     property bool applicationActive: true //This is supposed to be set from C++
34
35     property int timeControl //properties cannot be declared as enumerations in QML
36                              //...must be a valid enum from WrappedClocksWidget
37     property int whiteInitialTime
38     property int blackInitialTime
39     property int whiteAdditionalTime
40     property int blackAdditionalTime
41     property int whiteTurnsPerAddition
42     property int blackTurnsPerAddition
43
44     orientationLock: PageOrientation.LockLandscape
45
46     onStatusChanged:
47     {
48         if (status == PageStatus.Activating)
49             wrappedClocksWidget.startGame(timeControl,whiteInitialTime,whiteAdditionalTime,whiteTurnsPerAddition,blackInitialTime,blackAdditionalTime,blackTurnsPerAddition)
50     }
51
52     onApplicationActiveChanged:
53     {
54         if (applicationActive == false)
55             wrappedClocksWidget.pause()
56
57
58     }
59
60
61     tools: ToolBarLayout
62     {
63         ToolIcon
64         {
65             iconId: "toolbar-back"
66             onClicked:
67             {
68                 wrappedClocksWidget.pause()
69                 confirmationDialog.open()
70             }
71         }
72
73         ToolIcon
74         {
75             iconId: "toolbar-mediacontrol-pause"
76             onClicked:
77                 {
78                     wrappedClocksWidget.pause()
79                 }
80         }
81
82         Item{}  //placeholder needed to put pause button in the middle
83
84
85     }
86
87
88
89
90     WrappedClocksWidget
91     {
92         id: wrappedClocksWidget
93     }
94
95
96     QueryDialog
97     {
98         id: confirmationDialog
99         titleText: "Quit?"
100         message:  "Are you sure you want to quit the game?"
101         acceptButtonText: "Quit"
102         rejectButtonText: "Continue play"
103
104         onAccepted:
105         {
106            pageStack.pop()
107         }
108
109     }
110 }