[PD] Pad/Pocket: fix reverse behavior

- bring back intended behavior as in FC 0.19:
 - if 2 lengths, then midplane is invisible
 - if reversed checked, then no symmetric and if symmetric then no reverse
- unify the code for Pad and Pocket (reversed is always visible)
- fix a typo in a bool name
This commit is contained in:
Uwe
2022-01-08 01:15:23 +01:00
parent 21f6602d5b
commit c1d3cb5fee
3 changed files with 10 additions and 19 deletions

View File

@@ -522,6 +522,7 @@ void TaskExtrudeParameters::onMidplaneChanged(bool on)
{
PartDesign::FeatureExtrude* extrude = static_cast<PartDesign::FeatureExtrude*>(vp->getObject());
extrude->Midplane.setValue(on);
ui->checkBoxReversed->setEnabled(!on);
tryRecomputeFeature();
}
@@ -529,6 +530,7 @@ void TaskExtrudeParameters::onReversedChanged(bool on)
{
PartDesign::FeatureExtrude* extrude = static_cast<PartDesign::FeatureExtrude*>(vp->getObject());
extrude->Reversed.setValue(on);
ui->checkBoxMidplane->setEnabled(!on);
// update the direction
tryRecomputeFeature();
updateDirectionEdits();

View File

@@ -89,7 +89,6 @@ void TaskPadParameters::updateUI(int index)
bool isMidplaneEnabled = false;
bool isMidplaneVisible = false;
bool isReversedEnabled = false;
bool isReversedVisible = false;
bool isFaceEditEnabled = false;
Modes mode = static_cast<Modes>(index);
@@ -97,20 +96,15 @@ void TaskPadParameters::updateUI(int index)
if (mode == Modes::Dimension) {
isLengthEditVisible = true;
ui->lengthEdit->selectNumber();
// Make sure that the spin box has the focus to get key events
// Calling setFocus() directly doesn't work because the spin box is not
// yet visible.
QMetaObject::invokeMethod(ui->lengthEdit, "setFocus", Qt::QueuedConnection);
isMidplaneEnabled = !ui->checkBoxReversed->isChecked();
isMidplaneVisible = true;
// Reverse only makes sense if Midplane is not true
isReversedEnabled = !ui->checkBoxMidplane->isChecked();
isReversedVisible = true;
}
else if (mode == Modes::ToLast || mode == Modes::ToFirst) {
isOffsetEditVisible = true;
isReversedEnabled = true;
isReversedVisible = true;
}
else if (mode == Modes::ToFace) {
isOffsetEditVisible = true;
@@ -120,15 +114,11 @@ void TaskPadParameters::updateUI(int index)
if (ui->lineFaceName->property("FeatureName").isNull())
onButtonFace(true);
isReversedEnabled = true;
isReversedVisible = true;
}
else if (mode == Modes::TwoDimensions) {
isLengthEditVisible = true;
isLengthEdit2Visible = true;
isMidplaneEnabled = !ui->checkBoxReversed->isChecked();
isMidplaneVisible = true;
isReversedEnabled = !ui->checkBoxMidplane->isChecked();
isReversedVisible = true;
isReversedEnabled = true;
}
ui->lengthEdit->setVisible( isLengthEditVisible );
@@ -144,7 +134,6 @@ void TaskPadParameters::updateUI(int index)
ui->checkBoxMidplane->setVisible( isMidplaneVisible );
ui->checkBoxReversed->setEnabled( isReversedEnabled );
ui->checkBoxReversed->setVisible( isReversedVisible );
ui->lengthEdit2->setVisible( isLengthEdit2Visible );
ui->lengthEdit2->setEnabled( isLengthEdit2Visible );

View File

@@ -88,7 +88,8 @@ void TaskPocketParameters::updateUI(int index)
bool isLengthEdit2Visible = false;
bool isOffsetEditVisible = false;
bool isOffsetEditEnabled = true;
bool isMidplateEnabled = false;
bool isMidplaneEnabled = false;
bool isMidplaneVisible = false;
bool isReversedEnabled = false;
bool isFaceEditEnabled = false;
@@ -97,18 +98,16 @@ void TaskPocketParameters::updateUI(int index)
if (mode == Modes::Dimension) {
isLengthEditVisible = true;
ui->lengthEdit->selectNumber();
// Make sure that the spin box has the focus to get key events
// Calling setFocus() directly doesn't work because the spin box is not
// yet visible.
QMetaObject::invokeMethod(ui->lengthEdit, "setFocus", Qt::QueuedConnection);
isMidplateEnabled = true;
isMidplaneVisible = true;
isMidplaneEnabled = true;
// Reverse only makes sense if Midplane is not true
isReversedEnabled = !ui->checkBoxMidplane->isChecked();
}
else if (mode == Modes::ThroughAll) {
isOffsetEditVisible = true;
isOffsetEditEnabled = false; // offset may have some meaning for through all but it doesn't work
isMidplateEnabled = true;
isMidplaneEnabled = true;
isReversedEnabled = !ui->checkBoxMidplane->isChecked();
}
else if (mode == Modes::ToFirst) {
@@ -146,7 +145,8 @@ void TaskPocketParameters::updateUI(int index)
ui->offsetEdit->setEnabled( isOffsetEditVisible && isOffsetEditEnabled );
ui->labelOffset->setVisible( isOffsetEditVisible );
ui->checkBoxMidplane->setEnabled( isMidplateEnabled );
ui->checkBoxMidplane->setEnabled( isMidplaneEnabled );
ui->checkBoxMidplane->setVisible(isMidplaneVisible);
ui->checkBoxReversed->setEnabled( isReversedEnabled );