diff -r 373813316812 -r 419de2dea82b QTfrontend/ui/page/pagescheme.cpp --- a/QTfrontend/ui/page/pagescheme.cpp Sat Sep 29 23:13:02 2018 +0200 +++ b/QTfrontend/ui/page/pagescheme.cpp Sun Sep 30 01:41:12 2018 +0200 @@ -30,6 +30,7 @@ #include "gameSchemeModel.h" #include "pagescheme.h" #include "FreqSpinBox.h" +#include "SDTimeoutSpinBox.h" #include "MinesTimeSpinBox.h" @@ -251,9 +252,21 @@ l->setWhatsThis(wtSuddenDeath); l->setPixmap(QPixmap(":/res/iconSuddenDeathTime.png")); glBSLayout->addWidget(l,3,1,1,1); - SB_SuddenDeath = new QSpinBox(gbBasicSettings); + /* NOTE: + The internally stored value for Sudden Death Timeout + is defined as + "number of full rounds to play till Sudden Death, minus one" + i.e. value 0 means Sudden Death starts in 2nd round. + The lowest possible internal value is 0. + The user-facing value is different, it's defined as + "number of full rounds to play till Sudden Death" + i.e. the user-facing value 1 is equivalent to internal value 0. + We use SDTimeoutSpinBox for the magic to happen. */ + SB_SuddenDeath = new SDTimeoutSpinBox(gbBasicSettings); SB_SuddenDeath->setWhatsThis(wtSuddenDeath); - SB_SuddenDeath->setRange(0, 50); + // Will display as 1-52 + SB_SuddenDeath->setRange(0, 51); + // Will display as 16 SB_SuddenDeath->setValue(15); SB_SuddenDeath->setSingleStep(3); glBSLayout->addWidget(SB_SuddenDeath,3,2,1,1);