extras/source/glade/libreoffice-catalog.xml.in | 4 include/svx/spacinglistbox.hxx | 11 - solenv/bin/native-code.py | 1 solenv/sanitizers/ui/svx.suppr | 8 svx/source/dialog/spacinglistbox.cxx | 135 +++---------- svx/source/sidebar/shadow/ShadowPropertyPanel.cxx | 217 ++++++++++------------ svx/source/sidebar/shadow/ShadowPropertyPanel.hxx | 42 ++-- svx/uiconfig/ui/sidebarshadow.ui | 47 +++- 8 files changed, 193 insertions(+), 272 deletions(-)
New commits: commit 07754d010257b36a6f695879f10a839ccf166058 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Dec 19 15:48:02 2019 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Dec 20 09:54:14 2019 +0100 weld ShadowPropertyPanel Change-Id: I5ffd5881955726823b0e4c6f347e9a1e1767b640 Reviewed-on: https://gerrit.libreoffice.org/85535 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/solenv/sanitizers/ui/svx.suppr b/solenv/sanitizers/ui/svx.suppr index 5b323a5f23e8..8aee20b117aa 100644 --- a/solenv/sanitizers/ui/svx.suppr +++ b/solenv/sanitizers/ui/svx.suppr @@ -64,15 +64,9 @@ svx/uiconfig/ui/sidebararea.ui://GtkLabel[@id='filllabel'] orphan-label svx/uiconfig/ui/sidebararea.ui://svxlo-SvxFillAttrBox[@id='fillattr'] missing-label-for svx/uiconfig/ui/sidebararea.ui://svxlo-SvxFillTypeBox[@id='fillstyle'] missing-label-for svx/uiconfig/ui/sidebararea.ui://GtkLabel[@id='transparencylabel'] orphan-label -svx/uiconfig/ui/sidebarshadow.ui://GtkLabel[@id='angle'] orphan-label -svx/uiconfig/ui/sidebarshadow.ui://GtkLabel[@id='distance'] orphan-label -svx/uiconfig/ui/sidebarshadow.ui://VclComboBoxNumeric[@id='LB_ANGLE:0degrees'] no-labelled-by -svx/uiconfig/ui/sidebarshadow.ui://VclComboBoxNumeric[@id='LB_DISTANCE:0pt'] no-labelled-by svx/uiconfig/ui/sidebarshadow.ui://GtkLabel[@id='transparency_label'] orphan-label -svx/uiconfig/ui/sidebarshadow.ui://GtkSpinButton[@id='FIELD_TRANSPARENCY:0%'] no-labelled-by +svx/uiconfig/ui/sidebarshadow.ui://GtkSpinButton[@id='FIELD_TRANSPARENCY'] no-labelled-by svx/uiconfig/ui/sidebarshadow.ui://GtkScale[@id='transparency_slider'] no-labelled-by -svx/uiconfig/ui/sidebarshadow.ui://GtkLabel[@id='color'] orphan-label -svx/uiconfig/ui/sidebarshadow.ui://svxcorelo-SvxColorListBox[@id='LB_SHADOW_COLOR'] no-labelled-by svx/uiconfig/ui/sidebargraphic.ui://GtkSpinButton[@id='setbrightness:%'] missing-label-for svx/uiconfig/ui/sidebargraphic.ui://GtkSpinButton[@id='setbrightness:%'] labelled-by-and-mnemonic svx/uiconfig/ui/sidebargraphic.ui://GtkSpinButton[@id='setcontrast:%'] missing-label-for diff --git a/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx b/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx index 8c93ee2708d0..b641101a6f79 100644 --- a/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx +++ b/svx/source/sidebar/shadow/ShadowPropertyPanel.cxx @@ -34,42 +34,13 @@ using namespace css; using namespace css::uno; -namespace { - -sal_uInt32 ParseText(OUString const & sTmp) -{ - if (sTmp.isEmpty()) - return 0; - sal_Unicode nChar = sTmp[0]; - if( nChar == '-' ) - { - if (sTmp.getLength() < 2) - return 0; - nChar = sTmp[1]; - } - - if( (nChar < '0') || (nChar > '9') ) - return 0; - - const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() ); - - rtl_math_ConversionStatus eStatus; - double fTmp = rLocaleWrapper.stringToDouble( sTmp, false, &eStatus, nullptr); - if (eStatus != rtl_math_ConversionStatus_Ok) - return 0; - - return fTmp; -} - -} - namespace svx { namespace sidebar { ShadowPropertyPanel::ShadowPropertyPanel( vcl::Window* pParent, const uno::Reference<css::frame::XFrame>& rxFrame, SfxBindings* pBindings) -: PanelLayout(pParent, "ShadowPropertyPanel", "svx/ui/sidebarshadow.ui", rxFrame), +: PanelLayout(pParent, "ShadowPropertyPanel", "svx/ui/sidebarshadow.ui", rxFrame, true), maShadowController(SID_ATTR_FILL_SHADOW, *pBindings, *this), maShadowTransController(SID_ATTR_SHADOW_TRANSPARENCE, *pBindings, *this), maShadowColorController(SID_ATTR_SHADOW_COLOR, *pBindings, *this), @@ -78,19 +49,18 @@ ShadowPropertyPanel::ShadowPropertyPanel( mpBindings(pBindings), nX(0), nY(0), - nXY(0) + nXY(0), + mxShowShadow(m_xBuilder->weld_check_button("SHOW_SHADOW")), + mxShadowDistance(m_xBuilder->weld_metric_spin_button("LB_DISTANCE", FieldUnit::POINT)), + mxLBShadowColor(new ColorListBox(m_xBuilder->weld_menu_button("LB_SHADOW_COLOR"), GetFrameWeld())), + mxShadowAngle(m_xBuilder->weld_combo_box("LB_ANGLE")), + mxFTAngle(m_xBuilder->weld_label("angle")), + mxFTDistance(m_xBuilder->weld_label("distance")), + mxFTTransparency(m_xBuilder->weld_label("transparency_label")), + mxFTColor(m_xBuilder->weld_label("color")), + mxShadowTransSlider(m_xBuilder->weld_scale("transparency_slider")), + mxShadowTransMetric(m_xBuilder->weld_metric_spin_button("FIELD_TRANSPARENCY", FieldUnit::PERCENT)) { - get(mpShowShadow,"SHOW_SHADOW"); - get(mpFTAngle,"angle"); - get(mpShadowAngle,"LB_ANGLE"); - get(mpFTDistance,"distance"); - get(mpShadowDistance,"LB_DISTANCE"); - get(mpFTTransparency,"transparency_label"); - get(mpShadowTransSlider,"transparency_slider"); - get(mpShadowTransMetric,"FIELD_TRANSPARENCY"); - get(mpFTColor,"color"); - get(mpLBShadowColor,"LB_SHADOW_COLOR"); - Initialize(); } @@ -101,16 +71,16 @@ ShadowPropertyPanel::~ShadowPropertyPanel() void ShadowPropertyPanel::dispose() { - mpShowShadow.clear(); - mpFTAngle.clear(); - mpShadowAngle.clear(); - mpFTDistance.clear(); - mpShadowDistance.clear(); - mpFTTransparency.clear(); - mpShadowTransSlider.clear(); - mpShadowTransMetric.clear(); - mpFTColor.clear(); - mpLBShadowColor.clear(); + mxShowShadow.reset(); + mxFTAngle.reset(); + mxShadowAngle.reset(); + mxFTDistance.reset(); + mxShadowDistance.reset(); + mxFTTransparency.reset(); + mxShadowTransSlider.reset(); + mxShadowTransMetric.reset(); + mxFTColor.reset(); + mxLBShadowColor.reset(); maShadowController.dispose(); maShadowTransController.dispose(); @@ -122,23 +92,20 @@ void ShadowPropertyPanel::dispose() void ShadowPropertyPanel::Initialize() { - mpShowShadow->SetState( TRISTATE_FALSE ); - mpShowShadow->SetClickHdl( LINK(this, ShadowPropertyPanel, ClickShadowHdl ) ); - mpShadowTransMetric->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransMetricHdl) ); - mpLBShadowColor->SetSelectHdl( LINK( this, ShadowPropertyPanel, ModifyShadowColorHdl ) ); - mpShadowAngle->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); - mpShadowDistance->SetModifyHdl( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); - mpShadowTransSlider->SetRange(Range(0,100)); - mpShadowTransSlider->SetUpdateMode(true); - mpShadowTransSlider->SetSlideHdl( LINK(this, ShadowPropertyPanel, ModifyShadowTransSliderHdl) ); - for(sal_uInt16 i = 0; i <= 20 ; i++) - mpShadowDistance->InsertValue(i*2,FieldUnit::POINT); + mxShowShadow->set_state( TRISTATE_FALSE ); + mxShowShadow->connect_toggled( LINK(this, ShadowPropertyPanel, ClickShadowHdl ) ); + mxShadowTransMetric->connect_value_changed( LINK(this, ShadowPropertyPanel, ModifyShadowTransMetricHdl) ); + mxLBShadowColor->SetSelectHdl( LINK( this, ShadowPropertyPanel, ModifyShadowColorHdl ) ); + mxShadowAngle->connect_changed( LINK(this, ShadowPropertyPanel, ModifyShadowAngleHdl) ); + mxShadowDistance->connect_value_changed( LINK(this, ShadowPropertyPanel, ModifyShadowDistanceHdl) ); + mxShadowTransSlider->set_range(0, 100); + mxShadowTransSlider->connect_value_changed( LINK(this, ShadowPropertyPanel, ModifyShadowTransSliderHdl) ); InsertAngleValues(); } -IMPL_LINK_NOARG(ShadowPropertyPanel, ClickShadowHdl, Button*, void) +IMPL_LINK_NOARG(ShadowPropertyPanel, ClickShadowHdl, weld::ToggleButton&, void) { - if( mpShowShadow->GetState() == TRISTATE_FALSE ) + if( mxShowShadow->get_state() == TRISTATE_FALSE ) { SdrOnOffItem aItem(makeSdrShadowItem(false)); GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_FILL_SHADOW, @@ -152,36 +119,46 @@ IMPL_LINK_NOARG(ShadowPropertyPanel, ClickShadowHdl, Button*, void) } } -IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowColorHdl, SvxColorListBox&, void) +IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowColorHdl, ColorListBox&, void) { - XColorItem aItem(makeSdrShadowColorItem(mpLBShadowColor->GetSelectEntryColor())); + XColorItem aItem(makeSdrShadowColorItem(mxLBShadowColor->GetSelectEntryColor())); GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_SHADOW_COLOR, SfxCallMode::RECORD, { &aItem }); } -IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowTransMetricHdl, Edit&, void) +IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowTransMetricHdl, weld::MetricSpinButton&, void) { - sal_uInt16 nVal = mpShadowTransMetric->GetValue(); + sal_uInt16 nVal = mxShadowTransMetric->get_value(FieldUnit::PERCENT); SetTransparencyValue(nVal); SdrPercentItem aItem( makeSdrShadowTransparenceItem(nVal) ); GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_SHADOW_TRANSPARENCE, SfxCallMode::RECORD, { &aItem }); } -IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowTransSliderHdl, Slider*, void) +IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowTransSliderHdl, weld::Scale&, void) { - sal_uInt16 nVal = mpShadowTransSlider->GetThumbPos(); + sal_uInt16 nVal = mxShadowTransSlider->get_value(); SetTransparencyValue(nVal); SdrPercentItem aItem( makeSdrShadowTransparenceItem(nVal) ); GetBindings()->GetDispatcher()->ExecuteList(SID_ATTR_SHADOW_TRANSPARENCE, SfxCallMode::RECORD, { &aItem }); } -IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowDistanceHdl, Edit&, void) +IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowAngleHdl, weld::ComboBox&, void) +{ + ModifyShadowDistance(); +} + +IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowDistanceHdl, weld::MetricSpinButton&, void) +{ + ModifyShadowDistance(); +} + +void ShadowPropertyPanel::ModifyShadowDistance() { - OUString sAngle = mpShadowAngle->GetText(); - nXY = mpShadowDistance->GetValue(FieldUnit::MM_100TH); - switch(ParseText(sAngle)) + auto nAngle = mxShadowAngle->get_active_id().toInt32(); + nXY = mxShadowDistance->get_value(FieldUnit::MM_100TH); + switch (nAngle) { case 0: nX = nXY; nY = 0; break; case 45: nX = nXY; nY = -nXY; break; @@ -202,48 +179,48 @@ IMPL_LINK_NOARG(ShadowPropertyPanel, ModifyShadowDistanceHdl, Edit&, void) void ShadowPropertyPanel::UpdateControls() { - if(mpShowShadow->GetState() == TRISTATE_FALSE) + if (mxShowShadow->get_state() == TRISTATE_FALSE) { - mpShadowDistance->Disable(); - mpLBShadowColor->Disable(); - mpShadowAngle->Disable(); - mpFTAngle->Disable(); - mpFTDistance->Disable(); - mpFTTransparency->Disable(); - mpFTColor->Disable(); - mpShadowTransSlider->Disable(); - mpShadowTransMetric->Disable(); + mxShadowDistance->set_sensitive(false); + mxLBShadowColor->set_sensitive(false); + mxShadowAngle->set_sensitive(false); + mxFTAngle->set_sensitive(false); + mxFTDistance->set_sensitive(false); + mxFTTransparency->set_sensitive(false); + mxFTColor->set_sensitive(false); + mxShadowTransSlider->set_sensitive(false); + mxShadowTransMetric->set_sensitive(false); return; } else { - mpShadowDistance->Enable(); - mpLBShadowColor->Enable(); - mpShadowAngle->Enable(); - mpFTAngle->Enable(); - mpFTDistance->Enable(); - mpFTTransparency->Enable(); - mpFTColor->Enable(); - mpShadowTransSlider->Enable(); - mpShadowTransMetric->Enable(); + mxShadowDistance->set_sensitive(true); + mxLBShadowColor->set_sensitive(true); + mxShadowAngle->set_sensitive(true); + mxFTAngle->set_sensitive(true); + mxFTDistance->set_sensitive(true); + mxFTTransparency->set_sensitive(true); + mxFTColor->set_sensitive(true); + mxShadowTransSlider->set_sensitive(true); + mxShadowTransMetric->set_sensitive(true); } - if(nX > 0 && nY == 0) { mpShadowAngle->SelectEntryPos(0); nXY = nX; } - else if( nX > 0 && nY < 0 ) { mpShadowAngle->SelectEntryPos(1); nXY = nX; } - else if( nX == 0 && nY < 0 ) { mpShadowAngle->SelectEntryPos(2); nXY = -nY; } - else if( nX < 0 && nY < 0 ) { mpShadowAngle->SelectEntryPos(3); nXY = -nY; } - else if( nX < 0 && nY == 0 ) { mpShadowAngle->SelectEntryPos(4); nXY = -nX; } - else if( nX < 0 && nY > 0 ) { mpShadowAngle->SelectEntryPos(5); nXY = nY; } - else if( nX == 0 && nY > 0 ) { mpShadowAngle->SelectEntryPos(6); nXY = nY; } - else if( nX > 0 && nY > 0 ) { mpShadowAngle->SelectEntryPos(7); nXY = nX; } + if(nX > 0 && nY == 0) { mxShadowAngle->set_active(0); nXY = nX; } + else if( nX > 0 && nY < 0 ) { mxShadowAngle->set_active(1); nXY = nX; } + else if( nX == 0 && nY < 0 ) { mxShadowAngle->set_active(2); nXY = -nY; } + else if( nX < 0 && nY < 0 ) { mxShadowAngle->set_active(3); nXY = -nY; } + else if( nX < 0 && nY == 0 ) { mxShadowAngle->set_active(4); nXY = -nX; } + else if( nX < 0 && nY > 0 ) { mxShadowAngle->set_active(5); nXY = nY; } + else if( nX == 0 && nY > 0 ) { mxShadowAngle->set_active(6); nXY = nY; } + else if( nX > 0 && nY > 0 ) { mxShadowAngle->set_active(7); nXY = nX; } else { nXY = 0; } - mpShadowDistance->SetValue(nXY, FieldUnit::MM_100TH); + mxShadowDistance->set_value(nXY, FieldUnit::MM_100TH); } void ShadowPropertyPanel::SetTransparencyValue(long nVal) { - mpShadowTransSlider->SetThumbPos(nVal); - mpShadowTransMetric->SetValue(nVal); + mxShadowTransSlider->set_value(nVal); + mxShadowTransMetric->set_value(nVal, FieldUnit::PERCENT); } void ShadowPropertyPanel::DataChanged(const DataChangedEvent& /*rEvent*/) @@ -252,14 +229,18 @@ void ShadowPropertyPanel::DataChanged(const DataChangedEvent& /*rEvent*/) void ShadowPropertyPanel::InsertAngleValues() { - mpShadowAngle->InsertValue(0, FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(45, FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(90, FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(135, FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(180, FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(225,FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(270, FieldUnit::CUSTOM); - mpShadowAngle->InsertValue(315,FieldUnit::CUSTOM); + OUString sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::DEGREE); + + const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetLocaleDataWrapper(); + + mxShadowAngle->append(OUString::number(0), rLocaleData.getNum(0, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(45), rLocaleData.getNum(45, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(90), rLocaleData.getNum(90, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(135), rLocaleData.getNum(135, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(180), rLocaleData.getNum(180, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(225), rLocaleData.getNum(225, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(270), rLocaleData.getNum(270, 0, true, true) + sSuffix); + mxShadowAngle->append(OUString::number(315), rLocaleData.getNum(315, 0, true, true) + sSuffix); } void ShadowPropertyPanel::NotifyItemUpdate( @@ -276,13 +257,13 @@ void ShadowPropertyPanel::NotifyItemUpdate( const SdrOnOffItem* pItem = dynamic_cast< const SdrOnOffItem* >(pState); if(pItem) { - if(pItem->GetValue()) - mpShowShadow->SetState( TRISTATE_TRUE ); + if (pItem->GetValue()) + mxShowShadow->set_state(TRISTATE_TRUE); else - mpShowShadow->SetState( TRISTATE_FALSE ); + mxShowShadow->set_state(TRISTATE_FALSE); } else - mpShowShadow.reset(); + mxShowShadow.reset(); } } break; @@ -310,7 +291,7 @@ void ShadowPropertyPanel::NotifyItemUpdate( const XColorItem* pColorItem = dynamic_cast< const XColorItem* >(pState); if(pColorItem) { - mpLBShadowColor->SelectEntry(pColorItem->GetColorValue()); + mxLBShadowColor->SelectEntry(pColorItem->GetColorValue()); } } } diff --git a/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx b/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx index 7346b808eddf..c2bc4abcc599 100644 --- a/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx +++ b/svx/source/sidebar/shadow/ShadowPropertyPanel.hxx @@ -9,21 +9,16 @@ #ifndef INCLUDED_SVX_SOURCE_SIDEBAR_AREA_SHADOWPROPERTYPANEL_HXX #define INCLUDED_SVX_SOURCE_SIDEBAR_AREA_SHADOWPROPERTYPANEL_HXX -#include <vcl/slider.hxx> -#include <vcl/button.hxx> -#include <vcl/fixed.hxx> #include <vcl/vclptr.hxx> #include <sfx2/sidebar/SidebarPanelBase.hxx> -#include <vcl/ctrl.hxx> #include <sfx2/sidebar/ControllerItem.hxx> #include <svx/sidebar/PanelLayout.hxx> #include <svl/intitem.hxx> -#include <vcl/field.hxx> #include <com/sun/star/ui/XUIElement.hpp> #include <sfx2/request.hxx> #include <svx/dlgctrl.hxx> -class SvxColorListBox; +class ColorListBox; namespace svx { namespace sidebar { @@ -58,17 +53,6 @@ public: SfxBindings* pBindings); private: - VclPtr<CheckBox> mpShowShadow; - VclPtr<MetricBox> mpShadowDistance; - VclPtr<SvxColorListBox> mpLBShadowColor; - VclPtr<MetricBox> mpShadowAngle; - VclPtr<FixedText> mpFTAngle; - VclPtr<FixedText> mpFTDistance; - VclPtr<FixedText> mpFTTransparency; - VclPtr<FixedText> mpFTColor; - VclPtr<Slider> mpShadowTransSlider; - VclPtr<MetricField> mpShadowTransMetric; - ::sfx2::sidebar::ControllerItem maShadowController; ::sfx2::sidebar::ControllerItem maShadowTransController; ::sfx2::sidebar::ControllerItem maShadowColorController; @@ -78,14 +62,28 @@ private: SfxBindings* const mpBindings; long nX,nY,nXY; + std::unique_ptr<weld::CheckButton> mxShowShadow; + std::unique_ptr<weld::MetricSpinButton> mxShadowDistance; + std::unique_ptr<ColorListBox> mxLBShadowColor; + std::unique_ptr<weld::ComboBox> mxShadowAngle; + std::unique_ptr<weld::Label> mxFTAngle; + std::unique_ptr<weld::Label> mxFTDistance; + std::unique_ptr<weld::Label> mxFTTransparency; + std::unique_ptr<weld::Label> mxFTColor; + std::unique_ptr<weld::Scale> mxShadowTransSlider; + std::unique_ptr<weld::MetricSpinButton> mxShadowTransMetric; + void InsertAngleValues(); void SetTransparencyValue(long); void UpdateControls(); - DECL_LINK(ClickShadowHdl, Button*, void); - DECL_LINK(ModifyShadowColorHdl, SvxColorListBox&, void); - DECL_LINK(ModifyShadowTransMetricHdl, Edit&, void); - DECL_LINK(ModifyShadowDistanceHdl, Edit&, void); - DECL_LINK(ModifyShadowTransSliderHdl, Slider*, void); + void ModifyShadowDistance(); + + DECL_LINK(ClickShadowHdl, weld::ToggleButton&, void); + DECL_LINK(ModifyShadowColorHdl, ColorListBox&, void); + DECL_LINK(ModifyShadowTransMetricHdl, weld::MetricSpinButton&, void); + DECL_LINK(ModifyShadowAngleHdl, weld::ComboBox&, void); + DECL_LINK(ModifyShadowDistanceHdl, weld::MetricSpinButton&, void); + DECL_LINK(ModifyShadowTransSliderHdl, weld::Scale&, void); }; } } diff --git a/svx/uiconfig/ui/sidebarshadow.ui b/svx/uiconfig/ui/sidebarshadow.ui index c7e479298aa5..ad0d3fcd81fb 100644 --- a/svx/uiconfig/ui/sidebarshadow.ui +++ b/svx/uiconfig/ui/sidebarshadow.ui @@ -2,7 +2,6 @@ <!-- Generated with glade 3.22.1 --> <interface domain="svx"> <requires lib="gtk+" version="3.18"/> - <requires lib="LibreOffice" version="1.0"/> <object class="GtkAdjustment" id="adjustment1"> <property name="lower">-180</property> <property name="upper">360</property> @@ -12,6 +11,11 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">1000</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> <object class="GtkGrid" id="ShadowPropertyPanel"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -41,6 +45,8 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="sidebarshadow|angle">Angle:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">LB_ANGLE</property> <property name="xalign">0</property> </object> <packing> @@ -53,6 +59,8 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="sidebarshadow|distance">Distance:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">LB_DISTANCE</property> <property name="xalign">0</property> </object> <packing> @@ -61,22 +69,11 @@ </packing> </child> <child> - <object class="VclComboBoxNumeric" id="LB_ANGLE:0degrees"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="hexpand">True</property> - <property name="adjustment">adjustment1</property> - </object> - <packing> - <property name="left_attach">1</property> - <property name="top_attach">0</property> - </packing> - </child> - <child> - <object class="VclComboBoxNumeric" id="LB_DISTANCE:0pt"> + <object class="GtkSpinButton" id="LB_DISTANCE"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="hexpand">True</property> + <property name="adjustment">adjustment3</property> </object> <packing> <property name="left_attach">1</property> @@ -88,6 +85,8 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="sidebarshadow|color">Color:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">LB_SHADOW_COLOR</property> <property name="xalign">0</property> </object> <packing> @@ -96,10 +95,16 @@ </packing> </child> <child> - <object class="svxcorelo-SvxColorListBox" id="LB_SHADOW_COLOR"> + <object class="GtkMenuButton" id="LB_SHADOW_COLOR"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="receives_default">False</property> <property name="hexpand">True</property> + <property name="draw_indicator">True</property> + <property name="label" translatable="no"></property> + <child> + <placeholder/> + </child> </object> <packing> <property name="left_attach">1</property> @@ -118,6 +123,16 @@ <property name="top_attach">3</property> </packing> </child> + <child> + <object class="GtkComboBoxText" id="LB_ANGLE"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> <child> <placeholder/> </child> @@ -139,7 +154,7 @@ <property name="can_focus">False</property> <property name="column_spacing">6</property> <child> - <object class="GtkSpinButton" id="FIELD_TRANSPARENCY:0%"> + <object class="GtkSpinButton" id="FIELD_TRANSPARENCY"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="halign">end</property> commit 4a5fe0d1b7a1ffeb8240be94db571bcbcebdd846 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Dec 19 15:19:49 2019 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Dec 20 09:53:51 2019 +0100 SpacingListBox is now unused Change-Id: I051200802c7841dc6feb9e3ab852385887c29b09 Reviewed-on: https://gerrit.libreoffice.org/85533 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in index 8923acb26c81..7d013169a633 100644 --- a/extras/source/glade/libreoffice-catalog.xml.in +++ b/extras/source/glade/libreoffice-catalog.xml.in @@ -139,10 +139,6 @@ generic-name="Page Numbering ListBox" parent="GtkComboBox" icon-name="widget-gtk-combobox"/> - <glade-widget-class title="Spacing Preset ListBox" name="svxcorelo-SpacingListBox" - generic-name="Spacing Preset ListBox" parent="GtkComboBox" - icon-name="widget-gtk-combobox"/> - <glade-widget-class title="Sidebar ToolBox" name="sfxlo-SidebarToolBox" generic-name="Sidebar ToolBox" parent="GtkToolbar" icon-name="widget-gtk-toolbar"> diff --git a/include/svx/spacinglistbox.hxx b/include/svx/spacinglistbox.hxx index df8b8c043e19..d40e45b549b4 100644 --- a/include/svx/spacinglistbox.hxx +++ b/include/svx/spacinglistbox.hxx @@ -21,20 +21,15 @@ #define INCLUDED_SVX_SPACINGLISTBOXHELPER_HXX #include <svx/svxdllapi.h> -#include <vcl/lstbox.hxx> #include <vcl/weld.hxx> enum class SpacingType { SPACING_INCH, MARGINS_INCH, SPACING_CM, MARGINS_CM }; /// Custom Widget ListBox to hold entries for Spacing & Margin settings of Header/Footer -class SVX_DLLPUBLIC SpacingListBox final : public ListBox +namespace SpacingListBox { -public: - SpacingListBox( vcl::Window* pParent ); - void Init(SpacingType eType); - static void Fill(SpacingType eType, weld::ComboBox&); - Size GetOptimalSize() const override; -}; + void SVX_DLLPUBLIC Fill(SpacingType eType, weld::ComboBox&); +} #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/solenv/bin/native-code.py b/solenv/bin/native-code.py index 71c27047a2d9..1058ed2ce2af 100755 --- a/solenv/bin/native-code.py +++ b/solenv/bin/native-code.py @@ -499,7 +499,6 @@ custom_widgets = [ 'SearchResultsBox', 'SidebarDialControl', 'SidebarToolBox', - 'SpacingListBox', 'Svx3DPreviewControl', 'SvxCharViewControl', 'SvxColorListBox', diff --git a/svx/source/dialog/spacinglistbox.cxx b/svx/source/dialog/spacinglistbox.cxx index ac31393b3a2f..4412e958c7ac 100644 --- a/svx/source/dialog/spacinglistbox.cxx +++ b/svx/source/dialog/spacinglistbox.cxx @@ -20,114 +20,57 @@ #include <svx/dialmgr.hxx> #include <svx/spacinglistbox.hxx> #include <unotools/localedatawrapper.hxx> -#include <vcl/builderfactory.hxx> #include <vcl/settings.hxx> #include <vcl/svapp.hxx> -#include <vcl/weld.hxx> #include <spacing.hrc> -SpacingListBox::SpacingListBox(vcl::Window* pParent) - : ListBox( pParent, WB_BORDER | WB_DROPDOWN) +namespace SpacingListBox { -} - -void SpacingListBox::Init(SpacingType eType) -{ - auto nSelected = GetSelectedEntryPos(); - if (nSelected == LISTBOX_ENTRY_NOTFOUND) - nSelected = 0; - Clear(); - - const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetLocaleDataWrapper(); - OUString sSuffix; - - const measurement* pResources; - switch (eType) + void Fill(SpacingType eType, weld::ComboBox& rComboBox) { - case SpacingType::SPACING_INCH: - pResources = RID_SVXSTRARY_SPACING_INCH; - sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); - break; - case SpacingType::MARGINS_INCH: - pResources = RID_SVXSTRARY_MARGINS_INCH; - sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); - break; - case SpacingType::SPACING_CM: - pResources = RID_SVXSTRARY_SPACING_CM; - sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); - break; - default: - case SpacingType::MARGINS_CM: - sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); - pResources = RID_SVXSTRARY_MARGINS_CM; - break; - } - - while (pResources->key) - { - OUString sMeasurement = rLocaleData.getNum(pResources->human, 2, true, false) + sSuffix; - OUString aStr = SvxResId(pResources->key).replaceFirst("%1", sMeasurement); - sal_uInt16 nData = pResources->twips; - sal_Int32 nPos = InsertEntry( aStr ); - - SetEntryData( nPos, reinterpret_cast<void*>(static_cast<sal_uLong>(nData)) ); - ++pResources; - } + auto nSelected = rComboBox.get_active(); + if (nSelected == -1) + nSelected = 0; + rComboBox.clear(); - SetDropDownLineCount(8); - SelectEntryPos(nSelected); -} + const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetLocaleDataWrapper(); + OUString sSuffix; -void SpacingListBox::Fill(SpacingType eType, weld::ComboBox& rComboBox) -{ - auto nSelected = rComboBox.get_active(); - if (nSelected == -1) - nSelected = 0; - rComboBox.clear(); + const measurement* pResources; + switch (eType) + { + case SpacingType::SPACING_INCH: + pResources = RID_SVXSTRARY_SPACING_INCH; + sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); + break; + case SpacingType::MARGINS_INCH: + pResources = RID_SVXSTRARY_MARGINS_INCH; + sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); + break; + case SpacingType::SPACING_CM: + pResources = RID_SVXSTRARY_SPACING_CM; + sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); + break; + default: + case SpacingType::MARGINS_CM: + sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); + pResources = RID_SVXSTRARY_MARGINS_CM; + break; + } - const LocaleDataWrapper& rLocaleData = Application::GetSettings().GetLocaleDataWrapper(); - OUString sSuffix; + while (pResources->key) + { + OUString sMeasurement = rLocaleData.getNum(pResources->human, 2, true, false) + sSuffix; + OUString aStr = SvxResId(pResources->key).replaceFirst("%1", sMeasurement); + sal_uInt32 nData = pResources->twips; + rComboBox.append(OUString::number(nData), aStr); + ++pResources; + } - const measurement* pResources; - switch (eType) - { - case SpacingType::SPACING_INCH: - pResources = RID_SVXSTRARY_SPACING_INCH; - sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); - break; - case SpacingType::MARGINS_INCH: - pResources = RID_SVXSTRARY_MARGINS_INCH; - sSuffix = weld::MetricSpinButton::MetricToString(FieldUnit::INCH); - break; - case SpacingType::SPACING_CM: - pResources = RID_SVXSTRARY_SPACING_CM; - sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); - break; - default: - case SpacingType::MARGINS_CM: - sSuffix = " " + weld::MetricSpinButton::MetricToString(FieldUnit::CM); - pResources = RID_SVXSTRARY_MARGINS_CM; - break; - } + rComboBox.set_active(nSelected); - while (pResources->key) - { - OUString sMeasurement = rLocaleData.getNum(pResources->human, 2, true, false) + sSuffix; - OUString aStr = SvxResId(pResources->key).replaceFirst("%1", sMeasurement); - sal_uInt32 nData = pResources->twips; - rComboBox.append(OUString::number(nData), aStr); - ++pResources; + rComboBox.set_size_request(150, -1); } - - rComboBox.set_active(nSelected); - - rComboBox.set_size_request(150, -1); } -VCL_BUILDER_FACTORY(SpacingListBox); - -Size SpacingListBox::GetOptimalSize() const -{ - return Size(150, ListBox::GetOptimalSize().Height()); -} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits