00001 /************************************************************************** 00002 00003 Chess Clock 00004 00005 Copyright (c) Arto Hyvättinen 2010 00006 00007 This file is part of Chess Clock software. 00008 00009 Chess Clock is free software: you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation, either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 Chess Clock is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 00020 **************************************************************************/ 00021 00022 #include "hourglasstimecontrol.h" 00023 #include "hourglassclock.h" 00024 #include "../clockswidget.h" 00025 #include "basicdialog.h" 00026 00027 #include <QApplication> 00028 #include <QTime> 00029 00030 HourGlassTimeControl::HourGlassTimeControl() 00031 { 00032 } 00033 00034 00035 QString HourGlassTimeControl::getName() 00036 { 00037 return qApp->translate("Hour Glass","Hour Glass"); 00038 } 00039 00040 QIcon HourGlassTimeControl::getIcon() 00041 { 00042 return QIcon(":/rc/pic/hourglass.png"); 00043 } 00044 00045 QString HourGlassTimeControl::getDescription() 00046 { 00047 return qApp->translate("Hour Glass","Time added to clock is substracted to another"); 00048 } 00049 00050 ClocksWidget* HourGlassTimeControl::initGame(bool useLastSettings) 00051 { 00052 BasicDialog dialog(getName()); 00053 dialog.disableAddition(); 00054 dialog.init(QTime(0,0,30),QTime(0,0,30)); 00055 00056 if( useLastSettings || dialog.exec() == QDialog::Accepted) 00057 { 00058 dialog.store(); 00059 HourGlassClock* white = new HourGlassClock( true); 00060 white->setTimeAvailable(dialog.getWhiteInitial()); 00061 00062 HourGlassClock* black = new HourGlassClock( false); 00063 black->setTimeAvailable( dialog.getBlackInitial()); 00064 00065 return( new ClocksWidget(white,black)); 00066 00067 } 00068 else 00069 return 0; 00070 }