From d6d7de8dfd60b3db475efa0ba1995a510e47ce9a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Heli=20Hyv=C3=A4ttinen?= Date: Tue, 4 Oct 2011 19:02:22 +0300 Subject: [PATCH] The dialogs start with the current value Bug: Needs to tap twice to open any dialog... This appears to happen in the released 1.9.0 version, too. Since it hasn't been noticed before it proably appeared with beta2 firmware... --- classes/settings.cpp | 13 ++++++++ classes/settings.h | 38 ++++++++++++++++++------ qml/NewGameDialogPage.qml | 72 +++++++++++++++++++++++++++++++++++---------- 3 files changed, 99 insertions(+), 24 deletions(-) diff --git a/classes/settings.cpp b/classes/settings.cpp index 6214c38..4039a28 100644 --- a/classes/settings.cpp +++ b/classes/settings.cpp @@ -131,6 +131,12 @@ return groupString; settings.setValue("BlackItnitial",time); } + void Settings::setInitialTime(int timeControl, bool isWhite, int hours, int minutes, int seconds) + { + QTime time (hours,minutes,seconds); + setInitialTime(timeControl,isWhite,time); + } + void Settings::setAdditionalTime(int timeControl, bool isWhite, QTime time) { QSettings settings; @@ -142,6 +148,12 @@ return groupString; settings.setValue("BlackAddition",time); } + void Settings::setAdditionalTime(int timeControl, bool isWhite, int hours, int minutes, int seconds) + { + QTime time(hours,minutes,seconds); + setAdditionalTime(timeControl,isWhite,time); + } + void Settings::setEqualTimes(int timeControl, bool on) { QSettings settings; @@ -151,3 +163,4 @@ return groupString; } + diff --git a/classes/settings.h b/classes/settings.h index ba12a92..db9e9de 100644 --- a/classes/settings.h +++ b/classes/settings.h @@ -9,13 +9,12 @@ Used to save the last used dialog settings. Uses QSettings internally. -Note: not compatible with the settings used in the Maemo versions. -The group names are the same, but the times are saved as ints (milliseconds) rather than QTimes. -Time Control is passed as int due to QML problem, but *must* be a valid -WrappedClocksWidget::TimeControlType enum to work. (All other values are interpreted as "Normal Clock" +Compatible with the settings used in the Maemo versions. +Time Control is passed as int due to a QML problem, but *must* be a valid WrappedClocksWidget::TimeControlType enum to work. +(All other values are interpreted as "Normal Clock") @author Heli Hyvättinen -@date 2011-10-03 +@date 2011-10-04 @version 1.9.1 */ @@ -66,28 +65,49 @@ public slots: */ void setTurnsPerAddition(int timeControl, bool isWhite, int turns); - /*! + /*! Sets initial time in settings. @param timeControl Time control for which the setting is set @param isWhite true for white player, false for black - @param time The time to be saved, in milliseconds + @param time The time to be saved */ void setInitialTime(int timeControl, bool isWhite, QTime time); + /*! Sets initial time in settings + @param timeControl Time control for which the setting is set + @param isWhite true for white player, false for black + @param hours Hour component of the time to be saved + @param minutes Minutes component of the time to be saved + @param seconds Seconds component of the time to be saved + */ + void setInitialTime(int timeControl, bool isWhite, int hours, int minutes, int seconds); + /*! Sets additional time in settings. @param timeControl Time control for which the setting is set @param isWhite true for white player, false for black - @param time The time to be saved, in milliseconds + @param time The time to be saved */ - void setAdditionalTime(int timeControl, bool isWhite, QTime time); + /*! Sets additional time in settings + @param timeControl Time control for which the setting is set + @param isWhite true for white player, false for black + @param hours Hour component of the time to be saved + @param minutes Minutes component of the time to be saved + @param seconds Seconds component of the time to be saved + */ + void setAdditionalTime(int timeControl, bool isWhite, int hours, int minutes, int seconds); + + /*! Sets the equal times setting @param timeControl Time control for which the setting is set */ void setEqualTimes(int timeControl,bool on); + + + protected: QString getGroupName(int timeControl); diff --git a/qml/NewGameDialogPage.qml b/qml/NewGameDialogPage.qml index 94c02b7..ebdd201 100644 --- a/qml/NewGameDialogPage.qml +++ b/qml/NewGameDialogPage.qml @@ -207,7 +207,15 @@ Page MouseArea { anchors.fill: parent - onClicked: {timePicker.timeType = "initial"; timePicker.player = "white"; timePicker.open()} + onClicked: + { + timePicker.timeType = "initial" + timePicker.player = "white" + timePicker.hour = parent.hours + timePicker.minute = parent.minutes + timePicker.second = parent.seconds + timePicker.open() + } } } @@ -233,7 +241,15 @@ Page MouseArea { anchors.fill: parent - onClicked: {timePicker.timeType = "initial"; timePicker.player = "black"; timePicker.open()} + onClicked: + { + timePicker.timeType = "initial" + timePicker.player = "black" + timePicker.hour = parent.hours + timePicker.minute = parent.minutes + timePicker.second = parent.seconds + timePicker.open() + } } } @@ -275,7 +291,15 @@ Page MouseArea { anchors.fill: parent - onClicked: {timePicker.timeType = "additional"; timePicker.player = "white"; timePicker.open()} + onClicked: + { + timePicker.timeType = "additional" + timePicker.player = "white" + timePicker.hour = parent.hours + timePicker.minute = parent.minutes + timePicker.second = parent.seconds + timePicker.open() + } } } @@ -297,7 +321,15 @@ Page MouseArea { anchors.fill: parent - onClicked: {timePicker.timeType = "additional"; timePicker.player = "black"; timePicker.open()} + onClicked: + { + timePicker.timeType = "additional" + timePicker.player = "black" + timePicker.hour = parent.hours + timePicker.minute = parent.minutes + timePicker.second = parent.seconds + timePicker.open() + } } @@ -327,7 +359,12 @@ Page MouseArea { anchors.fill: parent - onClicked: {turnsDialog.player = "white"; turnsDialog.open()} + onClicked: + { + turnsDialog.player = "white" + turnsColumn.selectedIndex = parent.text-1 + turnsDialog.open() + } } } @@ -345,7 +382,12 @@ Page MouseArea { anchors.fill: parent - onClicked: {turnsDialog.player = "black"; turnsDialog.open()} + onClicked: + { + turnsDialog.player = "black" + turnsColumn.selectedIndex = parent.text-1 + turnsDialog.open() + } } } @@ -373,12 +415,12 @@ Page -// //Save settings for white -// settings.setInitialTime(timeControl,true,clocksPage.whiteInitialTime) -// settings.setAdditionalTime(timeControl,true,clocksPage.whiteAdditionalTime) -// settings.setTurnsPerAddition(timeControl,true,clocksPage.whiteTurnsPerAddition) + //Save settings for white + settings.setInitialTime(timeControl,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 + settings.setEqualTimes(timeControl,equalTimesSwitch.checked) //save equal times setting if (equalTimesSwitch.checked) { @@ -395,10 +437,10 @@ Page 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,clocksPage.blackInitialTime) -// settings.setAdditionalTime(timeControl,false,clocksPage.blackAdditionalTime) -// settings.setTurnsPerAddition(timeControl,false,clocksPage.blackTurnsPerAddition) + //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) } -- 1.7.9.5