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
Settings
{
id: settings
+
}
onTimeControlChanged:
{
- equalTimesSwitch = settings.isEqualTimes(timeControl)
+ equalTimesSwitch.checked = settings.isEqualTimes(timeControl)
var whiteInitial = settings.getInitialTime(timeControl,true)
- whiteInitialTime.hours = whiteInitial/(60*60*1000)
- whiteInitialTime.minutes = (whiteInitial%(60*60*1000))/(60*1000)
- whiteInitialTime.seconds = whiteInitial%(60*1000)/1000
+ 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 = blackInitial/(60*60*1000)
- blackInitialTime.minutes = (blackInitial%(60*60*1000))/(60*1000)
- blackInitialTime.seconds = blackInitial%(60*1000)/1000
+ 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 = whiteAdditional/(60*60*1000)
- whiteAdditionalTime.minutes = (whiteAdditional%(60*60*1000))/(60*1000)
- whiteAdditionalTime.seconds = whiteAdditional%(60*1000)/1000
+ 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 = blackAdditional/(60*60*1000)
- blackAdditionalTime.minutes = (blackAdditional%(60*60*1000))/(60*1000)
- blackAdditionalTime.seconds = blackAdditional%(60*1000)/1000
+ blackAdditionalTime.hours = Qt.formatTime(blackAdditional,"h")
+ blackAdditionalTime.minutes = Qt.formatTime(blackAdditional,"m")
+ blackAdditionalTime.seconds = Qt.formatTime(blackAdditional,"s")
- whiteTurnsPerAddition.text = whiteInitial/(60*60*1000) // settings.getTurnsPerAddition(timeControl,true)
- blackTurnsPerAddition.text = 3%2//settings.getTurnsPerAddition(timeControl,false)
+ whiteTurnsPerAddition.text = settings.getTurnsPerAddition(timeControl,true)
+ blackTurnsPerAddition.text = settings.getTurnsPerAddition(timeControl,false)
}
tools: ToolBarLayout
}
- TextField
+ Button
{
id: whiteInitialTime
- readOnly: true
anchors.top: whiteSmall.bottom
anchors.left: whiteTurnsPerAddition.left
+ anchors.right: whiteTurnsPerAddition.right
- property int hours
- property int minutes
- property int seconds
+ property int hours: 0
+ property int minutes: 30
+ property int seconds: 0
text: {hours + " h " + minutes + " min " + seconds + " s"}
-
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked: {timePicker.timeType = "initial"; timePicker.player = "white"; 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
- property int minutes
- property int seconds
+ property int hours: 0
+ property int minutes: 30
+ property int seconds: 0
text: hours + " h " + minutes + " min " + seconds + " s"
-
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked: {timePicker.timeType = "initial"; timePicker.player = "black"; 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
- property int hours
- property int minutes
- property int seconds
+ 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.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
- property int minutes
- property int seconds
+ 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 = "black"; 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.
- MouseArea
+
+ onClicked:
{
- anchors.fill: parent
- onClicked: {turnsDialog.player = "white"; turnsDialog.open()}
+ 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
- MouseArea
+ onClicked:
{
- anchors.fill: parent
- onClicked: {turnsDialog.player = "black"; turnsDialog.open()}
+ 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:
{
//Save settings for white
- settings.setInitialTime(timeControl,true,clocksPage.whiteInitialTime)
- settings.setAdditionalTime(timeControl,true,clocksPage.whiteAdditionalTime)
- settings.setTurnsPerAddition(timeControl,true,clocksPage.whiteTurnsPerAddition)
+ 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
clocksPage.blackTurnsPerAddition = blackTurnsPerAddition.text
//Save settings for black
- settings.setInitialTime(timeControl,false,clocksPage.blackInitialTime)
- settings.setAdditionalTime(timeControl,false,clocksPage.blackAdditionalTime)
- settings.setTurnsPerAddition(timeControl,false,clocksPage.blackTurnsPerAddition)
+ 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)
}
TumblerColumn
{
id: turnsColumn
- selectedIndex: 1
items: turnsList