Javascript handles all numbers as floats... Needs a new approach.
-QString Settings::getGroupName(WrappedClocksWidget::TimeControlType timeControl)
+QString Settings::getGroupName(int timeControl)
{
//Using same groups and keys in QSettings as the maemo version
//just in case Maemo version would move to use QML someday
}
- int Settings::getTurnsPerAddition(WrappedClocksWidget::TimeControlType timeControl, bool isWhite)
+ int Settings::getTurnsPerAddition(int timeControl, bool isWhite)
{
QSettings settings;
}
- int Settings::getInitialTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite)
+ int Settings::getInitialTime(int timeControl, bool isWhite)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
return settings.value("BlackInitial",defaultTime).toInt();
}
- int Settings::getAdditionalTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite)
+ int Settings::getAdditionalTime(int timeControl, bool isWhite)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
if (isWhite)
return settings.value("WhiteAddition",30*1000).toInt();
else
- return settings.value("BlackAddition",30*100).toInt();
+ return settings.value("BlackAddition",30*1000).toInt();
}
- bool Settings::isEqualTimes(WrappedClocksWidget::TimeControlType timeControl)
+ bool Settings::isEqualTimes(int timeControl)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
return settings.value("Equals",false).toBool();
}
- void Settings::setTurnsPerAddition(WrappedClocksWidget::TimeControlType timeControl, bool isWhite, int turns)
+ void Settings::setTurnsPerAddition(int timeControl, bool isWhite, int turns)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
settings.setValue("BlackPerTurns",turns);
}
- void Settings::setInitialTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite, int time)
+ void Settings::setInitialTime(int timeControl, bool isWhite, int time)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
settings.setValue("BlackItnitial",time);
}
- void Settings::setAdditionalTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite, int time)
+ void Settings::setAdditionalTime(int timeControl, bool isWhite, int time)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
settings.setValue("BlackAddition",time);
}
- void Settings::setEqualTimes(WrappedClocksWidget::TimeControlType timeControl, bool on)
+ void Settings::setEqualTimes(int timeControl, bool on)
{
QSettings settings;
settings.beginGroup(getGroupName(timeControl));
#include "classes/wrappedclockswidget.h"
-/*! A class that gives accedd to settings
+/*! A class that gives access to settings
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"
@author Heli Hyvättinen
-@date 2011-09-28
+@date 2011-10-03
@version 1.9.1
*/
@param timeControl Time control for which the setting is queried
@param isWhite true for white player, false for black
*/
- Q_INVOKABLE int getTurnsPerAddition(WrappedClocksWidget::TimeControlType timeControl, bool isWhite);
+ Q_INVOKABLE int getTurnsPerAddition(int timeControl, bool isWhite);
/*!
Returns intitial time (in milliseconds) from settings.
@param timeControl Time control for which the setting is queried
@param isWhite true for white player, false for black
*/
- Q_INVOKABLE int getInitialTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite);
+ Q_INVOKABLE int getInitialTime(int timeControl, bool isWhite);
/*!
Returns additional time (in milliseconds) from settings.
@param timeControl Time control for which the setting is queried
@param isWhite true for white player, false for black
*/
- Q_INVOKABLE int getAdditionalTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite);
+ Q_INVOKABLE int getAdditionalTime(int timeControl, bool isWhite);
/*!
Returns whether the equal times is set in the settings
@param timeControl Time control for which the setting is queried
*/
- Q_INVOKABLE bool isEqualTimes(WrappedClocksWidget::TimeControlType timeControl);
+ Q_INVOKABLE bool isEqualTimes(int timeControl);
@param isWhite true for white player, false for black
@param turns The value to be saved
*/
- void setTurnsPerAddition(WrappedClocksWidget::TimeControlType timeControl, bool isWhite, int turns);
+ void setTurnsPerAddition(int timeControl, bool isWhite, int turns);
/*!
Sets initial time in settings.
@param isWhite true for white player, false for black
@param time The time to be saved, in milliseconds
*/
- void setInitialTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite, int time);
+ void setInitialTime(int timeControl, bool isWhite, int time);
/*!
Sets additional time in settings.
@param time The time to be saved, in milliseconds
*/
- void setAdditionalTime(WrappedClocksWidget::TimeControlType timeControl, bool isWhite, int time);
+ void setAdditionalTime(int timeControl, bool isWhite, int time);
/*! Sets the equal times setting
@param timeControl Time control for which the setting is set
*/
- void setEqualTimes(WrappedClocksWidget::TimeControlType timeControl,bool on);
+ void setEqualTimes(int timeControl,bool on);
protected:
- QString getGroupName(WrappedClocksWidget::TimeControlType timeControl);
+ QString getGroupName(int timeControl);
};
{
id: settings
}
- Component.onCompleted:
+ onTimeControlChanged:
{
equalTimesSwitch = settings.isEqualTimes(timeControl)
var whiteInitial = settings.getInitialTime(timeControl,true)
- whiteInitialTime.hours = whiteInitial/360
- whiteInitialTime.minutes = (whiteIntial%360)/60
- whiteInitialTime.seconds = whiteInitial%60
+ whiteInitialTime.hours = whiteInitial/(60*60*1000)
+ whiteInitialTime.minutes = (whiteInitial%(60*60*1000))/(60*1000)
+ whiteInitialTime.seconds = whiteInitial%(60*1000)/1000
var blackInitial = settings.getInitialTime(timeControl,false)
- blackInitialTime.hours = blackInitial/360
- blackInitialTime.minutes = (blackInitial%360)/60
- blackInitialTime.seconds = blackInitial%60
+ blackInitialTime.hours = blackInitial/(60*60*1000)
+ blackInitialTime.minutes = (blackInitial%(60*60*1000))/(60*1000)
+ blackInitialTime.seconds = blackInitial%(60*1000)/1000
var whiteAdditional = settings.getAdditionalTime(timeControl,true)
- whiteAdditionalTime.hours = whiteAdditional/360
- whiteAdditionalTime.minutes = (whiteAdditional%360)/60
- whiteAdditionalTime.seconds = whiteAdditional%60
+ whiteAdditionalTime.hours = whiteAdditional/(60*60*1000)
+ whiteAdditionalTime.minutes = (whiteAdditional%(60*60*1000))/(60*1000)
+ whiteAdditionalTime.seconds = whiteAdditional%(60*1000)/1000
var blackAdditional = settings.getAdditionalTime(timeControl,false)
- blackAdditionalTime.hours = blackAdditional/360
- blackAdditionalTime.minutes = (blackAdditional%360)/60
- blackAdditionalTime.seconds = blackAdditional%60
+ blackAdditionalTime.hours = blackAdditional/(60*60*1000)
+ blackAdditionalTime.minutes = (blackAdditional%(60*60*1000))/(60*1000)
+ blackAdditionalTime.seconds = blackAdditional%(60*1000)/1000
+
- whiteTurnsPerAddition.text = settings.getTurnsPerAddition(timeControl,true)
- blackTurnsPerAddition.text = settings.getTurnsPerAddition(timeControl,false)
+ whiteTurnsPerAddition.text = whiteInitial/(60*60*1000) // settings.getTurnsPerAddition(timeControl,true)
+ blackTurnsPerAddition.text = 3%2//settings.getTurnsPerAddition(timeControl,false)
}
tools: ToolBarLayout
anchors.left: turnsPerAdditionText.right
anchors.leftMargin: 25
- text: "1"
-
MouseArea
{
anchors.fill: parent
anchors.left: whiteTurnsPerAddition.right
anchors.leftMargin: 25
- text: "1"
-
MouseArea
{
anchors.fill: parent
clocksPage.whiteTurnsPerAddition = whiteTurnsPerAddition.text
+
//Save settings for white
settings.setInitialTime(timeControl,true,clocksPage.whiteInitialTime)
settings.setAdditionalTime(timeControl,true,clocksPage.whiteAdditionalTime)
settings.setTurnsPerAddition(timeControl,true,clocksPage.whiteTurnsPerAddition)
+ settings.setEqualTimes(timeControl,equalTimesSwitch.checked) //save equal times setting
+
if (equalTimesSwitch.checked)
{
//use same values for white and black