diff --git a/mainwindow.cpp b/mainwindow.cpp index d52c869..5894ee6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -242,6 +242,12 @@ void MainWindow::startCountdown(int msecDuration) displayWidget.startCountdown(msecDuration); } +void MainWindow::startCountdownPartway(int msecsPosition, int msecsDuration) +{ + useDisplayGeometry(); + displayWidget.startCountdownPartway(msecsPosition, msecsDuration); +} + void MainWindow::startImage(const QString &filename) { useDisplayGeometry(); @@ -287,6 +293,22 @@ void MainWindow::on_countdownTest_clicked() startCountdown(10000); } + +void MainWindow::on_countdownStart_clicked() +{ + int i = ui->countdownList->currentRow(); + if (i < 0) + return; + int position = countdowns[i]->remainingTimeInMsec(); + int duration = countdowns[i]->duration.msecsSinceStartOfDay(); + startCountdownPartway(duration - position, duration); +} + +void MainWindow::on_countdownStop_clicked() +{ + displayWidget.stop(); +} + void MainWindow::on_countdownList_itemDoubleClicked(QListWidgetItem *item) { Q_UNUSED(item); @@ -301,11 +323,6 @@ void MainWindow::on_countdownList_itemDoubleClicked(QListWidgetItem *item) item->setText(countdowns[i]->toString()); } -void MainWindow::on_countdownStop_clicked() -{ - displayWidget.stop(); -} - void MainWindow::on_imagesAdd_clicked() { QStringList files = QFileDialog::getOpenFileNames(this, QString(), QString(), "Images (*.png;*.jpg;*.jpeg;*.svg"); diff --git a/mainwindow.h b/mainwindow.h index c5a6abe..89b884e 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -58,6 +58,7 @@ public slots: void appendCountdown(QSharedPointer c); void appendImages(const QStringList &images); void startCountdown(int msecDuration); + void startCountdownPartway(int msecsPosition, int msecsDuration); void startImage(const QString &filename); private slots: @@ -69,10 +70,12 @@ private slots: void on_countdownTest_clicked(); - void on_countdownList_itemDoubleClicked(QListWidgetItem *item); + void on_countdownStart_clicked(); void on_countdownStop_clicked(); + void on_countdownList_itemDoubleClicked(QListWidgetItem *item); + void on_imagesAdd_clicked(); void on_imagesRemove_clicked(); diff --git a/mainwindow.ui b/mainwindow.ui index 835ace6..6ca0bfb 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -6,7 +6,7 @@ 0 0 - 478 + 518 581 @@ -47,19 +47,15 @@ Countdowns - - + + - - + Clear - - - - Test - - + + @@ -68,22 +64,33 @@ - - + + - Clear + Stop - - + + - Stop + Test - - + + + + - + + + + + + + Start + + @@ -211,7 +218,7 @@ 0 0 - 478 + 518 21