From 04a539b93dc8aa064e010f33b414e3d75be51540 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Tue, 27 Jun 2023 22:29:23 -0500 Subject: [PATCH] Update collapsible expansion logic, and change icons --- .../icons/font-awesome-6/angle-down-solid.svg | 1 - .../square-caret-down-regular.svg | 1 + .../square-caret-right-regular.svg | 1 + scwx-qt/scwx-qt.qrc | 3 +- .../source/scwx/qt/ui/collapsible_group.cpp | 36 +++++++------------ .../source/scwx/qt/ui/collapsible_group.ui | 16 +++++++-- 6 files changed, 30 insertions(+), 28 deletions(-) delete mode 100644 scwx-qt/res/icons/font-awesome-6/angle-down-solid.svg create mode 100644 scwx-qt/res/icons/font-awesome-6/square-caret-down-regular.svg create mode 100644 scwx-qt/res/icons/font-awesome-6/square-caret-right-regular.svg diff --git a/scwx-qt/res/icons/font-awesome-6/angle-down-solid.svg b/scwx-qt/res/icons/font-awesome-6/angle-down-solid.svg deleted file mode 100644 index c877d491..00000000 --- a/scwx-qt/res/icons/font-awesome-6/angle-down-solid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/scwx-qt/res/icons/font-awesome-6/square-caret-down-regular.svg b/scwx-qt/res/icons/font-awesome-6/square-caret-down-regular.svg new file mode 100644 index 00000000..98e322ef --- /dev/null +++ b/scwx-qt/res/icons/font-awesome-6/square-caret-down-regular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/scwx-qt/res/icons/font-awesome-6/square-caret-right-regular.svg b/scwx-qt/res/icons/font-awesome-6/square-caret-right-regular.svg new file mode 100644 index 00000000..06e4c955 --- /dev/null +++ b/scwx-qt/res/icons/font-awesome-6/square-caret-right-regular.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 2e217ca0..3939ddf4 100644 --- a/scwx-qt/scwx-qt.qrc +++ b/scwx-qt/scwx-qt.qrc @@ -15,7 +15,6 @@ res/fonts/din1451alt_g.ttf res/icons/scwx-256.ico res/icons/scwx-256.png - res/icons/font-awesome-6/angle-down-solid.svg res/icons/font-awesome-6/angle-left-solid.svg res/icons/font-awesome-6/angle-right-solid.svg res/icons/font-awesome-6/backward-step-solid.svg @@ -29,6 +28,8 @@ res/icons/font-awesome-6/play-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-caret-down-regular.svg + res/icons/font-awesome-6/square-caret-right-regular.svg res/icons/font-awesome-6/square-minus-regular.svg res/icons/font-awesome-6/square-plus-regular.svg res/palettes/wct/CC.pal diff --git a/scwx-qt/source/scwx/qt/ui/collapsible_group.cpp b/scwx-qt/source/scwx/qt/ui/collapsible_group.cpp index 63f23024..4cf1c543 100644 --- a/scwx-qt/source/scwx/qt/ui/collapsible_group.cpp +++ b/scwx-qt/source/scwx/qt/ui/collapsible_group.cpp @@ -15,11 +15,7 @@ public: ~CollapsibleGroupImpl() = default; void Initialize(); - - const QIcon kCollapsedIcon_ { - ":/res/icons/font-awesome-6/angle-right-solid.svg"}; - const QIcon kExpandedIcon_ { - ":/res/icons/font-awesome-6/angle-down-solid.svg"}; + void SetExpanded(bool expanded); CollapsibleGroup* self_; }; @@ -52,20 +48,12 @@ void CollapsibleGroupImpl::Initialize() { self_->Expand(); - QObject::connect(self_->ui->titleButton, - &QAbstractButton::toggled, - self_, - [this](bool checked) - { - if (checked) - { - self_->Expand(); - } - else - { - self_->Collapse(); - } - }); + QObject::connect( + self_->ui->titleButton, + &QAbstractButton::toggled, + self_, + [this](bool checked) { SetExpanded(checked); }, + Qt::DirectConnection); } void CollapsibleGroup::SetContentsLayout(QLayout* layout) @@ -85,9 +73,6 @@ void CollapsibleGroup::Collapse() { ui->titleButton->setChecked(false); } - - // Hide the group contents - ui->contentsFrame->setVisible(false); } void CollapsibleGroup::Expand() @@ -97,9 +82,12 @@ void CollapsibleGroup::Expand() { ui->titleButton->setChecked(true); } +} - // Show the group contents - ui->contentsFrame->setVisible(true); +void CollapsibleGroupImpl::SetExpanded(bool expanded) +{ + // Update contents visibility + self_->ui->contentsFrame->setVisible(expanded); } } // namespace ui diff --git a/scwx-qt/source/scwx/qt/ui/collapsible_group.ui b/scwx-qt/source/scwx/qt/ui/collapsible_group.ui index 3c2656d5..c6607178 100644 --- a/scwx-qt/source/scwx/qt/ui/collapsible_group.ui +++ b/scwx-qt/source/scwx/qt/ui/collapsible_group.ui @@ -17,6 +17,18 @@ 0 + + 0 + + + 0 + + + 0 + + + 0 + @@ -48,8 +60,8 @@ - :/res/icons/font-awesome-6/angle-right-solid.svg - :/res/icons/font-awesome-6/angle-down-solid.svg:/res/icons/font-awesome-6/angle-right-solid.svg + :/res/icons/font-awesome-6/square-caret-right-regular.svg + :/res/icons/font-awesome-6/square-caret-down-regular.svg:/res/icons/font-awesome-6/square-caret-right-regular.svg true