chart2/source/controller/dialogs/res_DataLabel.cxx           |    8 -
 chart2/source/controller/dialogs/res_DataLabel.hxx           |    4 
 chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx |   50 +++++------
 chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx |   18 +--
 chart2/source/controller/dialogs/tp_AxisLabel.cxx            |   11 +-
 chart2/source/controller/dialogs/tp_AxisLabel.hxx            |    4 
 chart2/source/controller/dialogs/tp_LegendPosition.cxx       |    9 -
 chart2/source/controller/dialogs/tp_LegendPosition.hxx       |    6 -
 chart2/source/controller/dialogs/tp_TitleRotation.cxx        |    7 -
 chart2/source/controller/dialogs/tp_TitleRotation.hxx        |    4 
 svx/source/sidebar/paragraph/ParaPropertyPanel.cxx           |   10 +-
 svx/source/sidebar/paragraph/ParaPropertyPanel.hxx           |   10 +-
 svx/source/sidebar/paragraph/ParaSpacingWindow.cxx           |   10 +-
 svx/source/sidebar/paragraph/ParaSpacingWindow.hxx           |   10 +-
 14 files changed, 79 insertions(+), 82 deletions(-)

New commits:
commit 176d9c13271b26cd6df7fcc4f387ded9161baf97
Author:     Noel Grandin <[email protected]>
AuthorDate: Tue Mar 7 10:15:02 2023 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Tue Mar 7 09:41:45 2023 +0000

    no need to allocate these separately
    
    they are all one or two words in size
    
    Change-Id: Ibfa1bc474a2dfc9bf117f8963b52ffbd74b91dcc
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148379
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/chart2/source/controller/dialogs/res_DataLabel.cxx 
b/chart2/source/controller/dialogs/res_DataLabel.cxx
index 8addcd683c3f..c3d755cf92d6 100644
--- a/chart2/source/controller/dialogs/res_DataLabel.cxx
+++ b/chart2/source/controller/dialogs/res_DataLabel.cxx
@@ -107,7 +107,7 @@ DataLabelResources::DataLabelResources(weld::Builder* 
pBuilder, weld::Window* pP
     , m_xFT_Dial(pBuilder->weld_label("CT_LABEL_DIAL"))
     , m_xNF_Degrees(pBuilder->weld_metric_spin_button("NF_LABEL_DEGREES", 
FieldUnit::DEGREE))
     , m_xBxTextDirection(pBuilder->weld_widget("boxTXT_DIRECTION"))
-    , m_xLB_TextDirection(new 
TextDirectionListBox(pBuilder->weld_combo_box("LB_LABEL_TEXTDIR")))
+    , m_aLB_TextDirection(pBuilder->weld_combo_box("LB_LABEL_TEXTDIR"))
     , m_xDC_Dial(new svx::DialControl)
     , m_xDC_DialWin(new weld::CustomWeld(*pBuilder, "CT_DIAL", *m_xDC_Dial))
     , 
m_xCBCustomLeaderLines(pBuilder->weld_check_button("CB_CUSTOM_LEADER_LINES"))
@@ -319,8 +319,8 @@ void DataLabelResources::FillItemSet( SfxItemSet* rOutAttrs 
) const
         rOutAttrs->Put( SfxInt32Item( SCHATTR_DATADESCR_PLACEMENT, nValue ) );
     }
 
