c1a358071064e968b036f9c2b0beccf7271861ad
[chessclock] / classes / timecontrol / fischeraftertimecontrol.cpp
1  /**************************************************************************
2
3     Chess Clock
4
5     Copyright (c) Arto Hyvättinen 2010
6
7     This file is part of Chess Clock software.
8
9     Chess Clock is free software: you can redistribute it and/or modify
10     it under the terms of the GNU General Public License as published by
11     the Free Software Foundation, either version 3 of the License, or
12     (at your option) any later version.
13
14     Chess Clock is distributed in the hope that it will be useful,
15     but WITHOUT ANY WARRANTY; without even the implied warranty of
16     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17     GNU General Public License for more details.
18
19
20 **************************************************************************/
21
22 #include "fischeraftertimecontrol.h"
23 #include "fischerafterclock.h"
24 #include "../clockswidget.h"
25 #include "basicdialog.h"
26
27
28 FischerAfterTimeControl::FischerAfterTimeControl()
29 {
30 }
31
32 QString FischerAfterTimeControl::getDescription()
33 {
34     return qApp->translate("FischerAfter","Specified time increment is added to clock after turn.");
35 }
36
37 ClocksWidget* FischerAfterTimeControl::initGame(bool useLastSettings)
38 {
39     BasicDialog dialog(getName());
40     dialog.init();
41
42     if( useLastSettings || dialog.exec() == QDialog::Accepted)
43     {
44         dialog.store();
45         FischerAfterClock* white = new FischerAfterClock( true, dialog.getWhiteAddition(), dialog.getWhitePerTurns());
46         white->setTimeAvailable(dialog.getWhiteInitial());
47
48         FischerAfterClock* black = new FischerAfterClock( false, dialog.getBlackAddition(), dialog.getBlackPerTurns());
49         black->setTimeAvailable( dialog.getBlackInitial());
50
51         return( new ClocksWidget(white,black));
52
53     }
54     else
55         return 0;
56 }