From f5700568807e9b7aac5d03fafa9869a6fe22d245 Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Wed, 13 Apr 2016 20:35:49 -0400 Subject: [PATCH] Block value changed signal of spin boxes when updating units. --- glabels/ObjectEditor.cpp | 58 +++++++++++++++++++--------------------- glabels/ObjectEditor.h | 4 +++ 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/glabels/ObjectEditor.cpp b/glabels/ObjectEditor.cpp index 518b5be..0f77ac4 100644 --- a/glabels/ObjectEditor.cpp +++ b/glabels/ObjectEditor.cpp @@ -95,6 +95,14 @@ void ObjectEditor::loadPositionPage() { mBlocked = true; + posXSpin->setDecimals( mSpinDigits ); + posXSpin->setSingleStep( mSpinStep ); + posXSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); + + posYSpin->setDecimals( mSpinDigits ); + posYSpin->setSingleStep( mSpinStep ); + posYSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); + posXSpin->setValue( mObject->x0().inUnits(mUnits) ); posYSpin->setValue( mObject->y0().inUnits(mUnits) ); @@ -109,6 +117,14 @@ void ObjectEditor::loadRectSizePage() { mBlocked = true; + sizeWSpin->setDecimals( mSpinDigits ); + sizeWSpin->setSingleStep( mSpinStep ); + sizeWSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); + + sizeHSpin->setDecimals( mSpinDigits ); + sizeHSpin->setSingleStep( mSpinStep ); + sizeHSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); + sizeWSpin->setValue( mObject->w().inUnits(mUnits) ); sizeHSpin->setValue( mObject->h().inUnits(mUnits) ); @@ -123,6 +139,14 @@ void ObjectEditor::loadShadowPage() { mBlocked = true; + shadowXSpin->setDecimals( mSpinDigits ); + shadowXSpin->setSingleStep( mSpinStep ); + shadowXSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); + + shadowYSpin->setDecimals( mSpinDigits ); + shadowYSpin->setSingleStep( mSpinStep ); + shadowYSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); + shadowEnableCheck->setChecked( mObject->shadow() ); shadowXSpin->setValue( mObject->shadowX().inUnits(mUnits) ); shadowYSpin->setValue( mObject->shadowY().inUnits(mUnits) ); @@ -191,38 +215,10 @@ double ObjectEditor::spinStep( glabels::Distance::Units units ) void ObjectEditor::onSettingsChanged() { mUnits = Settings::units(); + mSpinDigits = spinDigits( mUnits ); + mSpinStep = spinStep( mUnits ); - int digits = spinDigits( mUnits ); - double step = spinStep( mUnits ); - - posXSpin->setDecimals( digits ); - posXSpin->setSingleStep( step ); - posXSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - - posYSpin->setDecimals( digits ); - posYSpin->setSingleStep( step ); - posYSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - - sizeWSpin->setDecimals( digits ); - sizeWSpin->setSingleStep( step ); - sizeWSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - - sizeHSpin->setDecimals( digits ); - sizeHSpin->setSingleStep( step ); - sizeHSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - - sizeLineLengthSpin->setDecimals( digits ); - sizeLineLengthSpin->setSingleStep( step ); - sizeLineLengthSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - - shadowXSpin->setDecimals( digits ); - shadowXSpin->setSingleStep( step ); - shadowXSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - - shadowYSpin->setDecimals( digits ); - shadowYSpin->setSingleStep( step ); - shadowYSpin->setSuffix( " " + glabels::Distance::toId(mUnits) ); - + /* Must now update limits and reload any active pages with appropriate units . */ onLabelSizeChanged(); onSelectionChanged(); } diff --git a/glabels/ObjectEditor.h b/glabels/ObjectEditor.h index 151da73..c1f494a 100644 --- a/glabels/ObjectEditor.h +++ b/glabels/ObjectEditor.h @@ -88,7 +88,11 @@ private slots: private: LabelModel* mModel; LabelModelObject* mObject; + glabels::Distance::Units mUnits; + int mSpinDigits; + double mSpinStep; + bool mBlocked; };