diff --git a/glabels/ObjectEditor.cpp b/glabels/ObjectEditor.cpp index dece8de..5889780 100644 --- a/glabels/ObjectEditor.cpp +++ b/glabels/ObjectEditor.cpp @@ -42,6 +42,7 @@ namespace glabels lineColorButton->init( "No line", QColor(0,0,0,0), QColor(0,0,0,255) ); fillColorButton->init( "No fill", QColor(0,0,0,0), QColor(0,0,0,255) ); + shadowColorButton->init( "Default", QColor(0,0,0,255), QColor(0,0,0,255) ); setEnabled( false ); hidePages(); @@ -114,6 +115,23 @@ namespace glabels } + void ObjectEditor::loadShadowPage() + { + if ( mObject ) + { + mBlocked = true; + + shadowEnableCheck->setChecked( mObject->shadow() ); + shadowXSpin->setValue( mObject->shadowX() ); + shadowYSpin->setValue( mObject->shadowY() ); + shadowColorButton->setColorNode( mObject->shadowColorNode() ); + shadowOpacitySpin->setValue( 100*mObject->shadowOpacity() ); + + mBlocked = false; + } + } + + void ObjectEditor::onLabelSizeChanged() { if ( mModel ) @@ -161,6 +179,7 @@ namespace glabels loadLineFillPage(); loadPositionPage(); loadRectSizePage(); + loadShadowPage(); setEnabled( true ); } @@ -190,6 +209,7 @@ namespace glabels { loadLineFillPage(); loadRectSizePage(); + loadShadowPage(); } } @@ -272,6 +292,23 @@ namespace glabels } + void ObjectEditor::onShadowControlsChanged() + { + if ( !mBlocked ) + { + mBlocked = true; + + mObject->setShadow( shadowEnableCheck->isChecked() ); + mObject->setShadowX( shadowXSpin->value() ); + mObject->setShadowY( shadowYSpin->value() ); + mObject->setShadowColorNode( shadowColorButton->colorNode() ); + mObject->setShadowOpacity( shadowOpacitySpin->value()/100.0 ); + + mBlocked = false; + } + } + + void ObjectEditor::onChanged() { if ( !mBlocked ) diff --git a/glabels/ObjectEditor.h b/glabels/ObjectEditor.h index 3bb66c9..4b35d30 100644 --- a/glabels/ObjectEditor.h +++ b/glabels/ObjectEditor.h @@ -59,6 +59,7 @@ namespace glabels void loadLineFillPage(); void loadPositionPage(); void loadRectSizePage(); + void loadShadowPage(); ///////////////////////////////// @@ -74,6 +75,7 @@ namespace glabels void onFillControlsChanged(); void onPositionControlsChanged(); void onRectSizeControlsChanged(); + void onShadowControlsChanged(); void onChanged(); diff --git a/glabels/ui/ObjectEditor.ui b/glabels/ui/ObjectEditor.ui index 7c81586..2e87589 100644 --- a/glabels/ui/ObjectEditor.ui +++ b/glabels/ui/ObjectEditor.ui @@ -70,7 +70,7 @@ - 4 + 5 @@ -1979,7 +1979,7 @@ shadowEnableCheck toggled(bool) ObjectEditor - onChanged() + onShadowControlsChanged() 58 @@ -1995,7 +1995,7 @@ shadowXSpin valueChanged(double) ObjectEditor - onChanged() + onShadowControlsChanged() 125 @@ -2011,7 +2011,7 @@ shadowYSpin valueChanged(double) ObjectEditor - onChanged() + onShadowControlsChanged() 147 @@ -2027,7 +2027,7 @@ shadowColorButton colorChanged() ObjectEditor - onChanged() + onShadowControlsChanged() 106 @@ -2043,7 +2043,7 @@ shadowOpacitySpin valueChanged(int) ObjectEditor - onChanged() + onShadowControlsChanged() 115 @@ -2063,5 +2063,6 @@ onFillControlsChanged() onPositionControlsChanged() onRectSizeControlsChanged() + onShadowControlsChanged()