-    if (m_xLB_TextDirection->get_active() != -1)
-        rOutAttrs->Put( SvxFrameDirectionItem( 
m_xLB_TextDirection->get_active_id(), EE_PARA_WRITINGDIR ) );
+    if (m_aLB_TextDirection.get_active() != -1)
+        rOutAttrs->Put( SvxFrameDirectionItem( 
m_aLB_TextDirection.get_active_id(), EE_PARA_WRITINGDIR ) );
 
     if( m_xDC_Dial->IsVisible() )
     {
@@ -370,7 +370,7 @@ void DataLabelResources::Reset(const SfxItemSet& rInAttrs)
         m_xLB_LabelPlacement->set_active(-1);
 
     if( const SvxFrameDirectionItem* pDirectionItem = 
rInAttrs.GetItemIfSet(EE_PARA_WRITINGDIR) )
-        m_xLB_TextDirection->set_active_id( pDirectionItem->GetValue() );
+        m_aLB_TextDirection.set_active_id( pDirectionItem->GetValue() );
 
     if( const SdrAngleItem* pAngleItem = rInAttrs.GetItemIfSet( 
SCHATTR_TEXT_DEGREES ) )
     {
diff --git a/chart2/source/controller/dialogs/res_DataLabel.hxx 
b/chart2/source/controller/dialogs/res_DataLabel.hxx
index 625b9490a5e4..66a062d2ca24 100644
--- a/chart2/source/controller/dialogs/res_DataLabel.hxx
+++ b/chart2/source/controller/dialogs/res_DataLabel.hxx
@@ -20,11 +20,11 @@
 
 #include <svl/itemset.hxx>
 #include <svx/dialcontrol.hxx>
+#include <TextDirectionListBox.hxx>
 
 #include <map>
 
 class SvNumberFormatter;
-namespace chart { class TextDirectionListBox; }
 
 namespace chart
 {
@@ -85,7 +85,7 @@ private:
 
     std::unique_ptr<weld::Widget> m_xBxTextDirection;
 
-    std::unique_ptr<TextDirectionListBox> m_xLB_TextDirection;
+    TextDirectionListBox m_aLB_TextDirection;
     std::unique_ptr<svx::DialControl> m_xDC_Dial;
     std::unique_ptr<weld::CustomWeld> m_xDC_DialWin;
 
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx 
b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
index 7cb38e9e8b48..11fc0c88adb5 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.cxx
@@ -195,14 +195,14 @@ 
ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage(weld::Contain
     , m_pTopLevel(pTopLevel)
     , m_xBuilder(Application::CreateBuilder(pParent, 
"modules/schart/ui/tp_3D_SceneIllumination.ui"))
     , m_xContainer(m_xBuilder->weld_container("tp_3D_SceneIllumination"))
-    , m_xBtn_Light1(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_1")))
-    , m_xBtn_Light2(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_2")))
-    , m_xBtn_Light3(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_3")))
-    , m_xBtn_Light4(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_4")))
-    , m_xBtn_Light5(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_5")))
-    , m_xBtn_Light6(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_6")))
-    , m_xBtn_Light7(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_7")))
-    , m_xBtn_Light8(new 
LightButton(m_xBuilder->weld_toggle_button("BTN_LIGHT_8")))
+    , m_aBtn_Light1(m_xBuilder->weld_toggle_button("BTN_LIGHT_1"))
+    , m_aBtn_Light2(m_xBuilder->weld_toggle_button("BTN_LIGHT_2"))
+    , m_aBtn_Light3(m_xBuilder->weld_toggle_button("BTN_LIGHT_3"))
+    , m_aBtn_Light4(m_xBuilder->weld_toggle_button("BTN_LIGHT_4"))
+    , m_aBtn_Light5(m_xBuilder->weld_toggle_button("BTN_LIGHT_5"))
+    , m_aBtn_Light6(m_xBuilder->weld_toggle_button("BTN_LIGHT_6"))
+    , m_aBtn_Light7(m_xBuilder->weld_toggle_button("BTN_LIGHT_7"))
+    , m_aBtn_Light8(m_xBuilder->weld_toggle_button("BTN_LIGHT_8"))
     , m_xLB_LightSource(new 
ColorListBox(m_xBuilder->weld_menu_button("LB_LIGHTSOURCE"), [this]{ return 
m_pTopLevel; }))
     , 
m_xBtn_LightSource_Color(m_xBuilder->weld_button("BTN_LIGHTSOURCE_COLOR"))
     , m_xLB_AmbientLight(new 
ColorListBox(m_xBuilder->weld_menu_button("LB_AMBIENTLIGHT"), [this]{ return 
m_pTopLevel; }))
@@ -215,25 +215,25 @@ 
ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage(weld::Contain
     , m_xCtl_Preview(new SvxLightCtl3D(*m_xPreview, *m_xHoriScale, 
*m_xVertScale, *m_xBtn_Corner))
 {
     m_pLightSourceInfoList.reset(new LightSourceInfo[8]);
-    m_pLightSourceInfoList[0].pButton = m_xBtn_Light1.get();
-    m_pLightSourceInfoList[1].pButton = m_xBtn_Light2.get();
-    m_pLightSourceInfoList[2].pButton = m_xBtn_Light3.get();
-    m_pLightSourceInfoList[3].pButton = m_xBtn_Light4.get();
-    m_pLightSourceInfoList[4].pButton = m_xBtn_Light5.get();
-    m_pLightSourceInfoList[5].pButton = m_xBtn_Light6.get();
-    m_pLightSourceInfoList[6].pButton = m_xBtn_Light7.get();
-    m_pLightSourceInfoList[7].pButton = m_xBtn_Light8.get();
+    m_pLightSourceInfoList[0].pButton = &m_aBtn_Light1;
+    m_pLightSourceInfoList[1].pButton = &m_aBtn_Light2;
+    m_pLightSourceInfoList[2].pButton = &m_aBtn_Light3;
+    m_pLightSourceInfoList[3].pButton = &m_aBtn_Light4;
+    m_pLightSourceInfoList[4].pButton = &m_aBtn_Light5;
+    m_pLightSourceInfoList[5].pButton = &m_aBtn_Light6;
+    m_pLightSourceInfoList[6].pButton = &m_aBtn_Light7;
+    m_pLightSourceInfoList[7].pButton = &m_aBtn_Light8;
 
     fillControlsFromModel(nullptr);
 
-    m_xBtn_Light1->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light2->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light3->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light4->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light5->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light6->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light7->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
-    m_xBtn_Light8->connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light1.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light2.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light3.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light4.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light5.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light6.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light7.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
+    m_aBtn_Light8.connect_clicked( LINK( this, 
ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
 
     m_xLB_AmbientLight->SetSelectHdl( LINK( this, 
ThreeD_SceneIllumination_TabPage, SelectColorHdl ) );
     m_xLB_LightSource->SetSelectHdl( LINK( this, 
ThreeD_SceneIllumination_TabPage, SelectColorHdl ) );
@@ -244,7 +244,7 @@ 
ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage(weld::Contain
     m_xCtl_Preview->SetUserInteractiveChangeCallback( LINK( this, 
ThreeD_SceneIllumination_TabPage, PreviewChangeHdl ) );
     m_xCtl_Preview->SetUserSelectionChangeCallback( LINK( this, 
ThreeD_SceneIllumination_TabPage, PreviewSelectHdl ) );
 
-    ClickLightSourceButtonHdl(*m_xBtn_Light2->get_widget());
+    ClickLightSourceButtonHdl(*m_aBtn_Light2.get_widget());
 
     m_aModelChangeListener.startListening( uno::Reference< 
util::XModifyBroadcaster >(m_xSceneProperties, uno::UNO_QUERY) );
 }
diff --git a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx 
b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
index 5ac9d441faf3..98a1f3273620 100644
--- a/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
+++ b/chart2/source/controller/dialogs/tp_3D_SceneIllumination.hxx
@@ -22,6 +22,7 @@
 #include <TimerTriggeredControllerLock.hxx>
 #include <vcl/weld.hxx>
 #include <svx/dlgctl3d.hxx>
+#include <svx/float3d.hxx>
 
 namespace com::sun::star::beans
 {
@@ -29,7 +30,6 @@ class XPropertySet;
 }
 
 class ColorListBox;
-class LightButton;
 
 namespace chart
 {
@@ -73,14 +73,14 @@ private:
     weld::Window* m_pTopLevel;
     std::unique_ptr<weld::Builder> m_xBuilder;
     std::unique_ptr<weld::Container> m_xContainer;
-    std::unique_ptr<LightButton> m_xBtn_Light1;
-    std::unique_ptr<LightButton> m_xBtn_Light2;
-    std::unique_ptr<LightButton> m_xBtn_Light3;
-    std::unique_ptr<LightButton> m_xBtn_Light4;
-    std::unique_ptr<LightButton> m_xBtn_Light5;
-    std::unique_ptr<LightButton> m_xBtn_Light6;
-    std::unique_ptr<LightButton> m_xBtn_Light7;
-    std::unique_ptr<LightButton> m_xBtn_Light8;
+    LightButton m_aBtn_Light1;
+    LightButton m_aBtn_Light2;
+    LightButton m_aBtn_Light3;
+    LightButton m_aBtn_Light4;
+    LightButton m_aBtn_Light5;
+    LightButton m_aBtn_Light6;
+    LightButton m_aBtn_Light7;
+    LightButton m_aBtn_Light8;
     std::unique_ptr<ColorListBox> m_xLB_LightSource;
     std::unique_ptr<weld::Button> m_xBtn_LightSource_Color;
     std::unique_ptr<ColorListBox> m_xLB_AmbientLight;
diff --git a/chart2/source/controller/dialogs/tp_AxisLabel.cxx 
b/chart2/source/controller/dialogs/tp_AxisLabel.cxx
index 70e24ffeb40a..33faff6c5335 100644
--- a/chart2/source/controller/dialogs/tp_AxisLabel.cxx
+++ b/chart2/source/controller/dialogs/tp_AxisLabel.cxx
@@ -52,7 +52,7 @@ SchAxisLabelTabPage::SchAxisLabelTabPage(weld::Container* 
pPage, weld::DialogCon
     , m_xNfRotate(m_xBuilder->weld_metric_spin_button("OrientDegree", 
FieldUnit::DEGREE))
     , m_xCbStacked(m_xBuilder->weld_check_button("stackedCB"))
     , m_xFtTextDirection(m_xBuilder->weld_label("textdirL"))
-    , m_xLbTextDirection(new 
TextDirectionListBox(m_xBuilder->weld_combo_box("textdirLB")))
+    , m_aLbTextDirection(m_xBuilder->weld_combo_box("textdirLB"))
     , m_xCtrlDial(new svx::DialControl)
     , m_xCtrlDialWin(new weld::CustomWeld(*m_xBuilder, "dialCtrl", 
*m_xCtrlDial))
 {
@@ -71,7 +71,6 @@ SchAxisLabelTabPage::~SchAxisLabelTabPage()
 {
     m_xCtrlDialWin.reset();
     m_xCtrlDial.reset();
-    m_xLbTextDirection.reset();
 }
 
 std::unique_ptr<SfxTabPage> SchAxisLabelTabPage::Create(weld::Container* 
pPage, weld::DialogController* pController, const SfxItemSet* rAttrs)
@@ -123,8 +122,8 @@ bool SchAxisLabelTabPage::FillItemSet( SfxItemSet* 
rOutAttrs )
     if( m_xCbShowDescription->get_state() != TRISTATE_INDET )
         rOutAttrs->Put( SfxBoolItem( SCHATTR_AXIS_SHOWDESCR, 
m_xCbShowDescription->get_active() ) );
 
-    if (m_xLbTextDirection->get_active() != -1)
-        rOutAttrs->Put( SvxFrameDirectionItem( 
m_xLbTextDirection->get_active_id(), EE_PARA_WRITINGDIR ) );
+    if (m_aLbTextDirection.get_active() != -1)
+        rOutAttrs->Put( SvxFrameDirectionItem( 
m_aLbTextDirection.get_active_id(), EE_PARA_WRITINGDIR ) );
 
     return true;
 }
@@ -178,7 +177,7 @@ void SchAxisLabelTabPage::Reset( const SfxItemSet* rInAttrs 
)
     StackedToggleHdl(*m_xCbStacked);
 
     if( const SvxFrameDirectionItem* pDirectionItem = rInAttrs->GetItemIfSet( 
EE_PARA_WRITINGDIR ) )
-        m_xLbTextDirection->set_active_id( pDirectionItem->GetValue() );
+        m_aLbTextDirection.set_active_id( pDirectionItem->GetValue() );
 
     // Text overlap ----------
     aState = rInAttrs->GetItemState( SCHATTR_AXIS_LABEL_OVERLAP, false, 
&pPoolItem );
@@ -294,7 +293,7 @@ IMPL_LINK_NOARG(SchAxisLabelTabPage, ToggleShowLabel, 
weld::Toggleable&, void)
     m_xCbTextBreak->set_sensitive( bEnable );
 
     m_xFtTextDirection->set_sensitive( bEnable );
-    m_xLbTextDirection->set_sensitive( bEnable );
+    m_aLbTextDirection.set_sensitive( bEnable );
 }
 } //namespace chart
 
diff --git a/chart2/source/controller/dialogs/tp_AxisLabel.hxx 
b/chart2/source/controller/dialogs/tp_AxisLabel.hxx
index 201ff4825eb7..75704ec4e4d5 100644
--- a/chart2/source/controller/dialogs/tp_AxisLabel.hxx
+++ b/chart2/source/controller/dialogs/tp_AxisLabel.hxx
@@ -21,8 +21,8 @@
 #include <sfx2/tabdlg.hxx>
 #include <svx/dialcontrol.hxx>
 #include <tools/degree.hxx>
+#include <TextDirectionListBox.hxx>
 
-namespace chart { class TextDirectionListBox; }
 namespace weld {
     class CheckButton;
     class CustomWeld;
@@ -60,7 +60,7 @@ private:
     std::unique_ptr<weld::MetricSpinButton> m_xNfRotate;
     std::unique_ptr<weld::CheckButton> m_xCbStacked;
     std::unique_ptr<weld::Label> m_xFtTextDirection;
-    std::unique_ptr<TextDirectionListBox> m_xLbTextDirection;
+    TextDirectionListBox m_aLbTextDirection;
     std::unique_ptr<svx::DialControl> m_xCtrlDial;
     std::unique_ptr<weld::CustomWeld> m_xCtrlDialWin;
 
diff --git a/chart2/source/controller/dialogs/tp_LegendPosition.cxx 
b/chart2/source/controller/dialogs/tp_LegendPosition.cxx
index 00a0d54b1f51..21a889bf854f 100644
--- a/chart2/source/controller/dialogs/tp_LegendPosition.cxx
+++ b/chart2/source/controller/dialogs/tp_LegendPosition.cxx
@@ -30,14 +30,13 @@ namespace chart
 SchLegendPosTabPage::SchLegendPosTabPage(weld::Container* pPage, 
weld::DialogController* pController, const SfxItemSet& rInAttrs)
     : SfxTabPage(pPage, pController, "modules/schart/ui/tp_LegendPosition.ui", 
"tp_LegendPosition", &rInAttrs)
     , m_aLegendPositionResources(*m_xBuilder)
-    , m_xLbTextDirection(new 
TextDirectionListBox(m_xBuilder->weld_combo_box("LB_LEGEND_TEXTDIR")))
+    , m_aLbTextDirection(m_xBuilder->weld_combo_box("LB_LEGEND_TEXTDIR"))
     , m_xCBLegendNoOverlay(m_xBuilder->weld_check_button("CB_NO_OVERLAY"))
 {
 }
 
 SchLegendPosTabPage::~SchLegendPosTabPage()
 {
-    m_xLbTextDirection.reset();
 }
 
 std::unique_ptr<SfxTabPage> SchLegendPosTabPage::Create(weld::Container* 
pPage, weld::DialogController* pController, const SfxItemSet* rOutAttrs)
@@ -49,8 +48,8 @@ bool SchLegendPosTabPage::FillItemSet(SfxItemSet* rOutAttrs)
 {
     m_aLegendPositionResources.writeToItemSet(*rOutAttrs);
 
-    if (m_xLbTextDirection->get_active() != -1)
-        
rOutAttrs->Put(SvxFrameDirectionItem(m_xLbTextDirection->get_active_id(), 
EE_PARA_WRITINGDIR));
+    if (m_aLbTextDirection.get_active() != -1)
+        
rOutAttrs->Put(SvxFrameDirectionItem(m_aLbTextDirection.get_active_id(), 
EE_PARA_WRITINGDIR));
 
     if (m_xCBLegendNoOverlay->get_visible())
         rOutAttrs->Put(SfxBoolItem(SCHATTR_LEGEND_NO_OVERLAY, 
m_xCBLegendNoOverlay->get_active()));
@@ -63,7 +62,7 @@ void SchLegendPosTabPage::Reset(const SfxItemSet* rInAttrs)
     m_aLegendPositionResources.initFromItemSet(*rInAttrs);
 
     if( const SvxFrameDirectionItem* pDirectionItem = rInAttrs->GetItemIfSet( 
EE_PARA_WRITINGDIR ) )
-        m_xLbTextDirection->set_active_id( pDirectionItem->GetValue() );
+        m_aLbTextDirection.set_active_id( pDirectionItem->GetValue() );
 
     if (const SfxBoolItem* pNoOverlayItem = 
rInAttrs->GetItemIfSet(SCHATTR_LEGEND_NO_OVERLAY))
     {
diff --git a/chart2/source/controller/dialogs/tp_LegendPosition.hxx 
b/chart2/source/controller/dialogs/tp_LegendPosition.hxx
index 9e5f32d281a7..7a444694c3d8 100644
--- a/chart2/source/controller/dialogs/tp_LegendPosition.hxx
+++ b/chart2/source/controller/dialogs/tp_LegendPosition.hxx
@@ -21,8 +21,8 @@
 #include <sfx2/tabdlg.hxx>
 
 #include <res_LegendPosition.hxx>
-
-namespace chart { class TextDirectionListBox; }
+#include <TextDirectionListBox.hxx>
+#include <optional>
 
 namespace chart
 {
@@ -32,7 +32,7 @@ class SchLegendPosTabPage : public SfxTabPage
 private:
 
     LegendPositionResources  m_aLegendPositionResources;
-    std::unique_ptr<TextDirectionListBox> m_xLbTextDirection;
+    TextDirectionListBox m_aLbTextDirection;
     std::unique_ptr<weld::CheckButton> m_xCBLegendNoOverlay;
 
 public:
diff --git a/chart2/source/controller/dialogs/tp_TitleRotation.cxx 
b/chart2/source/controller/dialogs/tp_TitleRotation.cxx
index 243e773549e9..f3380042eb13 100644
--- a/chart2/source/controller/dialogs/tp_TitleRotation.cxx
+++ b/chart2/source/controller/dialogs/tp_TitleRotation.cxx
@@ -36,7 +36,7 @@ SchAlignmentTabPage::SchAlignmentTabPage(weld::Container* 
pPage, weld::DialogCon
     , m_xNfRotate(m_xBuilder->weld_metric_spin_button("OrientDegree", 
FieldUnit::DEGREE))
     , m_xCbStacked(m_xBuilder->weld_check_button("stackedCB"))
     , m_xFtABCD(m_xBuilder->weld_label("labelABCD"))
-    , m_xLbTextDirection(new 
TextDirectionListBox(m_xBuilder->weld_combo_box("textdirLB")))
+    , m_aLbTextDirection(m_xBuilder->weld_combo_box("textdirLB"))
     , m_xCtrlDial(new svx::DialControl)
     , m_xCtrlDialWin(new weld::CustomWeld(*m_xBuilder, "dialCtrl", 
*m_xCtrlDial))
 {
@@ -71,7 +71,6 @@ SchAlignmentTabPage::~SchAlignmentTabPage()
 {
     m_xCtrlDialWin.reset();
     m_xCtrlDial.reset();
-    m_xLbTextDirection.reset();
 }
 
 std::unique_ptr<SfxTabPage> SchAlignmentTabPage::Create(weld::Container* 
pPage, weld::DialogController* pController,
@@ -95,7 +94,7 @@ bool SchAlignmentTabPage::FillItemSet(SfxItemSet* rOutAttrs)
     Degree100 nDegrees = bStacked ? 0_deg100 : m_xCtrlDial->GetRotation();
     rOutAttrs->Put( SdrAngleItem( SCHATTR_TEXT_DEGREES, nDegrees ) );
 
-    SvxFrameDirection aDirection( m_xLbTextDirection->get_active_id() );
+    SvxFrameDirection aDirection( m_aLbTextDirection.get_active_id() );
     rOutAttrs->Put( SvxFrameDirectionItem( aDirection, EE_PARA_WRITINGDIR ) );
 
     return true;
@@ -114,7 +113,7 @@ void SchAlignmentTabPage::Reset(const SfxItemSet* rInAttrs)
     StackedToggleHdl(*m_xCbStacked);
 
     if( const SvxFrameDirectionItem* pDirectionItem = 
rInAttrs->GetItemIfSet(EE_PARA_WRITINGDIR) )
-        m_xLbTextDirection->set_active_id(pDirectionItem->GetValue());
+        m_aLbTextDirection.set_active_id(pDirectionItem->GetValue());
 }
 
 } //namespace chart
diff --git a/chart2/source/controller/dialogs/tp_TitleRotation.hxx 
b/chart2/source/controller/dialogs/tp_TitleRotation.hxx
index e12256275ddf..9d59b693f9a8 100644
--- a/chart2/source/controller/dialogs/tp_TitleRotation.hxx
+++ b/chart2/source/controller/dialogs/tp_TitleRotation.hxx
@@ -20,8 +20,8 @@
 
 #include <sfx2/tabdlg.hxx>
 #include <svx/dialcontrol.hxx>
+#include <TextDirectionListBox.hxx>
 
-namespace chart { class TextDirectionListBox; }
 namespace weld {
     class CheckButton;
     class CustomWeld;
@@ -40,7 +40,7 @@ private:
     std::unique_ptr<weld::MetricSpinButton> m_xNfRotate;
     std::unique_ptr<weld::CheckButton> m_xCbStacked;
     std::unique_ptr<weld::Label> m_xFtABCD;
-    std::unique_ptr<TextDirectionListBox> m_xLbTextDirection;
+    TextDirectionListBox m_aLbTextDirection;
     std::unique_ptr<svx::DialControl> m_xCtrlDial;
     std::unique_ptr<weld::CustomWeld> m_xCtrlDialWin;
 
commit ed6c132cfd3166045adca544939f8ad32979745d
Author:     Noel Grandin <[email protected]>
AuthorDate: Tue Mar 7 10:13:59 2023 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Tue Mar 7 09:41:39 2023 +0000

    no need to allocate these separately
    
    they are all one or two words in size
    
    Change-Id: Iebbe17f114b098337305d4f8f5c3835be4744c30
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148376
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx 
b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
index a5a341376838..20e05096d6c4 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
@@ -412,11 +412,11 @@ ParaPropertyPanel::ParaPropertyPanel(weld::Widget* 
pParent,
       mxTBxIndent(m_xBuilder->weld_toolbar("indent")),
       mxIndentDispatch(new ToolbarUnoDispatcher(*mxTBxIndent, *m_xBuilder, 
rxFrame)),
       //Paragraph spacing
-      mxTopDist(new 
SvxRelativeField(m_xBuilder->weld_metric_spin_button("aboveparaspacing", 
FieldUnit::CM))),
-      mxBottomDist(new 
SvxRelativeField(m_xBuilder->weld_metric_spin_button("belowparaspacing", 
FieldUnit::CM))),
-      mxLeftIndent(new 
SvxRelativeField(m_xBuilder->weld_metric_spin_button("beforetextindent", 
FieldUnit::CM))),
-      mxRightIndent(new 
SvxRelativeField(m_xBuilder->weld_metric_spin_button("aftertextindent", 
FieldUnit::CM))),
-      mxFLineIndent(new 
SvxRelativeField(m_xBuilder->weld_metric_spin_button("firstlineindent", 
FieldUnit::CM))),
+      mxTopDist(m_xBuilder->weld_metric_spin_button("aboveparaspacing", 
FieldUnit::CM)),
+      mxBottomDist(m_xBuilder->weld_metric_spin_button("belowparaspacing", 
FieldUnit::CM)),
+      mxLeftIndent(m_xBuilder->weld_metric_spin_button("beforetextindent", 
FieldUnit::CM)),
+      mxRightIndent(m_xBuilder->weld_metric_spin_button("aftertextindent", 
FieldUnit::CM)),
+      mxFLineIndent(m_xBuilder->weld_metric_spin_button("firstlineindent", 
FieldUnit::CM)),
       maTxtLeft (0),
       maUpper (0),
       maLower (0),
diff --git a/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx 
b/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
index b6e61ae018fe..04bbf9065375 100644
--- a/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
+++ b/svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
@@ -93,11 +93,11 @@ private:
     std::unique_ptr<ToolbarUnoDispatcher> mxIndentDispatch;
 
     //Paragraph spacing
-    std::unique_ptr<SvxRelativeField> mxTopDist;
-    std::unique_ptr<SvxRelativeField> mxBottomDist;
-    std::unique_ptr<SvxRelativeField> mxLeftIndent;
-    std::unique_ptr<SvxRelativeField> mxRightIndent;
-    std::unique_ptr<SvxRelativeField> mxFLineIndent;
+    std::optional<SvxRelativeField> mxTopDist;
+    std::optional<SvxRelativeField> mxBottomDist;
+    std::optional<SvxRelativeField> mxLeftIndent;
+    std::optional<SvxRelativeField> mxRightIndent;
+    std::optional<SvxRelativeField> mxFLineIndent;
 
     // Data Member
     tools::Long                maTxtLeft;
diff --git a/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx 
b/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx
index fa164dd024c6..f5968510e2ea 100644
--- a/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx
+++ b/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx
@@ -39,8 +39,8 @@ ParaULSpacingWindow::ParaULSpacingWindow(vcl::Window* pParent)
     : InterimItemWindow(pParent, "svx/ui/paraulspacing.ui", 
"ParaULSpacingWindow")
     , m_eUnit(MapUnit::MapTwip)
 {
-    m_xAboveSpacing = 
std::make_unique<SvxRelativeField>(m_xBuilder->weld_metric_spin_button("aboveparaspacing",
 FieldUnit::CM));
-    m_xBelowSpacing = 
std::make_unique<SvxRelativeField>(m_xBuilder->weld_metric_spin_button("belowparaspacing",
 FieldUnit::CM));
+    
m_xAboveSpacing.emplace(m_xBuilder->weld_metric_spin_button("aboveparaspacing", 
FieldUnit::CM));
+    
m_xBelowSpacing.emplace(m_xBuilder->weld_metric_spin_button("belowparaspacing", 
FieldUnit::CM));
     m_xAboveContainer = m_xBuilder->weld_container("above");
     m_xBelowContainer = m_xBuilder->weld_container("below");
 
@@ -135,9 +135,9 @@ ParaLRSpacingWindow::ParaLRSpacingWindow(vcl::Window* 
pParent)
     : InterimItemWindow(pParent, "svx/ui/paralrspacing.ui", 
"ParaLRSpacingWindow")
     , m_eUnit(MapUnit::MapTwip)
 {
-    m_xBeforeSpacing = 
std::make_unique<SvxRelativeField>(m_xBuilder->weld_metric_spin_button("beforetextindent",
 FieldUnit::CM));
-    m_xAfterSpacing = 
std::make_unique<SvxRelativeField>(m_xBuilder->weld_metric_spin_button("aftertextindent",
 FieldUnit::CM));
-    m_xFLSpacing = 
std::make_unique<SvxRelativeField>(m_xBuilder->weld_metric_spin_button("firstlineindent",
 FieldUnit::CM));
+    
m_xBeforeSpacing.emplace(m_xBuilder->weld_metric_spin_button("beforetextindent",
 FieldUnit::CM));
+    
m_xAfterSpacing.emplace(m_xBuilder->weld_metric_spin_button("aftertextindent", 
FieldUnit::CM));
+    
m_xFLSpacing.emplace(m_xBuilder->weld_metric_spin_button("firstlineindent", 
FieldUnit::CM));
     m_xBeforeContainer = m_xBuilder->weld_container("before");
     m_xAfterContainer = m_xBuilder->weld_container("after");
     m_xFirstLineContainer = m_xBuilder->weld_container("firstline");
diff --git a/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx 
b/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx
index f1730f93387b..139ae1b8f00f 100644
--- a/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx
+++ b/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx
@@ -39,8 +39,8 @@ public:
 protected:
     ParaULSpacingWindow(vcl::Window* pParent);
 
-    std::unique_ptr<SvxRelativeField> m_xAboveSpacing;
-    std::unique_ptr<SvxRelativeField> m_xBelowSpacing;
+    std::optional<SvxRelativeField> m_xAboveSpacing;
+    std::optional<SvxRelativeField> m_xBelowSpacing;
     std::unique_ptr<weld::Container> m_xAboveContainer;
     std::unique_ptr<weld::Container> m_xBelowContainer;
 
@@ -74,9 +74,9 @@ public:
 protected:
     ParaLRSpacingWindow(vcl::Window* pParent);
 
-    std::unique_ptr<SvxRelativeField> m_xBeforeSpacing;
-    std::unique_ptr<SvxRelativeField> m_xAfterSpacing;
-    std::unique_ptr<SvxRelativeField> m_xFLSpacing;
+    std::optional<SvxRelativeField> m_xBeforeSpacing;
+    std::optional<SvxRelativeField> m_xAfterSpacing;
+    std::optional<SvxRelativeField> m_xFLSpacing;
     std::unique_ptr<weld::Container> m_xBeforeContainer;
     std::unique_ptr<weld::Container> m_xAfterContainer;
     std::unique_ptr<weld::Container> m_xFirstLineContainer;

Reply via email to