0d6a7fff955b987a7e6bf545c76ffecd10ca384f
[chessclock] / classes / timecontrol / delaytimecontrol.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 "delaytimecontrol.h"
23 #include "delayclock.h"
24 #include "../clockswidget.h"
25 #include "basicdialog.h"
26
27 #include <QApplication>
28
29 DelayTimeControl::DelayTimeControl()
30 {
31 }
32
33 QString DelayTimeControl::getName()
34 {
35     return qApp->translate("Delay","Delay");
36 }
37
38 QIcon DelayTimeControl::getIcon()
39 {
40     return QIcon(":/rc/pic/pausebefore.png");
41 }
42
43 QString DelayTimeControl::getDescription()
44 {
45     return qApp->translate("Delay","The clock waits for the delay period before starting");
46 }
47
48 ClocksWidget* DelayTimeControl::initGame(bool useLastSettings)
49 {
50     BasicDialog dialog(getName());
51     dialog.disablePerTurns();
52     dialog.init();
53
54     if( useLastSettings || dialog.exec() == QDialog::Accepted)
55     {
56         dialog.store();
57         DelayClock* white = new DelayClock( true, dialog.getWhiteAddition());
58         white->setTimeAvailable(dialog.getWhiteInitial());
59
60         DelayClock* black = new DelayClock( false, dialog.getBlackAddition());
61         black->setTimeAvailable( dialog.getBlackInitial());
62
63         return( new ClocksWidget(white,black));
64
65     }
66     else
67         return 0;
68 }