Disable Horizon control when not needed

This commit is contained in:
manongjohn 2021-11-11 17:35:13 -05:00
parent 4698a1d583
commit 46608f07ea
3 changed files with 7 additions and 4 deletions

View file

@ -758,7 +758,7 @@ class PerspectiveGridToolOptionBox final : public ToolOptionsBox {
QPushButton *m_removePresetButton;
ToolOptionCombo *m_perspectiveType;
ToolOptionCheckbox *m_parallel, *m_advancedControls;
ToolOptionCheckbox *m_parallel, *m_horizon, *m_advancedControls;
private:
class PresetNamePopup;

View file

@ -735,8 +735,9 @@ void PerspectiveTool::leftButtonDown(const TPointD &pos, const TMouseEvent &e) {
// Update toolbar options
m_opacity.setValue(m_perspectiveObjs[controlIdx]->getOpacity());
m_horizon.setValue(m_perspectiveObjs[controlIdx]->isHorizon());
m_color.setColor(m_perspectiveObjs[controlIdx]->getColor());
m_horizon.setValue(m_perspectiveObjs[controlIdx]->isHorizon());
m_parallel.setValue(m_perspectiveObjs[controlIdx]->isParallel());
m_propertyUpdating = true;
getApplication()->getCurrentTool()->notifyToolChanged();
m_propertyUpdating = false;

View file

@ -2961,6 +2961,7 @@ PerspectiveGridToolOptionBox::PerspectiveGridToolOptionBox(
m_perspectiveType =
dynamic_cast<ToolOptionCombo *>(m_controls.value("Type:"));
m_horizon = dynamic_cast<ToolOptionCheckbox *>(m_controls.value("Horizon"));
m_parallel = dynamic_cast<ToolOptionCheckbox *>(m_controls.value("Parallel"));
m_advancedControls =
dynamic_cast<ToolOptionCheckbox *>(m_controls.value("Advanced Controls"));
@ -2997,17 +2998,18 @@ void PerspectiveGridToolOptionBox::filterControls() {
}
m_parallel->setEnabled(isLineSelected);
m_horizon->setEnabled(isVanishingSelected || m_parallel->isChecked());
m_advancedControls->setEnabled(isVanishingSelected);
}
//-----------------------------------------------------------------------------
void PerspectiveGridToolOptionBox::updateStatus() {
filterControls();
QMap<std::string, ToolOptionControl *>::iterator it;
for (it = m_controls.begin(); it != m_controls.end(); it++)
it.value()->updateStatus();
filterControls();
}
//-----------------------------------------------------------------------------