From 1873bca464c4cd88c515a2eac4cf09df954e27c6 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Fri, 27 Oct 2023 14:07:08 +0200 Subject: [PATCH] connect collapser in GroupBoxCollapser::installIntoGroupBox2 --- GUI/View/Instrument/DetectorEditor.cpp | 5 +---- GUI/View/Widget/GroupBoxes.cpp | 8 ++++++++ GUI/View/Widget/GroupBoxes.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/GUI/View/Instrument/DetectorEditor.cpp b/GUI/View/Instrument/DetectorEditor.cpp index c6ec269133b..2336ef78c6a 100644 --- a/GUI/View/Instrument/DetectorEditor.cpp +++ b/GUI/View/Instrument/DetectorEditor.cpp @@ -54,10 +54,7 @@ DetectorEditor::DetectorEditor(QWidget* parent, GISASInstrumentItem* instrItem) auto* formLayout = new QFormLayout(this); - auto* collapser = GroupBoxCollapser::installIntoGroupBox(this); - collapser->setExpanded(instrItem->expandDetector); - connect(collapser, &GroupBoxCollapser::toggled, this, - [instrItem](bool b) { instrItem->expandDetector = b; }); + GroupBoxCollapser::installIntoGroupBox2(this, instrItem->expandDetector); DetectorItem* detectorItem = instrItem->detectorItem(); ASSERT(detectorItem); diff --git a/GUI/View/Widget/GroupBoxes.cpp b/GUI/View/Widget/GroupBoxes.cpp index ef8e966adb0..3c2a676bd38 100644 --- a/GUI/View/Widget/GroupBoxes.cpp +++ b/GUI/View/Widget/GroupBoxes.cpp @@ -64,6 +64,14 @@ GroupBoxCollapser* GroupBoxCollapser::installIntoGroupBox(QGroupBox* groupBox, b return p; } +GroupBoxCollapser* GroupBoxCollapser::installIntoGroupBox2(QGroupBox* groupBox, bool& expanded) +{ + auto* result = new GroupBoxCollapser(groupBox); + result->setExpanded(expanded); + connect(result, &GroupBoxCollapser::toggled, [&expanded](bool b) { expanded = b; }); + return result; +} + GroupBoxCollapser* GroupBoxCollapser::findInstalledCollapser(QGroupBox* groupBox) { if (groupBox == nullptr) diff --git a/GUI/View/Widget/GroupBoxes.h b/GUI/View/Widget/GroupBoxes.h index bd4dd2b9b90..dd0e0a9c084 100644 --- a/GUI/View/Widget/GroupBoxes.h +++ b/GUI/View/Widget/GroupBoxes.h @@ -43,6 +43,7 @@ class GroupBoxCollapser : public QObject { Q_OBJECT public: static GroupBoxCollapser* installIntoGroupBox(QGroupBox* groupBox, bool expanded = true); + static GroupBoxCollapser* installIntoGroupBox2(QGroupBox* groupBox, bool& expanded); static GroupBoxCollapser* findInstalledCollapser(QGroupBox* groupBox); //! Set the title of the group box. Do not use the method groupBox->setTitle() any more once the -- GitLab