Skip to content

Commit

Permalink
mainwindow: allow restarting countdowns that may not have finished.
Browse files Browse the repository at this point in the history
Incidentally, this also allows starting countdowns far before they are
due.

Some remaining thoughts:
- ui might be be better designed in tabs
- consider adding a test image too
- autostart might never be implemented
  • Loading branch information
flopcat committed Jan 7, 2018
1 parent 3dbd643 commit ebb85be
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 25 deletions.
27 changes: 22 additions & 5 deletions mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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);
Expand All @@ -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");
Expand Down
5 changes: 4 additions & 1 deletion mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ public slots:
void appendCountdown(QSharedPointer<Countdown> c);
void appendImages(const QStringList &images);
void startCountdown(int msecDuration);
void startCountdownPartway(int msecsPosition, int msecsDuration);
void startImage(const QString &filename);

private slots:
Expand All @@ -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();
Expand Down
45 changes: 26 additions & 19 deletions mainwindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>478</width>
<width>518</width>
<height>581</height>
</rect>
</property>
Expand Down Expand Up @@ -47,19 +47,15 @@
<string>Countdowns</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="1">
<widget class="QPushButton" name="countdownRemove">
<item row="1" column="2">
<widget class="QPushButton" name="countdownClear">
<property name="text">
<string>-</string>
<string>Clear</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="countdownTest">
<property name="text">
<string>Test</string>
</property>
</widget>
<item row="0" column="0" colspan="6">
<widget class="QListWidget" name="countdownList"/>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="countdownAdd">
Expand All @@ -68,22 +64,33 @@
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="countdownClear">
<item row="1" column="5">
<widget class="QPushButton" name="countdownStop">
<property name="text">
<string>Clear</string>
<string>Stop</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="countdownStop">
<item row="1" column="3">
<widget class="QPushButton" name="countdownTest">
<property name="text">
<string>Stop</string>
<string>Test</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="5">
<widget class="QListWidget" name="countdownList"/>
<item row="1" column="1">
<widget class="QPushButton" name="countdownRemove">
<property name="text">
<string>-</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="countdownStart">
<property name="text">
<string>Start</string>
</property>
</widget>
</item>
</layout>
</widget>
Expand Down Expand Up @@ -211,7 +218,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>478</width>
<width>518</width>
<height>21</height>
</rect>
</property>
Expand Down

0 comments on commit ebb85be

Please sign in to comment.