// Set updating timer
updateTimer_.setInterval( UPDATEINTERVAL );
- connect( &updateTimer_, SIGNAL(timeout),this,SLOT(updateClock()));
+ connect( &updateTimer_, SIGNAL(timeout()),this,SLOT(updateClock()));
}
void ChessClock::startTurn()
// Turn information for this new turn
currentTurn_ = new TurnInformation(turn_, isWhite_);
clockTime_.restart();
+ updateTimer_.start();
status_=Running;
// Repaint clock
void ChessClock::pauseTurn()
{
+ updateTimer_.stop();
// Update turn time
currentTurn_->addTime( clockTime_.restart() );
status_ = Paused;
// Add pause duration to information object
currentTurn_->addPause( clockTime_.restart() );
status_ = Running;
+ updateTimer_.start();
updateClock();
}
TurnInformation* ChessClock::endTurn()
{
status_ = NotRunning;
+ updateTimer_.stop();
// Update turn time
currentTurn_->addTime( clockTime_.restart());
// Count time played
currentTurn_->turnReady(timeAvailableBeforeTurn_ );
TurnInformation* information = currentTurn_;
currentTurn_ = 0;
+ emit turnEnded();
return information;
}
// Most simple - will be overwritten in more complex time controls:
// subtract duration time!
if( currentTurn_)
+ {
+ // Update turn time
+ currentTurn_->addTime( clockTime_.restart());
return timeAvailableBeforeTurn_-currentTurn_->getDuration();
+ }
else
return timeAvailableBeforeTurn_;
}
return timePlayedBeforeTurn_;
}
+
+void ChessClock::setTimeAvailable(int msecs)
+{
+ timeAvailableBeforeTurn_ = msecs;
+}
+
+
+void ChessClock::addTime(int msecs)
+{
+ timeAvailableBeforeTurn_ += msecs;
+}
+
void ChessClock::updateClock()
{
// Check loser