#include "classes/startwidget.h"
#include "classes/timecontrol.h"
+// Time controls
#include "classes/timecontrol/notimecontrol.h"
#include "classes/timecontrol/fischertimecontrol.h"
+#include "classes/timecontrol/fischeraftertimecontrol.h"
+#include "classes/timecontrol/delaytimecontrol.h"
+#include "classes/timecontrol/delayaftertimecontrol.h"
+#include "classes/timecontrol/hourglasstimecontrol.h"
#include <QIcon>
#include <QApplication>
#include <QMenuBar>
#include <QMessageBox>
#include <QStackedWidget>
+#include <QProcess>
ChessClockWindow::ChessClockWindow(QWidget *parent)
: QMainWindow(parent)
// Set up menu
menuBar()->addAction( tr("Pause"), this, SLOT(pause()));
menuBar()->addAction( tr("New game"), this, SLOT(newGame()));
+ menuBar()->addAction( tr("Visit web page"), this, SLOT(visitWeb()));
+ menuBar()->addAction( tr("About"),this, SLOT(about()));
+ menuBar()->addAction(tr("About Qt"), this, SLOT(aboutQt()));
}
}
}
+void ChessClockWindow::visitWeb()
+{
+ QProcess* process = new QProcess(this);
+ process->start(QString("browser --url=chessclock.garage.maemo.org"));
+}
+
+void ChessClockWindow::about()
+{
+ pause();
+ QMessageBox::about(this, tr("About ChessClock"),
+ tr("<h1>Chess Clock %1</h1>"
+ "©Arto Hyvättinen 2010"
+ "<p>Chess Clock is free software under the terms of GNU General Public License 3"
+ "<p>Bugtracker and instructions at <a>checkclock.garage.maemo.org</a>"
+ ).arg(qApp->applicationVersion())) ;
+}
+
+void ChessClockWindow::aboutQt()
+{
+ pause();
+ qApp->aboutQt();
+}
+
+
void ChessClockWindow::initTimeControls()
{
start_->addTimeControl( new NoTimeControl );
start_->addTimeControl( new FischerTimeControl);
+ start_->addTimeControl( new FischerAfterTimeControl);
+ start_->addTimeControl( new DelayTimeControl );
+ start_->addTimeControl( new DelayAfterTimeControl);
+ start_->addTimeControl( new HourGlassTimeControl);
}
void ChessClockWindow::startGame(TimeControl *timecontrol)
ClocksWidget* newWidget = timecontrol->initGame(false);
if( newWidget )
{
- if( clocks_ )
- delete clocks_;
+
clocks_ = newWidget;
stack_->addWidget(clocks_);
stack_->setCurrentWidget(clocks_);