Miscellanous changes
[chessclock] / qml / MainPage.qml
1 import QtQuick 1.1
2 import com.meego 1.0
3 import QtQuick 1.0
4 import com.nokia.extras 1.0
5
6
7 Page {
8     id: mainPage
9     tools: commonTools
10
11
12
13
14
15
16 //    Label {
17 //        id: label
18 //        anchors.centerIn: parent
19 //        text: qsTr("Hello world!")
20 //        visible: false
21 //    }
22
23
24     Image
25     {
26         id: bigLogo
27 //        anchors.fill: parent
28 //        anchors.left: menuList.right
29
30         source: ":/rc/pic/logo.png"
31     }
32
33     ListModel
34     {
35         id: menuModel
36
37         ListElement
38         {
39             name: "Normal clock"
40             askAddition: false
41             logoFile: ":/rc/pic/oldclock.png"
42
43
44         }
45
46         ListElement
47         {
48             name: "Addition before"
49             askAddition: true
50             logoFile: ":/rc/pic/addbefore.png"
51         }
52
53         ListElement
54         {
55             name: "Addition after"
56             askAddition: true
57             logoFile: ":/rc/pic/addafter.png"
58         }
59
60         ListElement
61         {
62             name: "Delay"
63             askAddition: true
64             logoFile: ":/rc/pic/pausebefore.png"
65         }
66
67         ListElement
68         {
69             name: "Delay after"
70             askAddition: true
71             logoFile: ":/rc/pic/pauseafter.png"
72         }
73
74         ListElement
75         {
76             name:"Hour Glass"
77             askAddition: false
78             logoFile:":/rc/pic/hourglass.png"
79         }
80
81     }
82
83
84     ListView
85     {
86         id: menuList
87
88         anchors.left: bigLogo.right
89         anchors.right: parent.right
90         anchors.top: parent.top
91         anchors.bottom: parent.bottom
92
93
94          model: menuModel
95
96          delegate: Row
97          {
98             Image
99             {
100                 source: logoFile
101
102                 MouseArea
103                 {
104                     anchors.fill: parent
105                     onClicked: {newGameDialog.name = name; newGameDialog.askAddition = askAddition; newGameDialog.open()}
106                 }
107             }
108
109             Text
110             {
111                 text: name
112                 font.pointSize: 40
113                 anchors.topMargin: 12
114                 color: "white"
115
116                 MouseArea
117                 {
118                     anchors.fill: parent
119                     onClicked: {newGameDialog.name = name; newGameDialog.askAddition = askAddition; newGameDialog.open()}
120                 }
121             }
122
123         }
124     }
125
126
127
128
129
130     Dialog
131     {
132         id:newGameDialog
133
134         property string name
135         property bool askAddition
136
137
138
139         title:Label
140         {
141             color:"white"
142             font.pointSize: 64
143             text: newGameDialog.name
144         }
145
146
147         content:
148             Grid
149             {
150                 columns: 3
151
152                 Row
153                 {
154                     id: rowRow
155                     spacing: 10
156 //                    anchors.top: parent.top
157 //                    anchors.horizontalCenter: parent.horizontalCenter
158
159                     Text
160                     {
161  //                     width: rowRow.width - rowRow.spacing - switchComponent.width - whiteSmall.width - blackSmall.width
162  //                     height: switchComponent.height
163                         verticalAlignment: Text.AlignVCenter
164                         text: "Equal times"
165                         color: "white"
166                         font.pointSize: 26
167                     }
168
169                     Switch
170                     {
171                         id: switchComponent
172                     }
173                 }
174                 Image
175                 {
176                     id: whiteSmall
177                     source: ":/rc/pic/white_small.png"
178                 }
179
180                 Image
181                 {
182                     id: blackSmall
183                     source: ":/rc/pic/black_small.png"
184                 }
185
186                 Text
187                 {
188                     id: initialTimeText
189                     text: "Initial time"
190                     color: "white"
191                     font.pointSize: 26
192 //                    anchors.top: rowRow.bottom
193 //                    anchors.horizontalCenter: parent.horizontalCenter
194 //                    visible: true
195                 }
196
197
198                 TextField
199                 {
200                     id: whiteInitialTime
201                     inputMask: "000"
202                     readOnly: true
203
204                     MouseArea
205                     {
206                         anchors.fill: parent
207                         onClicked: initialTimePicker.open()
208                     }
209
210                 }
211
212
213
214                 Button
215                 {
216                     id: blackInitialTime
217                     text: "pick time"
218   //                  color: "white"
219                     onClicked: initialTimePicker.open()
220                 }
221
222
223
224                 Text
225                 {
226                     id: additionalTimeText
227                     text: "Additional time"
228                     color: "white"
229                     font.pointSize: 26
230                     visible: newGameDialog.askAddition
231 //                    anchors.top: initialTimeText.bottom
232 //                    anchors.horizontalCenter: parent.horizontalCenter
233                 }
234
235
236                 TextField
237                 {
238                     id: whiteAdditionalTime
239                     inputMask: "000"
240                 }
241
242                 ListModel
243                 {
244                     id: hoursList
245                     ListElement { value: 0}
246                     ListElement {value: 1}
247                     ListElement { value: 2}
248                 }
249
250
251
252         Slider
253         {
254             id: blackAdditionalTime
255             minimumValue: 0
256             maximumValue: 100
257             value: 1
258             stepSize: 1
259             valueIndicatorVisible: true
260
261         }
262
263
264                 Text
265                 {
266                     text:  "Turns per addition"
267                     color: "white"
268                     font.pointSize: 26
269                     visible: newGameDialog.askAddition
270 //                    anchors.top: additionalTimeText.bottom
271 //                    anchors.horizontalCenter: parent.horizontalCenter
272                 }
273                 TextField
274                 {
275                     id: whiteTurnsPerAddition
276                     inputMask: "000"
277                 }
278
279                 Slider
280                 {
281                     id: blackTurnsPerAddition
282                     minimumValue: 0
283                     maximumValue: 100
284                     value: 1
285                     stepSize: 1
286                     valueIndicatorVisible: true
287
288                 }
289
290          }
291
292
293         buttons:
294
295             Button
296             {
297                 id: bOk
298                 text: "Start game"
299                 y: 150
300
301                 onClicked: newGameDialog.accept()
302             }
303     }
304
305     TimePickerDialog
306     {
307         id: initialTimePicker
308         titleText: "Choose initial time"
309         rejectButtonText: "Cancel"
310         acceptButtonText: "Ok"
311         hourMode: DateTime.TwentyFourHours
312         onAccepted: blackInitialTime.text = hour + "h" + minute + "min" + second + "s"
313     }
314
315 }
316
317
318
319