From aee4fecacc13117efbfeb7304c2d776cf04178b6 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 7 May 2023 13:06:16 -0500 Subject: [PATCH] Configure animation dock widget display --- .../scwx/qt/ui/animation_dock_widget.cpp | 40 +++++++++++++++++++ .../scwx/qt/ui/animation_dock_widget.ui | 4 +- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/scwx-qt/source/scwx/qt/ui/animation_dock_widget.cpp b/scwx-qt/source/scwx/qt/ui/animation_dock_widget.cpp index 395fca29..a427f310 100644 --- a/scwx-qt/source/scwx/qt/ui/animation_dock_widget.cpp +++ b/scwx-qt/source/scwx/qt/ui/animation_dock_widget.cpp @@ -3,6 +3,8 @@ #include +#include + namespace scwx { namespace qt @@ -26,6 +28,44 @@ AnimationDockWidget::AnimationDockWidget(QWidget* parent) : ui(new Ui::AnimationDockWidget) { ui->setupUi(this); + + // Set date/time edit enabled/disabled + ui->dateEdit->setEnabled(ui->archiveViewRadioButton->isChecked()); + ui->timeEdit->setEnabled(ui->archiveViewRadioButton->isChecked()); + + // Update date/time edit enabled/disabled based on Archive View radio button + connect(ui->archiveViewRadioButton, + &QRadioButton::toggled, + this, + [this](bool checked) + { + ui->dateEdit->setEnabled(checked); + ui->timeEdit->setEnabled(checked); + }); + + // Set current date/time + QDateTime currentDateTime = QDateTime::currentDateTimeUtc(); + ui->dateEdit->setDate(currentDateTime.date()); + ui->timeEdit->setTime(currentDateTime.time()); + ui->dateEdit->setMaximumDate(currentDateTime.date()); + + // Update maximum date on a timer + QTimer* maxDateTimer = new QTimer(this); + connect(maxDateTimer, + &QTimer::timeout, + this, + [this]() + { + // Update maximum date to today + QDate currentDate = QDateTime::currentDateTimeUtc().date(); + if (ui->dateEdit->maximumDate() != currentDate) + { + ui->dateEdit->setMaximumDate(currentDate); + } + }); + + // Evaluate every 15 seconds, every second is unnecessary + maxDateTimer->start(15000); } AnimationDockWidget::~AnimationDockWidget() diff --git a/scwx-qt/source/scwx/qt/ui/animation_dock_widget.ui b/scwx-qt/source/scwx/qt/ui/animation_dock_widget.ui index b81177b1..8202dcc3 100644 --- a/scwx-qt/source/scwx/qt/ui/animation_dock_widget.ui +++ b/scwx-qt/source/scwx/qt/ui/animation_dock_widget.ui @@ -46,8 +46,8 @@ 0 0 1991 - 9 - 14 + 6 + 1