[TD] sanitize Scale preferences

- take care that custom scale is only in effect if the scale type is 'Custom'
- use UnitSpinBox for Template Mark
- use uniform width for all scale edits
- also use UnitSpinBox for Balloon Kink
This commit is contained in:
donovaly
2020-03-15 02:30:11 +01:00
committed by WandererFan
parent cee8cefd92
commit 36eb07fdd8
5 changed files with 316 additions and 273 deletions

View File

@@ -54,78 +54,7 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QGridLayout" name="gridLayout" columnstretch="1,0,1">
<property name="sizeConstraint">
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<property name="horizontalSpacing">
<number>24</number>
</property>
<item row="1" column="2">
<widget class="Gui::PrefComboBox" name="cbViewScaleType">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Default scale for new views</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>DefaultScaleType</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
<item>
<property name="text">
<string>Page</string>
</property>
</item>
<item>
<property name="text">
<string>Auto</string>
</property>
</item>
<item>
<property name="text">
<string>Custom</string>
</property>
</item>
</widget>
</item>
<item row="2" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbViewScale">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Default scale for views if Scale Type is Custom</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>DefaultViewScale</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
</widget>
</item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_13">
<property name="font">
@@ -146,6 +75,12 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>174</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Default scale for new pages</string>
</property>
@@ -178,6 +113,49 @@
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="Gui::PrefComboBox" name="cbViewScaleType">
<property name="enabled">
<bool>true</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>174</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Default scale for new views</string>
</property>
<property name="prefEntry" stdset="0">
<cstring>DefaultScaleType</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
<item>
<property name="text">
<string>Page</string>
</property>
</item>
<item>
<property name="text">
<string>Auto</string>
</property>
</item>
<item>
<property name="text">
<string>Custom</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_15">
<property name="font">
@@ -203,6 +181,46 @@
</property>
</spacer>
</item>
<item row="2" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbViewScale">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>174</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Default scale for views if 'View Scale Type' is 'Custom'</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>DefaultViewScale</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
</widget>
</item>
</layout>
</item>
</layout>
@@ -233,57 +251,7 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0,1">
<property name="horizontalSpacing">
<number>24</number>
</property>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>OverLap Radius (TBI)</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbOverlapRadius">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="baseSize">
<size>
<width>0</width>
<height>33</height>
</size>
</property>
<property name="toolTip">
<string>Area to be inspected for overlap object selection. (not implemented yet)</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="value">
<double>20.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>OverlapRadius</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
</widget>
</item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="minimumSize">
@@ -303,12 +271,18 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Mark Fuzz</string>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbEdgeFuzz">
@@ -320,7 +294,7 @@
</property>
<property name="minimumSize">
<size>
<width>0</width>
<width>174</width>
<height>0</height>
</size>
</property>
@@ -350,6 +324,13 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Mark Fuzz</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbMarkFuzz">
<property name="sizePolicy">
@@ -360,7 +341,7 @@
</property>
<property name="minimumSize">
<size>
<width>0</width>
<width>174</width>
<height>0</height>
</size>
</property>
@@ -390,24 +371,81 @@
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Overlap Radius</string>
</property>
<property name="sizeHint" stdset="0">
</widget>
</item>
<item row="2" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbOverlapRadius">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>20</height>
<width>174</width>
<height>0</height>
</size>
</property>
</spacer>
<property name="baseSize">
<size>
<width>0</width>
<height>33</height>
</size>
</property>
<property name="toolTip">
<string>Area to be inspected for overlap object selection.
(not implemented yet)</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="value">
<double>20.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>OverlapRadius</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_12">
<property name="font">
<font>
<pointsize>12</pointsize>
<italic>true</italic>
</font>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="text">
<string>Items in italics are default values for new objects. They have no effect on existing objects.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QGroupBox" name="gb_SizeAdj">
<property name="sizePolicy">
@@ -425,9 +463,75 @@
<property name="title">
<string>Size Adjustments</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QGridLayout" name="gridLayout_3" columnstretch="1,0,1">
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Vertex Scale</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbVertexScale">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>174</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Scale of vertex dots. Multiplier of line width.</string>
</property>
<property name="accessibleName">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="value">
<double>5.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>VertexScale</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Center Mark Scale</string>
</property>
</widget>
</item>
<item row="1" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbCenterScale">
<property name="sizePolicy">
@@ -436,8 +540,14 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>174</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Size of center marks. Multiplier of vertex size.</string>
<string>Size of center marks. Multiplier of vertex size.</string>
</property>
<property name="accessibleName">
<string/>
@@ -456,65 +566,6 @@
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbToleranceScale">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="baseSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Tolerance font size adjustment. Multiplier of dimension font size.</string>
</property>
<property name="accessibleName">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="value">
<double>0.500000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>TolSizeAdjust</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/Dimensions</cstring>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Vertex Scale</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Center Mark Scale</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lbl_LabelFont">
<property name="minimumSize">
@@ -539,43 +590,8 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Template Edit Mark</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbVertexScale">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Scale of vertex dots. Multiplier of line width.</string>
</property>
<property name="accessibleName">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="value">
<double>5.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>VertexScale</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/General</cstring>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbTemplateMark">
<item row="2" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbToleranceScale">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -584,7 +600,7 @@
</property>
<property name="minimumSize">
<size>
<width>0</width>
<width>174</width>
<height>0</height>
</size>
</property>
@@ -595,12 +611,50 @@
</size>
</property>
<property name="toolTip">
<string>Size of template field click handles in mm</string>
<string>Tolerance font size adjustment. Multiplier of dimension font size.</string>
</property>
<property name="accessibleName">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="value">
<double>0.500000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>TolSizeAdjust</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/TechDraw/Dimensions</cstring>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Template Edit Mark</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="Gui::PrefUnitSpinBox" name="pdsbTemplateMark" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>174</width>
<height>0</height>
</size>
</property>
<property name="toolTip">
<string>Size of template field click handles</string>
</property>
<property name="value" stdset="0">
<double>3.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
@@ -611,43 +665,11 @@
</property>
</widget>
</item>
<item row="1" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_12">
<property name="font">
<font>
<pointsize>12</pointsize>
<italic>true</italic>
</font>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="text">
<string>Items in italics are default values for new objects. They have no effect on existing objects.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
@@ -674,6 +696,11 @@
<extends>QDoubleSpinBox</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefUnitSpinBox</class>
<extends>Gui::QuantitySpinBox</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>

