Shows and hides pause button correctly
[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
34     property int timeControl //properties cannot be declared as enumerations in QML
35                              //...must be a valid enum from WrappedClocksWidget
36     property int whiteInitialTime
37     property int blackInitialTime
38     property int whiteAdditionalTime
39     property int blackAdditionalTime
40     property int whiteTurnsPerAddition
41     property int blackTurnsPerAddition
42
43     orientationLock: PageOrientation.LockLandscape
44
45     onStatusChanged:
46     {
47         if (status == PageStatus.Activating)
48               wrappedClocksWidget.startGame(timeControl,whiteInitialTime,whiteAdditionalTime,whiteTurnsPerAddition,blackInitialTime,blackAdditionalTime,blackTurnsPerAddition)
49     }
50
51     property bool appActive: applicationActive
52
53     onAppActiveChanged:
54     {
55         if (appActive == false)
56         {
57             wrappedClocksWidget.pause()
58             pauseButton.visible = false
59         }
60     }
61
62     tools: ToolBarLayout
63     {
64         ToolIcon
65         {
66             iconId: "toolbar-back"
67             onClicked:
68             {
69                 wrappedClocksWidget.pause()
70                 confirmationDialog.open()
71             }
72         }
73
74         ToolIcon
75         {
76             id: pauseButton
77             iconId: "toolbar-mediacontrol-pause"
78             onClicked:
79                 {
80                     wrappedClocksWidget.pause()
81                     visible = false
82                 }
83         }
84
85         Item{}  //placeholder needed to put pause button in the middle
86
87
88     }
89
90
91
92
93     WrappedClocksWidget
94     {
95         id: wrappedClocksWidget
96         onUnPaused: pauseButton.visible = true
97     }
98
99
100     QueryDialog
101     {
102         id: confirmationDialog
103         titleText: "Quit?"
104         message:  "Are you sure you want to quit the game?"
105         acceptButtonText: "Quit"
106         rejectButtonText: "Continue play"
107
108         onAccepted:
109         {
110            pageStack.pop()
111         }
112
113     }
114 }