X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=classes%2Fclockswidget.cpp;h=f094f8d32160a8338e60f5463255c3a35d9a94ec;hb=8e60d556e00dbb7e86f2425605cf1b0a688a69e9;hp=82efa89d758a4431c85fae7d5bb7e99277365ded;hpb=4f3147c454280bc975b814ab0328a341473e555a;p=chessclock diff --git a/classes/clockswidget.cpp b/classes/clockswidget.cpp index 82efa89..f094f8d 100644 --- a/classes/clockswidget.cpp +++ b/classes/clockswidget.cpp @@ -34,6 +34,7 @@ #include #include #include +#include ClocksWidget::ClocksWidget(ChessClock *white, ChessClock *black, QWidget *parent): QWidget(parent) @@ -49,14 +50,14 @@ ClocksWidget::ClocksWidget(ChessClock *white, ChessClock *black, QWidget *parent clockLayout->addWidget( black_ ); // Pause information label - pauseLabel_ = new QLabel( tr("Paused. Touch to continue.")); + pauseLabel_ = new QLabel( tr("Paused. Touch to continue."),this); pauseLabel_->setFont( QFont("Helvetica",25)); pauseLabel_->setAlignment( Qt::AlignCenter); pauseLabel_->setVisible( false ); // Welcome label for first touch welcomeLabel_ = new QLabel( tr("Welcome! Please touch to start game.
" - "Then touch to end turn.
")); + "Then touch to end turn."),this); welcomeLabel_->setFont( QFont("Helvetica",25)); welcomeLabel_->setAlignment( Qt::AlignCenter); welcomeLabel_->setVisible( true ); // Show welcome message @@ -71,15 +72,26 @@ ClocksWidget::ClocksWidget(ChessClock *white, ChessClock *black, QWidget *parent // Put all in layout QVBoxLayout* mainLayout = new QVBoxLayout; mainLayout->addLayout(clockLayout); - mainLayout->addWidget(pauseLabel_); - mainLayout->addWidget(welcomeLabel_); + + // Extra layout and widget for information + QVBoxLayout* extraLayout = new QVBoxLayout; + extraLayout->addWidget(pauseLabel_); + extraLayout->addWidget(welcomeLabel_); QHBoxLayout* pbLayout = new QHBoxLayout; pbLayout->addStretch(); pbLayout->addWidget(pauseButton_); pbLayout->addStretch(); - mainLayout->addLayout(pbLayout); + extraLayout->addLayout(pbLayout); + + QWidget* extraWidget = new QWidget(this); + extraWidget->setLayout(extraLayout); + // Some fun event filtering to grap clicking welcome and pause labels... + extraWidget->installEventFilter(this); + pauseLabel_->installEventFilter(this); + welcomeLabel_->installEventFilter(this); + mainLayout->addWidget(extraWidget); setLayout( mainLayout); status_ = Welcome; @@ -180,7 +192,7 @@ void ClocksWidget::mouseReleaseEvent(QMouseEvent *event) break; case BlackPause: // Continue play - keeper_->keepScreenLit(); + keeper_->keepScreenLit(false); pauseLabel_->setVisible(false); pauseButton_->setVisible(true); black_->continueTurn(); @@ -196,4 +208,18 @@ void ClocksWidget::mouseReleaseEvent(QMouseEvent *event) recentY = event->y(); } +// to grap clicking pause or welcome label +bool ClocksWidget::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::MouseButtonRelease) { + QMouseEvent *mEvent = static_cast(event); + mouseReleaseEvent( mEvent ); + return true; + } else { + // standard event processing + return QObject::eventFilter(obj, event); + } +} + + int const ClocksWidget::CLICKDELAY;