View File

@@ -34,8 +34,10 @@ DlgPrefsTechDraw2Imp::DlgPrefsTechDraw2Imp( QWidget* parent )
: PreferencePage( parent )
{
this->setupUi(this);
// pdsbTemplateMark->setUnit(Base::Unit::Length);
this->pdsbTemplateMark->setUnit(Base::Unit::Length);
connect(this->cbViewScaleType, SIGNAL(currentIndexChanged(int)),
this, SLOT(onScaleTypeChanged(int)));
}
DlgPrefsTechDraw2Imp::~DlgPrefsTechDraw2Imp()
@@ -43,6 +45,16 @@ DlgPrefsTechDraw2Imp::~DlgPrefsTechDraw2Imp()
// no need to delete child widgets, Qt does it all for us
}
void DlgPrefsTechDraw2Imp::onScaleTypeChanged(int index)
{
// disable custom scale if the scale type is not custom
if (index == 2) // if custom
this->pdsbViewScale->setEnabled(true);
else
this->pdsbViewScale->setEnabled(false);
}
void DlgPrefsTechDraw2Imp::saveSettings()
{
pdsbToleranceScale->onSave();

View File

@@ -39,6 +39,9 @@ public:
DlgPrefsTechDraw2Imp( QWidget* parent = 0 );
~DlgPrefsTechDraw2Imp();
protected Q_SLOTS:
void onScaleTypeChanged(int index);
protected:
void saveSettings();
void loadSettings();

View File

@@ -716,7 +716,7 @@
</widget>
</item>
<item row="7" column="2">
<widget class="Gui::PrefDoubleSpinBox" name="pdsbBalloonKink">
<widget class="Gui::PrefUnitSpinBox" name="pdsbBalloonKink">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>

View File

@@ -44,6 +44,7 @@ DlgPrefsTechDraw3Imp::DlgPrefsTechDraw3Imp( QWidget* parent )
this->setupUi(this);
plsb_FontSize->setUnit(Base::Unit::Length);
plsb_ArrowSize->setUnit(Base::Unit::Length);
pdsbBalloonKink->setUnit(Base::Unit::Length);
}
DlgPrefsTechDraw3Imp::~DlgPrefsTechDraw3Imp()