From 463acd6b94de379933ea4d5bb2106c78674dcc04 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Mon, 19 Dec 2022 01:03:24 -0600 Subject: [PATCH] Add reset buttons to settings dialog --- .../font-awesome-6/rotate-left-solid.svg | 1 + scwx-qt/scwx-qt.qrc | 1 + scwx-qt/source/scwx/qt/ui/settings_dialog.cpp | 27 +++++- scwx-qt/source/scwx/qt/ui/settings_dialog.ui | 89 +++++++++++++++---- 4 files changed, 99 insertions(+), 19 deletions(-) create mode 100644 scwx-qt/res/icons/font-awesome-6/rotate-left-solid.svg diff --git a/scwx-qt/res/icons/font-awesome-6/rotate-left-solid.svg b/scwx-qt/res/icons/font-awesome-6/rotate-left-solid.svg new file mode 100644 index 00000000..46c2b935 --- /dev/null +++ b/scwx-qt/res/icons/font-awesome-6/rotate-left-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/scwx-qt/scwx-qt.qrc b/scwx-qt/scwx-qt.qrc index c26450cc..ef423a2a 100644 --- a/scwx-qt/scwx-qt.qrc +++ b/scwx-qt/scwx-qt.qrc @@ -19,6 +19,7 @@ res/icons/font-awesome-6/forward-step-solid.svg res/icons/font-awesome-6/gears-solid.svg res/icons/font-awesome-6/palette-solid.svg + res/icons/font-awesome-6/rotate-left-solid.svg res/icons/font-awesome-6/sliders-solid.svg res/icons/font-awesome-6/square-minus-regular.svg res/icons/font-awesome-6/square-plus-regular.svg diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp index d93523be..1de9f997 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.cpp @@ -36,7 +36,7 @@ static const std::array, 17> std::pair {"STP", "STP"}, std::pair {"STPIN", "STPIN"}, std::pair {"VIL", "VIL"}, - std::pair {"?", "Default"}}; + std::pair {"???", "Default"}}; class SettingsDialogImpl { @@ -44,6 +44,7 @@ public: explicit SettingsDialogImpl(SettingsDialog* self) : self_ {self} {} ~SettingsDialogImpl() = default; + void SetupGeneralTab(); void SetupPalettesColorTablesTab(); void SetupPalettesAlertsTab(); @@ -57,6 +58,9 @@ SettingsDialog::SettingsDialog(QWidget* parent) : { ui->setupUi(this); + // General + p->SetupGeneralTab(); + // Palettes > Color Tables p->SetupPalettesColorTablesTab(); @@ -74,6 +78,14 @@ SettingsDialog::~SettingsDialog() delete ui; } +void SettingsDialogImpl::SetupGeneralTab() +{ + self_->ui->resetRadarSiteButton->setVisible(false); + self_->ui->resetGridWidthButton->setVisible(false); + self_->ui->resetGridHeightButton->setVisible(false); + self_->ui->resetMapboxApiKeyButton->setVisible(false); +} + void SettingsDialogImpl::SetupPalettesColorTablesTab() { // Palettes > Color Tables @@ -83,10 +95,17 @@ void SettingsDialogImpl::SetupPalettesColorTablesTab() int colorTableRow = 0; for (auto& colorTableType : kColorTableTypes_) { + QToolButton* resetButton = new QToolButton(self_); + + resetButton->setIcon( + QIcon {":/res/icons/font-awesome-6/rotate-left-solid.svg"}); + resetButton->setVisible(false); + colorTableLayout->addWidget( new QLabel(colorTableType.second.c_str(), self_), colorTableRow, 0); colorTableLayout->addWidget(new QLineEdit(self_), colorTableRow, 1); colorTableLayout->addWidget(new QToolButton(self_), colorTableRow, 2); + colorTableLayout->addWidget(resetButton, colorTableRow, 3); ++colorTableRow; } } @@ -119,6 +138,7 @@ void SettingsDialogImpl::SetupPalettesAlertsTab() QToolButton* activeButton = new QToolButton(self_); QToolButton* inactiveButton = new QToolButton(self_); + QToolButton* resetButton = new QToolButton(self_); activeFrame->setMinimumWidth(24); inactiveFrame->setMinimumWidth(24); @@ -127,6 +147,10 @@ void SettingsDialogImpl::SetupPalettesAlertsTab() QIcon {":/res/icons/font-awesome-6/palette-solid.svg"}); inactiveButton->setIcon( QIcon {":/res/icons/font-awesome-6/palette-solid.svg"}); + resetButton->setIcon( + QIcon {":/res/icons/font-awesome-6/rotate-left-solid.svg"}); + + resetButton->setVisible(false); alertsLayout->addWidget( new QLabel(QObject::tr(awips::GetPhenomenonText(phenomenon).c_str()), @@ -139,6 +163,7 @@ void SettingsDialogImpl::SetupPalettesAlertsTab() alertsLayout->addWidget(inactiveFrame, alertsRow, 4); alertsLayout->addWidget(new QLineEdit(self_), alertsRow, 5); alertsLayout->addWidget(inactiveButton, alertsRow, 6); + alertsLayout->addWidget(resetButton, alertsRow, 7); ++alertsRow; } } diff --git a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui index f1bb166c..c314ca26 100644 --- a/scwx-qt/source/scwx/qt/ui/settings_dialog.ui +++ b/scwx-qt/source/scwx/qt/ui/settings_dialog.ui @@ -84,7 +84,7 @@ - 1 + 0 @@ -96,7 +96,7 @@ QFrame::Raised - + 0 @@ -116,19 +116,6 @@ - - - - - - - Grid Width - - - - - - @@ -139,6 +126,59 @@ + + + + ... + + + + :/res/icons/font-awesome-6/rotate-left-solid.svg:/res/icons/font-awesome-6/rotate-left-solid.svg + + + + + + + + + + ... + + + + :/res/icons/font-awesome-6/rotate-left-solid.svg:/res/icons/font-awesome-6/rotate-left-solid.svg + + + + + + + ... + + + + :/res/icons/font-awesome-6/rotate-left-solid.svg:/res/icons/font-awesome-6/rotate-left-solid.svg + + + + + + + + + + + + + ... + + + + :/res/icons/font-awesome-6/rotate-left-solid.svg:/res/icons/font-awesome-6/rotate-left-solid.svg + + + @@ -146,8 +186,12 @@ - - + + + + Grid Width + + @@ -179,7 +223,7 @@ - 1 + 0 @@ -284,6 +328,15 @@ + + + + :/res/icons/font-awesome-6/rotate-left-solid.svg:/res/icons/font-awesome-6/rotate-left-solid.svg + + + Reset + +