orientationLock: PageOrientation.LockLandscape
property string name
- property int timeControl //QML does not allow properties to be declared as enums...
+
+ //QML does not allow properties to be declared as enums...
+ //Initializing to invalid value to make sure picking *any* time control will trigger OnTimeControlChanged
+ property int timeControl: 1000
+
+
property bool askAddition
property bool askTurnsPerAddition
+ property int test
+
+ Settings
+ {
+ id: settings
+
+ }
+ onTimeControlChanged:
+ {
+ equalTimesSwitch.checked = settings.isEqualTimes(timeControl)
+
+ var whiteInitial = settings.getInitialTime(timeControl,true)
+ whiteInitialTime.hours = Qt.formatTime(whiteInitial,"h")
+ whiteInitialTime.minutes = Qt.formatTime(whiteInitial,"m")
+ whiteInitialTime.seconds = Qt.formatTime(whiteInitial,"s")
+
+ var blackInitial = settings.getInitialTime(timeControl,false)
+ blackInitialTime.hours = Qt.formatTime(blackInitial,"h")
+ blackInitialTime.minutes = Qt.formatTime(blackInitial,"m")
+ blackInitialTime.seconds = Qt.formatTime(blackInitial,"s")
+
+ var whiteAdditional = settings.getAdditionalTime(timeControl,true)
+ whiteAdditionalTime.hours = Qt.formatTime(whiteAdditional,"h")
+ whiteAdditionalTime.minutes = Qt.formatTime(whiteAdditional,"m")
+ whiteAdditionalTime.seconds = Qt.formatTime(whiteAdditional,"s")
+
+ var blackAdditional = settings.getAdditionalTime(timeControl,false)
+ blackAdditionalTime.hours = Qt.formatTime(blackAdditional,"h")
+ blackAdditionalTime.minutes = Qt.formatTime(blackAdditional,"m")
+ blackAdditionalTime.seconds = Qt.formatTime(blackAdditional,"s")
+
+
+ whiteTurnsPerAddition.text = settings.getTurnsPerAddition(timeControl,true)
+ blackTurnsPerAddition.text = settings.getTurnsPerAddition(timeControl,false)
+ }
+
tools: ToolBarLayout
{
ToolIcon { iconId: "toolbar-back"; onClicked: pageStack.pop() }
}
- TextField
+ Button
{
id: whiteInitialTime
- readOnly: true
anchors.top: whiteSmall.bottom
anchors.left: whiteTurnsPerAddition.left
+ anchors.right: whiteTurnsPerAddition.right
property int hours: 0
property int minutes: 30
text: {hours + " h " + minutes + " min " + seconds + " s"}
-
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked:
- {
- timePicker.timeType = "initial"
- timePicker.player = "white"
- timePicker.hour = parent.hours
- timePicker.minute = parent.minutes
- timePicker.second = parent.seconds
- timePicker.open()
- }
+ timePicker.timeType = "initial"
+ timePicker.player = "white"
+ timePicker.hour = hours
+ timePicker.minute = minutes
+ timePicker.second = seconds
+ timePicker.open()
}
+
}
- TextField
+ Button
{
id: blackInitialTime
visible: !equalTimesSwitch.checked
- readOnly: true
-
anchors.top: whiteSmall.bottom
anchors.left: blackTurnsPerAddition.left
+ anchors.right: blackTurnsPerAddition.right
property int hours: 0
property int minutes: 30
text: hours + " h " + minutes + " min " + seconds + " s"
-
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked:
- {
- timePicker.timeType = "initial"
- timePicker.player = "black"
- timePicker.hour = parent.hours
- timePicker.minute = parent.minutes
- timePicker.second = parent.seconds
- timePicker.open()
- }
+ timePicker.timeType = "initial"
+ timePicker.player = "black"
+ timePicker.hour = hours
+ timePicker.minute = minutes
+ timePicker.second = seconds
+ timePicker.open()
}
+
}
- TextField
+ Button
{
id: whiteAdditionalTime
visible: newGameDialogPage.askAddition
- readOnly: true
anchors.top: whiteInitialTime.bottom
anchors.topMargin: 15
// anchors.left: additionalTimeText.right
anchors.left: whiteTurnsPerAddition.left
+ anchors.right: whiteTurnsPerAddition.right
property int hours: 0
property int minutes: 0
property int seconds: 30
text: hours + " h " + minutes + " min " + seconds + " s"
-
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked:
- {
- timePicker.timeType = "additional"
- timePicker.player = "white";
- timePicker.hour = parent.hours
- timePicker.minute = parent.minutes
- timePicker.second = parent.seconds
- timePicker.open()
- }
+ timePicker.timeType = "additional"
+ timePicker.player = "white"
+ timePicker.hour = hours
+ timePicker.minute = minutes
+ timePicker.second = seconds
+ timePicker.open()
}
+
}
- TextField
+ Button
{
id: blackAdditionalTime
visible: newGameDialogPage.askAddition && !equalTimesSwitch.checked
- readOnly: true
anchors.top: whiteAdditionalTime.top
anchors.left: blackTurnsPerAddition.left
+ anchors.right: blackTurnsPerAddition.right
property int hours: 0
property int minutes: 0
text: hours + " h " + minutes + " min " + seconds + " s"
- MouseArea
+
+ onClicked:
{
- anchors.fill: parent
- onClicked:
- {
- timePicker.timeType = "additional"
- timePicker.player = "black"
- timePicker.hour = parent.hours
- timePicker.minute = parent.minutes
- timePicker.second = parent.seconds
- timePicker.open()
- }
+ timePicker.timeType = "additional"
+ timePicker.player = "black"
+ timePicker.hour = hours
+ timePicker.minute = minutes
+ timePicker.second = seconds
+ timePicker.open()
}
+
}
Text
anchors.verticalCenter: whiteTurnsPerAddition.verticalCenter
}
- TextField
+ Button
{
id: whiteTurnsPerAddition
visible: newGameDialogPage.askTurnsPerAddition
- readOnly: true;
anchors.top: whiteAdditionalTime.bottom
anchors.topMargin: 15
anchors.left: turnsPerAdditionText.right
anchors.leftMargin: 25
+// anchors.rightMargin: 25
+ width: 250 //The width of all white buttons are indirectly defined by this value, and the width of black buttons is defined by the space available.
- text: "1"
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked:
- {
- turnsDialog.player = "white"
- turnsDialog.open()
- turnsColumn.selectedIndex = parent.text-1 //Needs to be after open(), or gets overridden by the previous chosen value
+ turnsDialog.player = "white"
+ turnsDialog.open()
+ turnsColumn.selectedIndex = text-1 //Needs to be after open(), or gets overridden by the previous chosen value
-
- }
}
+
}
- TextField
+ Button
{
id: blackTurnsPerAddition
visible: newGameDialogPage.askTurnsPerAddition && !equalTimesSwitch.checked
- readOnly: true;
+
anchors.top: whiteTurnsPerAddition.top
anchors.left: whiteTurnsPerAddition.right
anchors.leftMargin: 25
+ anchors.right: parent.right
+ anchors.rightMargin: 25
- text: "1"
-
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked:
- {
- turnsDialog.player = "black"
- turnsDialog.open()
- turnsColumn.selectedIndex = parent.text-1 //Needs to be after open(), or gets overridden by the previous chosen value
- }
+ turnsDialog.player = "black"
+ turnsDialog.open()
+ turnsColumn.selectedIndex = parent.text-1 //Needs to be after open(), or gets overridden by the previous chosen value
}
-
}
anchors.top: whiteTurnsPerAddition.bottom
anchors.topMargin: 15
anchors.right: parent.right
+ anchors.rightMargin: 5
onClicked:
{
+
+
clocksPage.timeControl = timeControl
+
clocksPage.whiteInitialTime = 60*60*1000*whiteInitialTime.hours+60*1000*whiteInitialTime.minutes+1000*whiteInitialTime.seconds
clocksPage.whiteAdditionalTime = 60*60*1000*whiteAdditionalTime.hours+60*1000*whiteAdditionalTime.minutes+1000*whiteAdditionalTime.seconds
clocksPage.whiteTurnsPerAddition = whiteTurnsPerAddition.text
+
+
+ //Save settings for white
+ settings.setInitialTime(timeControl,true,whiteInitialTime.hours,whiteInitialTime.minutes,whiteInitialTime.seconds)
+ settings.setAdditionalTime(timeControl,true,whiteAdditionalTime.hours,whiteAdditionalTime.minutes,whiteAdditionalTime.seconds)
+ settings.setTurnsPerAddition(timeControl,true,whiteTurnsPerAddition.text)
+
+ settings.setEqualTimes(timeControl,equalTimesSwitch.checked) //save equal times setting
+
if (equalTimesSwitch.checked)
{
+ //use same values for white and black
clocksPage.blackInitialTime = 60*60*1000*whiteInitialTime.hours+60*1000*whiteInitialTime.minutes+1000*whiteInitialTime.seconds
clocksPage.blackAdditionalTime = 60*60*1000*whiteAdditionalTime.hours+60*1000*whiteAdditionalTime.minutes+1000*whiteAdditionalTime.seconds
clocksPage.blackTurnsPerAddition = whiteTurnsPerAddition.text
+ //If black values in dialog are not used they are not saved to settings
}
else
{
clocksPage.blackInitialTime = 60*60*1000*blackInitialTime.hours+60*1000*blackInitialTime.minutes+1000*blackInitialTime.seconds
clocksPage.blackAdditionalTime = 60*60*1000*blackAdditionalTime.hours+60*1000*blackAdditionalTime.minutes+1000*blackAdditionalTime.seconds
clocksPage.blackTurnsPerAddition = blackTurnsPerAddition.text
+
+ //Save settings for black
+ settings.setInitialTime(timeControl,false,blackInitialTime.hours,blackInitialTime.minutes,blackInitialTime.seconds)
+ settings.setAdditionalTime(timeControl,false,blackAdditionalTime.hours,blackAdditionalTime.minutes,blackAdditionalTime.seconds)
+ settings.setTurnsPerAddition(timeControl,false,blackTurnsPerAddition.text)
}
+
+
+
pageStack.push(clocksPage)
}