synchronize playing status to play/pause button
This commit is contained in:
@ -62,36 +62,47 @@ int DroneController::getDuration() const {
|
||||
|
||||
|
||||
void DroneController::step() {
|
||||
qDebug() << "frame " << frame << "/" << duration
|
||||
<< " (" << (double) frame / duration * 100 << "%)";
|
||||
qDebug("frame %d (%d%%)", frame, (int) ((double) frame / duration * 100));
|
||||
emit frameChanged(frame);
|
||||
frame++;
|
||||
if (frame == duration) {
|
||||
pause();
|
||||
} else {
|
||||
frame++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DroneController::play() {
|
||||
if (!paused) return;
|
||||
paused = false;
|
||||
timer.start(1000. / framerate);
|
||||
qDebug() << "playing";
|
||||
emit playing();
|
||||
}
|
||||
|
||||
|
||||
void DroneController::pause() {
|
||||
if (paused) return;
|
||||
paused = true;
|
||||
timer.stop();
|
||||
qDebug() << "pausing";
|
||||
emit pausing();
|
||||
}
|
||||
|
||||
|
||||
void DroneController::suspend() {
|
||||
bool old_paused = paused;
|
||||
pause();
|
||||
paused = old_paused;
|
||||
if (!paused) {
|
||||
pause();
|
||||
paused = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DroneController::resume() {
|
||||
if (!paused) play();
|
||||
if (!paused) {
|
||||
paused = true;
|
||||
play();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user