From b42d56bb3bc8cccf6663568e279644897636751a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Althaus?= Date: Tue, 28 May 2024 09:32:34 +0200 Subject: [PATCH] Replace combobox with radio buttons --- .../Gui/TaskTransformedParameters.cpp | 38 +++++++--- .../Gui/TaskTransformedParameters.h | 2 +- .../Gui/TaskTransformedParameters.ui | 71 +++++++++++-------- 3 files changed, 69 insertions(+), 42 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp index 298efb6c76..a6b5afa449 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp @@ -91,10 +91,6 @@ void TaskTransformedParameters::setupUI() ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); - connect(ui->comboMode, - qOverload(&QComboBox::activated), - this, - &TaskTransformedParameters::onModeChanged); connect(ui->buttonAddFeature, &QToolButton::toggled, this, @@ -126,9 +122,25 @@ void TaskTransformedParameters::setupUI() auto pcTransformed = static_cast(getObject()); using Mode = PartDesign::Transformed::Mode; + + ui->buttonGroupMode->setId(ui->radioTransformBody, static_cast(Mode::TransformBody)); + ui->buttonGroupMode->setId(ui->radioTransformToolShapes, static_cast(Mode::TransformToolShapes)); + + connect(ui->buttonGroupMode, + qOverload(&QButtonGroup::idClicked), + this, + &TaskTransformedParameters::onModeChanged); + auto const mode = static_cast(pcTransformed->TransformMode.getValue()); ui->groupFeatureList->setEnabled(mode == Mode::TransformToolShapes); - ui->comboMode->setCurrentIndex(static_cast(mode)); + switch (mode) { + case Mode::TransformBody: + ui->radioTransformBody->setChecked(true); + break; + case Mode::TransformToolShapes: + ui->radioTransformToolShapes->setChecked(true); + break; + } std::vector originals = pcTransformed->Originals.getValues(); // Fill data into dialog elements @@ -281,16 +293,20 @@ bool TaskTransformedParameters::isEnabledTransaction() const return enableTransaction; } -void TaskTransformedParameters::onModeChanged(int mode) +void TaskTransformedParameters::onModeChanged(int mode_id) { - using Mode = PartDesign::Transformed::Mode; + if (mode_id < 0) { + return; + } auto pcTransformed = static_cast(getObject()); - pcTransformed->TransformMode.setValue(mode); + pcTransformed->TransformMode.setValue(mode_id); - auto const tmode = static_cast(mode); - ui->groupFeatureList->setEnabled(tmode == Mode::TransformToolShapes); - if (tmode == Mode::TransformBody) { + using Mode = PartDesign::Transformed::Mode; + Mode const mode = static_cast(mode_id); + + ui->groupFeatureList->setEnabled(mode == Mode::TransformToolShapes); + if (mode == Mode::TransformBody) { ui->listWidgetFeatures->clear(); } setupTransaction(); diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.h b/src/Mod/PartDesign/Gui/TaskTransformedParameters.h index c0fc9826b1..98ebd66498 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.h +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.h @@ -228,7 +228,7 @@ private Q_SLOTS: void onButtonRemoveFeature(bool checked); void onFeatureDeleted(); void indexesMoved(); - void onModeChanged(int mode); + void onModeChanged(int mode_id); private: /** Setup the parameter UI. diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.ui b/src/Mod/PartDesign/Gui/TaskTransformedParameters.ui index 1e30aa45d4..0535e4cc3f 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.ui @@ -15,38 +15,45 @@ - - - 0 - - - - - Mode: - - - - - - - - 0 - 0 - - - - - Transform tool shapes - - - + + + + 0 + + + 0 + + + 0 + + + 0 + + + Transform body - - - - + + true + + + buttonGroupMode + + + + + + + Transform tool shapes + + + buttonGroupMode + + + + + @@ -122,7 +129,8 @@ - comboMode + radioTransformBody + radioTransformToolShapes buttonAddFeature buttonRemoveFeature listWidgetFeatures @@ -130,4 +138,7 @@ + + +