Opens a stub about page
[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                 }
203
204
205
206                 Button
207                 {
208                     id: blackInitialTime
209                     text: "pick time"
210   //                  color: "white"
211                     onClicked: initialTimePicker.open()
212                 }
213
214
215
216                 Text
217                 {
218                     id: additionalTimeText
219                     text: "Additional time"
220                     color: "white"
221                     font.pointSize: 26
222                     visible: newGameDialog.askAddition
223 //                    anchors.top: initialTimeText.bottom
224 //                    anchors.horizontalCenter: parent.horizontalCenter
225                 }
226
227
228                 TextField
229                 {
230                     id: whiteAdditionalTime
231                     inputMask: "000"
232                 }
233
234                 ListModel
235                 {
236                     id: hoursList
237                     ListElement { value: 0}
238                     ListElement {value: 1}
239                     ListElement { value: 2}
240                 }
241
242                 TumblerColumn
243                 {
244
245                     id: hours
246                     selectedIndex: 0
247                     items: hoursList
248
249                     //for (var day = 1; day <= 31; day++) {hoursList.append({"value" : day});
250                 }
251
252 //                TumblerColumn
253 //                {
254 //                    id: minutes
255 //                    selectedIndex: 0
256 //                    items: [0,1,2]
257 //                    //for (var day = 1; day <= 31; day++) {minutesList.append({"value" : day});
258 //                }
259
260 //                TumblerColumn
261 //                {
262 //                    id: seconds
263 //                    selectedIndex:0
264 //                    items: [0,1,2]
265 //                    //for (var day = 1; day <= 31; day++) {daysList.append({"value" : day});
266 //                }
267
268 //                Tumbler
269 //                {
270 //                    columns:[hours]
271 //                }
272
273         Slider
274         {
275             id: blackAdditionalTime
276             minimumValue: 0
277             maximumValue: 100
278             value: 1
279             stepSize: 1
280             valueIndicatorVisible: true
281
282         }
283
284
285                 Text
286                 {
287                     text:  "Turns per addition"
288                     color: "white"
289                     font.pointSize: 26
290                     visible: newGameDialog.askAddition
291 //                    anchors.top: additionalTimeText.bottom
292 //                    anchors.horizontalCenter: parent.horizontalCenter
293                 }
294                 TextField
295                 {
296                     id: whiteTurnsPerAddition
297                     inputMask: "000"
298                 }
299
300                 Slider
301                 {
302                     id: blackTurnsPerAddition
303                     minimumValue: 0
304                     maximumValue: 100
305                     value: 1
306                     stepSize: 1
307                     valueIndicatorVisible: true
308
309                 }
310
311          }
312
313
314         buttons:
315
316             Button
317             {
318                 id: bOk
319                 text: "Start game"
320                 y: 150
321
322                 onClicked: newGameDialog.accept()
323             }
324     }
325
326     TimePickerDialog
327     {
328         id: initialTimePicker
329         titleText: "Choose initial time"
330     }
331
332 }
333
334
335
336