1 /**************************************************************************
5 Copyright (c) Arto Hyvättinen 2010
7 This file is part of Chess Clock software.
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.
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.
20 **************************************************************************/
22 #ifndef CLOCKSWIDGET_H
23 #define CLOCKSWIDGET_H
31 class TurnInformation;
33 class ScreenLitKeeper;
37 /*! Widget with two clocks
39 @author Arto Hyvättinen
42 Central widget of Chess Clock.
43 Needed to create new ClocksWidget to
47 class ClocksWidget : public QWidget
51 ClocksWidget(ChessClock* white, ChessClock* black, QWidget *parent = 0);
53 bool isPlayStarted() { return (status_!=Welcome); }
56 void mouseReleaseEvent(QMouseEvent *event);
57 bool eventFilter(QObject *obj, QEvent *event);
61 void TurnFinished(TurnInformation* turnInfo);
62 void ClickedWhenStopped();
69 /*! Not to keep screen lit */
77 QLabel* welcomeLabel_;
78 QToolButton* pauseButton_;
79 ScreenLitKeeper* keeper_;
82 Stopped /*! Not running */,
91 QTime delayTimer_; /*! To avoid double clicks */
96 static int const CLICKDELAY = 1500 ; /*! Click delay in msecs */
102 #endif // CLOCKSWIDGET_H