summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <eszkadev@gmail.com>2017-03-28 10:40:16 +0200
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2017-04-04 15:40:30 +0000
commit387cdc35d79cd3dd235e4bb61e01e17d8781630a (patch)
treecd6c834dd8961c746a1c360fd4552d84bf213f80
parentd9064ecf03b28a0b5015ccac20c2d0fa5bb66767 (diff)
Notebookbar: Separated paragraph spacing controls
One big paragraph spacing control was splitted to separated widgets. It will be possible to reuse that in the sidebar. Also layout is better because explicit size setting is no longer needed. Change-Id: Ieb200af4a9a6120ae03b22b27da56256aa816193 Reviewed-on: https://gerrit.libreoffice.org/35801 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
-rw-r--r--include/editeng/editids.hrc5
-rw-r--r--include/svx/ParaSpacingControl.hxx47
-rw-r--r--svx/sdi/svx.sdi98
-rw-r--r--svx/source/sidebar/paragraph/ParaSpacingControl.cxx91
-rw-r--r--svx/source/sidebar/paragraph/ParaSpacingWindow.cxx58
-rw-r--r--svx/source/sidebar/paragraph/ParaSpacingWindow.hxx44
-rw-r--r--svx/uiconfig/ui/paralrspacing.ui81
-rw-r--r--svx/uiconfig/ui/paraulspacing.ui62
-rw-r--r--sw/sdi/_annotsh.sdi25
-rw-r--r--sw/sdi/_textsh.sdi12
-rw-r--r--sw/sdi/_viewsh.sdi25
-rw-r--r--sw/sdi/drwtxtsh.sdi25
-rw-r--r--sw/source/uibase/app/swmodule.cxx7
-rw-r--r--sw/source/uibase/shells/annotsh.cxx16
-rw-r--r--sw/source/uibase/shells/drwtxtex.cxx14
-rw-r--r--sw/source/uibase/shells/txtattr.cxx5
-rw-r--r--sw/source/uibase/uiview/viewtab.cxx14
-rw-r--r--sw/uiconfig/swriter/ui/notebookbar.ui91
18 files changed, 567 insertions, 153 deletions
diff --git a/include/editeng/editids.hrc b/include/editeng/editids.hrc
index 3f2fd5f65d66..94099c8943a5 100644
--- a/include/editeng/editids.hrc
+++ b/include/editeng/editids.hrc
@@ -68,8 +68,13 @@
#define SID_ATTR_PARA_WIDOWS ( SID_SVX_START + 41 )
#define SID_ATTR_PARA_ULSPACE ( SID_SVX_START + 42 )
#define SID_ATTR_PARA_LRSPACE ( SID_SVX_START + 43 )
+#define SID_ATTR_PARA_LEFTSPACE ( SID_SVX_START + 44 )
+#define SID_ATTR_PARA_RIGHTSPACE ( SID_SVX_START + 45 )
+#define SID_ATTR_PARA_FIRSTLINESPACE ( SID_SVX_START + 46 )
+#define SID_ATTR_PARA_BELOWSPACE ( SID_SVX_START + 47 )
#define SID_ATTR_LRSPACE ( SID_SVX_START + 48 )
#define SID_ATTR_ULSPACE ( SID_SVX_START + 49 )
+#define SID_ATTR_PARA_ABOVESPACE ( SID_SVX_START + 64 )
#define SID_ATTR_PARA_MODEL ( SID_SVX_START + 65 )
#define SID_ATTR_PARA_KEEP ( SID_SVX_START + 66 )
#define SID_ATTR_CHAR_AUTOKERN ( SID_SVX_START + 67 )
diff --git a/include/svx/ParaSpacingControl.hxx b/include/svx/ParaSpacingControl.hxx
index 6efecb8b5289..cefcc81dee30 100644
--- a/include/svx/ParaSpacingControl.hxx
+++ b/include/svx/ParaSpacingControl.hxx
@@ -38,6 +38,24 @@ public:
virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState,
const SfxPoolItem* pState) override;
+ virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override = 0;
+};
+
+class SVX_DLLPUBLIC ParaAboveSpacingControl : public ParaULSpacingControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ ParaAboveSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx);
+ virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
+};
+
+class SVX_DLLPUBLIC ParaBelowSpacingControl : public ParaULSpacingControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ ParaBelowSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx);
virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
};
@@ -54,7 +72,7 @@ public:
virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState,
const SfxPoolItem* pState) override;
- virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
+ virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override = 0;
// XContextChangeEventListener
virtual void SAL_CALL notifyContextChangeEvent(const css::ui::ContextChangeEventObject& rEvent) override;
@@ -71,6 +89,33 @@ private:
css::uno::Reference<css::ui::XContextChangeEventMultiplexer> m_xMultiplexer;
};
+class SVX_DLLPUBLIC ParaLeftSpacingControl : public ParaLRSpacingControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ ParaLeftSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx);
+ virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
+};
+
+class SVX_DLLPUBLIC ParaRightSpacingControl : public ParaLRSpacingControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ ParaRightSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx);
+ virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
+};
+
+class SVX_DLLPUBLIC ParaFirstLineSpacingControl : public ParaLRSpacingControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ ParaFirstLineSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx);
+ virtual VclPtr<vcl::Window> CreateItemWindow(vcl::Window* pParent) override;
+};
+
}
#endif
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index 5cd64b4fb6e6..3356f768c946 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -5195,6 +5195,66 @@ SfxVoidItem LeftRightParaMargin SID_ATTR_PARA_LRSPACE
]
+SfxVoidItem LeftParaMargin SID_ATTR_PARA_LEFTSPACE
+
+[
+ AutoUpdate = FALSE,
+ FastCall = TRUE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+
+ SlotType = SvxLRSpaceItem
+
+ AccelConfig = FALSE,
+ MenuConfig = FALSE,
+ ToolBoxConfig = FALSE,
+ GroupId = GID_FORMAT;
+]
+
+
+SfxVoidItem FirstLineParaMargin SID_ATTR_PARA_FIRSTLINESPACE
+
+[
+ AutoUpdate = FALSE,
+ FastCall = TRUE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+
+ SlotType = SvxLRSpaceItem
+
+ AccelConfig = FALSE,
+ MenuConfig = FALSE,
+ ToolBoxConfig = FALSE,
+ GroupId = GID_FORMAT;
+]
+
+
+SfxVoidItem RightParaMargin SID_ATTR_PARA_RIGHTSPACE
+
+[
+ AutoUpdate = FALSE,
+ FastCall = TRUE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+
+ SlotType = SvxLRSpaceItem
+
+ AccelConfig = FALSE,
+ MenuConfig = FALSE,
+ ToolBoxConfig = FALSE,
+ GroupId = GID_FORMAT;
+]
+
+
SfxVoidItem LeftRightParaMargin_Vertical SID_ATTR_PARA_LRSPACE_VERTICAL
(SvxLRSpaceItem LRSpace SID_ATTR_PARA_LRSPACE_VERTICAL)
[
@@ -5506,6 +5566,44 @@ SvxULSpaceItem ULSpacing SID_ATTR_PARA_ULSPACE
]
+SvxULSpaceItem AboveSpacing SID_ATTR_PARA_ABOVESPACE
+
+[
+ AutoUpdate = FALSE,
+ FastCall = FALSE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+
+
+ AccelConfig = FALSE,
+ MenuConfig = FALSE,
+ ToolBoxConfig = FALSE,
+ GroupId = GID_FORMAT;
+]
+
+
+SvxULSpaceItem BelowSpacing SID_ATTR_PARA_BELOWSPACE
+
+[
+ AutoUpdate = FALSE,
+ FastCall = FALSE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+
+
+ AccelConfig = FALSE,
+ MenuConfig = FALSE,
+ ToolBoxConfig = FALSE,
+ GroupId = GID_FORMAT;
+]
+
+
SvxLineItem LineStyle SID_FRAME_LINESTYLE
[
diff --git a/svx/source/sidebar/paragraph/ParaSpacingControl.cxx b/svx/source/sidebar/paragraph/ParaSpacingControl.cxx
index b966cd9fbc13..eea13fb4d039 100644
--- a/svx/source/sidebar/paragraph/ParaSpacingControl.cxx
+++ b/svx/source/sidebar/paragraph/ParaSpacingControl.cxx
@@ -30,8 +30,12 @@
using namespace svx;
-SFX_IMPL_TOOLBOX_CONTROL(ParaULSpacingControl, SvxULSpaceItem);
-SFX_IMPL_TOOLBOX_CONTROL(ParaLRSpacingControl, SvxLRSpaceItem);
+SFX_IMPL_TOOLBOX_CONTROL(ParaAboveSpacingControl, SvxULSpaceItem);
+SFX_IMPL_TOOLBOX_CONTROL(ParaBelowSpacingControl, SvxULSpaceItem);
+
+SFX_IMPL_TOOLBOX_CONTROL(ParaLeftSpacingControl, SvxLRSpaceItem);
+SFX_IMPL_TOOLBOX_CONTROL(ParaRightSpacingControl, SvxLRSpaceItem);
+SFX_IMPL_TOOLBOX_CONTROL(ParaFirstLineSpacingControl, SvxLRSpaceItem);
ParaULSpacingControl::ParaULSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx)
: SfxToolBoxControl(nSlotId, nId, rTbx)
@@ -64,13 +68,38 @@ void ParaULSpacingControl::StateChanged(sal_uInt16 nSID, SfxItemState eState,
const SfxUInt16Item* pMetricItem = static_cast<const SfxUInt16Item*>(pState);
pWindow->SetUnit((FieldUnit)pMetricItem->GetValue());
}
- else if(nSID == SID_ATTR_PARA_ULSPACE && pState && eState >= SfxItemState::DEFAULT)
+ else if((nSID == SID_ATTR_PARA_ULSPACE
+ || nSID == SID_ATTR_PARA_ABOVESPACE
+ || nSID == SID_ATTR_PARA_BELOWSPACE )
+ && pState && eState >= SfxItemState::DEFAULT)
pWindow->SetValue(static_cast<const SvxULSpaceItem*>(pState));
}
-VclPtr<vcl::Window> ParaULSpacingControl::CreateItemWindow(vcl::Window* pParent)
+// ParaAboveSpacingControl
+
+ParaAboveSpacingControl::ParaAboveSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx)
+ : ParaULSpacingControl(nSlotId, nId, rTbx)
+{
+}
+
+VclPtr<vcl::Window> ParaAboveSpacingControl::CreateItemWindow(vcl::Window* pParent)
+{
+ VclPtr<ParaAboveSpacingWindow> pWindow = VclPtr<ParaAboveSpacingWindow>::Create(pParent, m_xFrame);
+ pWindow->Show();
+
+ return pWindow;
+}
+
+// ParaBelowSpacingControl
+
+ParaBelowSpacingControl::ParaBelowSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx)
+ : ParaULSpacingControl(nSlotId, nId, rTbx)
+{
+}
+
+VclPtr<vcl::Window> ParaBelowSpacingControl::CreateItemWindow(vcl::Window* pParent)
{
- VclPtr<ParaULSpacingWindow> pWindow = VclPtr<ParaULSpacingWindow>::Create(pParent, m_xFrame);
+ VclPtr<ParaBelowSpacingWindow> pWindow = VclPtr<ParaBelowSpacingWindow>::Create(pParent, m_xFrame);
pWindow->Show();
return pWindow;
@@ -113,13 +142,12 @@ void ParaLRSpacingControl::StateChanged(sal_uInt16 nSID, SfxItemState eState,
else
pWindow->Enable();
- if(!m_xMultiplexer.is())
+ if(!m_xMultiplexer.is() && m_xFrame.is())
{
m_xMultiplexer = css::ui::ContextChangeEventMultiplexer::get(
::comphelper::getProcessComponentContext());
- if(m_xFrame.is())
- m_xMultiplexer->addContextChangeEventListener(this, m_xFrame->getController());
+ m_xMultiplexer->addContextChangeEventListener(this, m_xFrame->getController());
}
if(nSID == SID_ATTR_METRIC && pState && eState >= SfxItemState::DEFAULT)
@@ -127,7 +155,11 @@ void ParaLRSpacingControl::StateChanged(sal_uInt16 nSID, SfxItemState eState,
const SfxUInt16Item* pMetricItem = static_cast<const SfxUInt16Item*>(pState);
pWindow->SetUnit((FieldUnit)pMetricItem->GetValue());
}
- else if(nSID == SID_ATTR_PARA_LRSPACE)
+ else if(nSID == SID_ATTR_PARA_LRSPACE
+ || nSID == SID_ATTR_PARA_LEFTSPACE
+ || nSID == SID_ATTR_PARA_RIGHTSPACE
+ || nSID == SID_ATTR_PARA_FIRSTLINESPACE
+ )
{
pWindow->SetValue(eState, pState);
}
@@ -172,9 +204,46 @@ void SAL_CALL ParaLRSpacingControl::release() throw ()
SfxToolBoxControl::release();
}
-VclPtr<vcl::Window> ParaLRSpacingControl::CreateItemWindow(vcl::Window* pParent)
+// ParaLeftSpacingControl
+
+ParaLeftSpacingControl::ParaLeftSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx)
+: ParaLRSpacingControl(nSlotId, nId, rTbx)
+{
+}
+
+VclPtr<vcl::Window> ParaLeftSpacingControl::CreateItemWindow(vcl::Window* pParent)
+{
+ VclPtr<ParaLeftSpacingWindow> pWindow = VclPtr<ParaLeftSpacingWindow>::Create(pParent, m_xFrame);
+ pWindow->Show();
+
+ return pWindow;
+}
+
+// ParaRightSpacingControl
+
+ParaRightSpacingControl::ParaRightSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx)
+: ParaLRSpacingControl(nSlotId, nId, rTbx)
+{
+}
+
+VclPtr<vcl::Window> ParaRightSpacingControl::CreateItemWindow(vcl::Window* pParent)
+{
+ VclPtr<ParaRightSpacingWindow> pWindow = VclPtr<ParaRightSpacingWindow>::Create(pParent, m_xFrame);
+ pWindow->Show();
+
+ return pWindow;
+}
+
+// ParaFirstLineSpacingControl
+
+ParaFirstLineSpacingControl::ParaFirstLineSpacingControl(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx)
+: ParaLRSpacingControl(nSlotId, nId, rTbx)
+{
+}
+
+VclPtr<vcl::Window> ParaFirstLineSpacingControl::CreateItemWindow(vcl::Window* pParent)
{
- VclPtr<ParaLRSpacingWindow> pWindow = VclPtr<ParaLRSpacingWindow>::Create(pParent, m_xFrame);
+ VclPtr<ParaFirstLineSpacingWindow> pWindow = VclPtr<ParaFirstLineSpacingWindow>::Create(pParent, m_xFrame);
pWindow->Show();
return pWindow;
diff --git a/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx b/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx
index 8225df98ebf2..542fcfe034dd 100644
--- a/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx
+++ b/svx/source/sidebar/paragraph/ParaSpacingWindow.cxx
@@ -45,6 +45,8 @@ ParaULSpacingWindow::ParaULSpacingWindow(vcl::Window* pParent, css::uno::Referen
get(m_pAboveSpacing, "aboveparaspacing");
get(m_pBelowSpacing, "belowparaspacing");
+ get(m_pAboveContainer, "above");
+ get(m_pBelowContainer, "below");
Link<Edit&,void> aLink = LINK(this, ParaULSpacingWindow, ModifySpacingHdl);
m_pAboveSpacing->SetModifyHdl(aLink);
@@ -60,6 +62,8 @@ void ParaULSpacingWindow::dispose()
{
m_pAboveSpacing.clear();
m_pBelowSpacing.clear();
+ m_pAboveContainer.clear();
+ m_pBelowContainer.clear();
disposeBuilder();
VclVBox::dispose();
@@ -101,6 +105,24 @@ IMPL_LINK_NOARG(ParaULSpacingWindow, ModifySpacingHdl, Edit&, void)
}
}
+// ParaAboveSpacingWindow
+
+ParaAboveSpacingWindow::ParaAboveSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame)
+ : ParaULSpacingWindow(pParent, xFrame)
+{
+ m_pAboveContainer->Show();
+ m_pBelowContainer->Hide();
+}
+
+// ParaBelowSpacingWindow
+
+ParaBelowSpacingWindow::ParaBelowSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame)
+ : ParaULSpacingWindow(pParent, xFrame)
+{
+ m_pAboveContainer->Hide();
+ m_pBelowContainer->Show();
+}
+
// ParaLRSpacingWindow
ParaLRSpacingWindow::ParaLRSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame)
@@ -115,6 +137,9 @@ ParaLRSpacingWindow::ParaLRSpacingWindow(vcl::Window* pParent, css::uno::Referen
get(m_pBeforeSpacing, "beforetextindent");
get(m_pAfterSpacing, "aftertextindent");
get(m_pFLSpacing, "firstlineindent");
+ get(m_pBeforeContainer, "before");
+ get(m_pAfterContainer, "after");
+ get(m_pFirstLineContainer, "firstline");
Link<Edit&,void> aLink = LINK(this, ParaLRSpacingWindow, ModifySpacingHdl);
m_pBeforeSpacing->SetModifyHdl(aLink);
@@ -132,6 +157,9 @@ void ParaLRSpacingWindow::dispose()
m_pBeforeSpacing.clear();
m_pAfterSpacing.clear();
m_pFLSpacing.clear();
+ m_pBeforeContainer.clear();
+ m_pAfterContainer.clear();
+ m_pFirstLineContainer.clear();
disposeBuilder();
VclVBox::dispose();
@@ -264,4 +292,34 @@ IMPL_LINK_NOARG(ParaLRSpacingWindow, ModifySpacingHdl, Edit&, void)
}
}
+// ParaLeftSpacingWindow
+
+ParaLeftSpacingWindow::ParaLeftSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame)
+ : ParaLRSpacingWindow(pParent, xFrame)
+{
+ m_pBeforeContainer->Show();
+ m_pAfterContainer->Hide();
+ m_pFirstLineContainer->Hide();
+}
+
+// ParaRightSpacingWindow
+
+ParaRightSpacingWindow::ParaRightSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame)
+ : ParaLRSpacingWindow(pParent, xFrame)
+{
+ m_pBeforeContainer->Hide();
+ m_pAfterContainer->Show();
+ m_pFirstLineContainer->Hide();
+}
+
+// ParaFirstLineSpacingWindow
+
+ParaFirstLineSpacingWindow::ParaFirstLineSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame)
+ : ParaLRSpacingWindow(pParent, xFrame)
+{
+ m_pBeforeContainer->Hide();
+ m_pAfterContainer->Hide();
+ m_pFirstLineContainer->Show();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx b/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx
index b0fbcea4d4ec..ecce558671f6 100644
--- a/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx
+++ b/svx/source/sidebar/paragraph/ParaSpacingWindow.hxx
@@ -38,27 +38,40 @@ class ParaULSpacingWindow : public VclVBox,
{
public:
- explicit ParaULSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
virtual ~ParaULSpacingWindow() override;
virtual void dispose() override;
void SetValue(const SvxULSpaceItem* pItem);
void SetUnit(FieldUnit eUnit);
-private:
+protected:
+ ParaULSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
VclPtr<SvxRelativeField> m_pAboveSpacing;
VclPtr<SvxRelativeField> m_pBelowSpacing;
+ VclPtr<VclHBox> m_pAboveContainer;
+ VclPtr<VclHBox> m_pBelowContainer;
MapUnit m_eUnit;
DECL_LINK(ModifySpacingHdl, Edit&, void);
};
+class ParaAboveSpacingWindow : public ParaULSpacingWindow
+{
+public:
+ explicit ParaAboveSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
+};
+
+class ParaBelowSpacingWindow : public ParaULSpacingWindow
+{
+public:
+ explicit ParaBelowSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
+};
+
class ParaLRSpacingWindow : public VclVBox,
public VclBuilderContainer
{
public:
- explicit ParaLRSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
virtual ~ParaLRSpacingWindow() override;
virtual void dispose() override;
@@ -66,10 +79,15 @@ public:
void SetUnit(FieldUnit eUnit);
void SetContext(const vcl::EnumContext& eContext);
-private:
+protected:
+ ParaLRSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
+
VclPtr<SvxRelativeField> m_pBeforeSpacing;
VclPtr<SvxRelativeField> m_pAfterSpacing;
VclPtr<SvxRelativeField> m_pFLSpacing;
+ VclPtr<VclHBox> m_pBeforeContainer;
+ VclPtr<VclHBox> m_pAfterContainer;
+ VclPtr<VclHBox> m_pFirstLineContainer;
MapUnit m_eUnit;
@@ -78,6 +96,24 @@ private:
DECL_LINK(ModifySpacingHdl, Edit&, void);
};
+class ParaLeftSpacingWindow : public ParaLRSpacingWindow
+{
+public:
+ explicit ParaLeftSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
+};
+
+class ParaRightSpacingWindow : public ParaLRSpacingWindow
+{
+public:
+ explicit ParaRightSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
+};
+
+class ParaFirstLineSpacingWindow : public ParaLRSpacingWindow
+{
+public:
+ explicit ParaFirstLineSpacingWindow(vcl::Window* pParent, css::uno::Reference<css::frame::XFrame>& xFrame);
+};
+
}
#endif
diff --git a/svx/uiconfig/ui/paralrspacing.ui b/svx/uiconfig/ui/paralrspacing.ui
index a8da5617d745..0e0cd5b45929 100644
--- a/svx/uiconfig/ui/paralrspacing.ui
+++ b/svx/uiconfig/ui/paralrspacing.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<requires lib="LibreOffice" version="1.0"/>
@@ -11,10 +11,8 @@
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="row_spacing">1</property>
- <property name="column_spacing">6</property>
<child>
- <object class="GtkBox" id="box67">
+ <object class="GtkBox" id="before">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
@@ -24,7 +22,7 @@
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
- <property name="pixbuf">svx/res/symphony/Indent4.png</property>
+ <property name="pixbuf">svx/res/symphony/Indent2.png</property>
</object>
<packing>
<property name="expand">False</property>
@@ -33,15 +31,18 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label11">
+ <object class="svxlo-SvxRelativeField" id="beforetextindent">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Before</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Before Text Indent</property>
+ <property name="invisible_char">•</property>
+ <property name="text">0</property>
+ <property name="progress_fraction">0.10000000000000001</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -51,21 +52,7 @@
</packing>
</child>
<child>
- <object class="svxlo-SvxRelativeField" id="beforetextindent">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">Before Text Indent</property>
- <property name="invisible_char">•</property>
- <property name="text">0</property>
- <property name="progress_fraction">0.10000000000000001</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="box66">
+ <object class="GtkBox" id="after">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
@@ -75,7 +62,7 @@
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
- <property name="pixbuf">svx/res/symphony/Indent3.png</property>
+ <property name="pixbuf">svx/res/symphony/Indent2.png</property>
</object>
<packing>
<property name="expand">False</property>
@@ -84,15 +71,17 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label12">
+ <object class="svxlo-SvxRelativeField" id="aftertextindent">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">After</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">After Text Indent</property>
+ <property name="invisible_char">•</property>
+ <property name="text">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -102,20 +91,7 @@
</packing>
</child>
<child>
- <object class="svxlo-SvxRelativeField" id="aftertextindent">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">After Text Indent</property>
- <property name="invisible_char">•</property>
- <property name="text">0</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="box30">
+ <object class="GtkBox" id="firstline">
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
@@ -133,18 +109,6 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label13">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">First line</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
<object class="svxlo-SvxRelativeField" id="firstlineindent">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -160,13 +124,10 @@
</child>
</object>
<packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/svx/uiconfig/ui/paraulspacing.ui b/svx/uiconfig/ui/paraulspacing.ui
index c81bb6a8b377..db62128f1a4f 100644
--- a/svx/uiconfig/ui/paraulspacing.ui
+++ b/svx/uiconfig/ui/paraulspacing.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<requires lib="LibreOffice" version="1.0"/>
@@ -19,7 +19,7 @@
<property name="row_spacing">1</property>
<property name="column_spacing">6</property>
<child>
- <object class="GtkBox" id="box27">
+ <object class="GtkBox" id="above">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
@@ -29,7 +29,7 @@
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
- <property name="pixbuf">svx/res/symphony/spacing1.png</property>
+ <property name="pixbuf">svx/res/symphony/spacing2.png</property>
</object>
<packing>
<property name="expand">False</property>
@@ -38,15 +38,19 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label2">
+ <object class="svxlo-SvxRelativeField" id="aboveparaspacing">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Above</property>
+ <property name="can_focus">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip_text" translatable="yes">Above Paragraph Spacing</property>
+ <property name="invisible_char">•</property>
+ <property name="text">0</property>
+ <property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -56,7 +60,7 @@
</packing>
</child>
<child>
- <object class="GtkBox" id="box28">
+ <object class="GtkBox" id="below">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
@@ -75,15 +79,19 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label10">
+ <object class="svxlo-SvxRelativeField" id="belowparaspacing">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Below</property>
+ <property name="can_focus">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip_text" translatable="yes">Below Paragraph Spacing</property>
+ <property name="invisible_char">•</property>
+ <property name="text">0</property>
+ <property name="adjustment">adjustment1</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
@@ -92,36 +100,6 @@
<property name="top_attach">1</property>
</packing>
</child>
- <child>
- <object class="svxlo-SvxRelativeField" id="aboveparaspacing">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip_text" translatable="yes">Above Paragraph Spacing</property>
- <property name="invisible_char">•</property>
- <property name="text">0</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="svxlo-SvxRelativeField" id="belowparaspacing">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip_text" translatable="yes">Below Paragraph Spacing</property>
- <property name="invisible_char">•</property>
- <property name="text">0</property>
- <property name="adjustment">adjustment1</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
diff --git a/sw/sdi/_annotsh.sdi b/sw/sdi/_annotsh.sdi
index e3f9164ea03c..58c5c9581c10 100644
--- a/sw/sdi/_annotsh.sdi
+++ b/sw/sdi/_annotsh.sdi
@@ -190,6 +190,21 @@ interface _Annotation
StateMethod = GetState ;
]
+ SID_ATTR_PARA_LEFTSPACE
+ [
+ StateMethod = GetState ;
+ ]
+
+ SID_ATTR_PARA_RIGHTSPACE
+ [
+ StateMethod = GetState ;
+ ]
+
+ SID_ATTR_PARA_FIRSTLINESPACE
+ [
+ StateMethod = GetState ;
+ ]
+
SID_ATTR_PARA_LINESPACE
[
ExecMethod = Exec;
@@ -202,6 +217,16 @@ interface _Annotation
StateMethod = GetState ;
]
+ SID_ATTR_PARA_ABOVESPACE
+ [
+ StateMethod = GetState ;
+ ]
+
+ SID_ATTR_PARA_BELOWSPACE
+ [
+ StateMethod = GetState ;
+ ]
+
SID_PARASPACE_INCREASE
[
ExecMethod = Exec;
diff --git a/sw/sdi/_textsh.sdi b/sw/sdi/_textsh.sdi
index d691e8e216e1..b15de6f2cfeb 100644
--- a/sw/sdi/_textsh.sdi
+++ b/sw/sdi/_textsh.sdi
@@ -1233,6 +1233,18 @@ interface BaseText
ExecMethod = Execute ;
StateMethod = GetAttrState;
]
+ SID_ATTR_PARA_LEFTSPACE
+ [
+ StateMethod = GetAttrState ;
+ ]
+ SID_ATTR_PARA_RIGHTSPACE
+ [
+ StateMethod = GetAttrState ;
+ ]
+ SID_ATTR_PARA_FIRSTLINESPACE
+ [
+ StateMethod = GetAttrState ;
+ ]
FN_SELECT_PARA // status(final|play)
[
ExecMethod = Execute ;
diff --git a/sw/sdi/_viewsh.sdi b/sw/sdi/_viewsh.sdi
index 8c85e38b7b19..bc40a4dd8940 100644
--- a/sw/sdi/_viewsh.sdi
+++ b/sw/sdi/_viewsh.sdi
@@ -213,6 +213,21 @@ interface BaseTextEditView
StateMethod = StateTabWin ;
DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
]
+ SID_ATTR_PARA_LEFTSPACE
+ [
+ StateMethod = StateTabWin ;
+ DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+ ]
+ SID_ATTR_PARA_RIGHTSPACE
+ [
+ StateMethod = StateTabWin ;
+ DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+ ]
+ SID_ATTR_PARA_FIRSTLINESPACE
+ [
+ StateMethod = StateTabWin ;
+ DisableFlags="SfxDisableFlags::SwOnProtectedCursor";
+ ]
SID_ATTR_PARA_LRSPACE_VERTICAL // status()
[
ExecMethod = ExecTabWin ;
@@ -428,6 +443,16 @@ interface BaseTextEditView
StateMethod = StateTabWin ;
]
+ SID_ATTR_PARA_ABOVESPACE
+ [
+ StateMethod = StateTabWin ;
+ ]
+
+ SID_ATTR_PARA_BELOWSPACE
+ [
+ StateMethod = StateTabWin ;
+ ]
+
SID_PARASPACE_INCREASE
[
ExecMethod = ExecTabWin;
diff --git a/sw/sdi/drwtxtsh.sdi b/sw/sdi/drwtxtsh.sdi
index 80085545b181..c2898fb066e0 100644
--- a/sw/sdi/drwtxtsh.sdi
+++ b/sw/sdi/drwtxtsh.sdi
@@ -213,6 +213,21 @@ interface TextDrawText
StateMethod = GetState ;
]
+ SID_ATTR_PARA_LEFTSPACE
+ [
+ StateMethod = GetState ;
+ ]
+
+ SID_ATTR_PARA_RIGHTSPACE
+ [
+ StateMethod = GetState ;
+ ]
+
+ SID_ATTR_PARA_FIRSTLINESPACE
+ [
+ StateMethod = GetState ;
+ ]
+
SID_PARASPACE_INCREASE
[
ExecMethod = Execute;
@@ -239,6 +254,16 @@ interface TextDrawText
StateMethod = GetState ;
]
+ SID_ATTR_PARA_BELOWSPACE
+ [
+ StateMethod = GetState ;
+ ]
+
+ SID_ATTR_PARA_ABOVESPACE
+ [
+ StateMethod = GetState ;
+ ]
+
SID_ATTR_PARA_ADJUST_LEFT // api:
[
ExecMethod = Execute ;
diff --git a/sw/source/uibase/app/swmodule.cxx b/sw/source/uibase/app/swmodule.cxx
index 88ef18e5cdb8..bdbcd5fef3a8 100644
--- a/sw/source/uibase/app/swmodule.cxx
+++ b/sw/source/uibase/app/swmodule.cxx
@@ -290,8 +290,11 @@ void SwDLL::RegisterControls()
svx::ParaLineSpacingPopup::RegisterControl(SID_ATTR_PARA_LINESPACE, pMod);
svx::TextCharacterSpacingPopup::RegisterControl(SID_ATTR_CHAR_KERNING, pMod);
svx::TextUnderlinePopup::RegisterControl(SID_ATTR_CHAR_UNDERLINE, pMod);
- svx::ParaULSpacingControl::RegisterControl(SID_ATTR_PARA_ULSPACE, pMod);
- svx::ParaLRSpacingControl::RegisterControl(SID_ATTR_PARA_LRSPACE, pMod);
+ svx::ParaAboveSpacingControl::RegisterControl(SID_ATTR_PARA_ABOVESPACE, pMod);
+ svx::ParaBelowSpacingControl::RegisterControl(SID_ATTR_PARA_BELOWSPACE, pMod);
+ svx::ParaLeftSpacingControl::RegisterControl(SID_ATTR_PARA_LEFTSPACE, pMod);
+ svx::ParaRightSpacingControl::RegisterControl(SID_ATTR_PARA_RIGHTSPACE, pMod);
+ svx::ParaFirstLineSpacingControl::RegisterControl(SID_ATTR_PARA_FIRSTLINESPACE, pMod);
PageMarginPopup::RegisterControl(SID_ATTR_PAGE_MARGIN, pMod);
PageOrientationPopup::RegisterControl(SID_ATTR_PAGE_ORIENTATION, pMod);
PageColumnPopup::RegisterControl(SID_ATTR_PAGE_COLUMN, pMod);
diff --git a/sw/source/uibase/shells/annotsh.cxx b/sw/source/uibase/shells/annotsh.cxx
index 296345a4d3b6..93a10ee30cac 100644
--- a/sw/source/uibase/shells/annotsh.cxx
+++ b/sw/source/uibase/shells/annotsh.cxx
@@ -642,12 +642,15 @@ void SwAnnotationShell::GetState(SfxItemSet& rSet)
switch( nSlotId )
{
case SID_ATTR_PARA_LRSPACE:
+ case SID_ATTR_PARA_LEFTSPACE:
+ case SID_ATTR_PARA_RIGHTSPACE:
+ case SID_ATTR_PARA_FIRSTLINESPACE:
{
SfxItemState eState = aEditAttr.GetItemState( EE_PARA_LRSPACE );
if( eState >= SfxItemState::DEFAULT )
{
SvxLRSpaceItem aLR = static_cast<const SvxLRSpaceItem&>( aEditAttr.Get( EE_PARA_LRSPACE ) );
- aLR.SetWhich(SID_ATTR_PARA_LRSPACE);
+ aLR.SetWhich(nSlotId);
rSet.Put(aLR);
}
else
@@ -667,6 +670,8 @@ void SwAnnotationShell::GetState(SfxItemSet& rSet)
}
break;
case SID_ATTR_PARA_ULSPACE:
+ case SID_ATTR_PARA_ABOVESPACE:
+ case SID_ATTR_PARA_BELOWSPACE:
case SID_PARASPACE_INCREASE:
case SID_PARASPACE_DECREASE:
{
@@ -678,9 +683,12 @@ void SwAnnotationShell::GetState(SfxItemSet& rSet)
rSet.DisableItem( SID_PARASPACE_DECREASE );
else if ( aULSpace.GetUpper() >= 5670 && aULSpace.GetLower() >= 5670 )
rSet.DisableItem( SID_PARASPACE_INCREASE );
- if ( nSlotId == SID_ATTR_PARA_ULSPACE )
+ if ( nSlotId == SID_ATTR_PARA_ULSPACE
+ || nSlotId == SID_ATTR_PARA_BELOWSPACE
+ || nSlotId == SID_ATTR_PARA_ABOVESPACE
+ )
{
- aULSpace.SetWhich(SID_ATTR_PARA_ULSPACE);
+ aULSpace.SetWhich(nSlotId);
rSet.Put(aULSpace);
}
}
@@ -689,6 +697,8 @@ void SwAnnotationShell::GetState(SfxItemSet& rSet)
rSet.DisableItem( SID_PARASPACE_INCREASE );
rSet.DisableItem( SID_PARASPACE_DECREASE );
rSet.InvalidateItem( SID_ATTR_PARA_ULSPACE );
+ rSet.InvalidateItem( SID_ATTR_PARA_ABOVESPACE );
+ rSet.InvalidateItem( SID_ATTR_PARA_BELOWSPACE );
}
}
break;
diff --git a/sw/source/uibase/shells/drwtxtex.cxx b/sw/source/uibase/shells/drwtxtex.cxx
index 59d12c4fcb97..04e1b6738a46 100644
--- a/sw/source/uibase/shells/drwtxtex.cxx
+++ b/sw/source/uibase/shells/drwtxtex.cxx
@@ -647,6 +647,9 @@ ASK_ADJUST:
break;
case SID_ATTR_PARA_LRSPACE:
+ case SID_ATTR_PARA_LEFTSPACE:
+ case SID_ATTR_PARA_RIGHTSPACE:
+ case SID_ATTR_PARA_FIRSTLINESPACE:
{
SfxItemState eState = aEditAttr.GetItemState(EE_PARA_LRSPACE);
if( eState >= SfxItemState::DEFAULT )
@@ -674,6 +677,8 @@ ASK_ADJUST:
}
break;
case SID_ATTR_PARA_ULSPACE:
+ case SID_ATTR_PARA_BELOWSPACE:
+ case SID_ATTR_PARA_ABOVESPACE:
case SID_PARASPACE_INCREASE:
case SID_PARASPACE_DECREASE:
{
@@ -685,9 +690,12 @@ ASK_ADJUST:
rSet.DisableItem( SID_PARASPACE_DECREASE );
else if ( aULSpace.GetUpper() >= 5670 && aULSpace.GetLower() >= 5670 )
rSet.DisableItem( SID_PARASPACE_INCREASE );
- if ( nSlotId == SID_ATTR_PARA_ULSPACE )
+ if ( nSlotId == SID_ATTR_PARA_ULSPACE
+ || nSlotId == SID_ATTR_PARA_ABOVESPACE
+ || nSlotId == SID_ATTR_PARA_BELOWSPACE
+ )
{
- aULSpace.SetWhich(SID_ATTR_PARA_ULSPACE);
+ aULSpace.SetWhich(nSlotId);
rSet.Put(aULSpace);
}
}
@@ -696,6 +704,8 @@ ASK_ADJUST:
rSet.DisableItem( SID_PARASPACE_INCREASE );
rSet.DisableItem( SID_PARASPACE_DECREASE );
rSet.InvalidateItem( SID_ATTR_PARA_ULSPACE );
+ rSet.InvalidateItem( SID_ATTR_PARA_ABOVESPACE );
+ rSet.InvalidateItem( SID_ATTR_PARA_BELOWSPACE );
}
nSlotId = 0;
}
diff --git a/sw/source/uibase/shells/txtattr.cxx b/sw/source/uibase/shells/txtattr.cxx
index 5b478b23348a..a2313ff8bca3 100644
--- a/sw/source/uibase/shells/txtattr.cxx
+++ b/sw/source/uibase/shells/txtattr.cxx
@@ -718,12 +718,15 @@ void SwTextShell::GetAttrState(SfxItemSet &rSet)
nSlot = 0;
break;
case SID_ATTR_PARA_LRSPACE:
+ case SID_ATTR_PARA_LEFTSPACE:
+ case SID_ATTR_PARA_RIGHTSPACE:
+ case SID_ATTR_PARA_FIRSTLINESPACE:
{
eState = aCoreSet.GetItemState(RES_LR_SPACE);
if( eState >= SfxItemState::DEFAULT )
{
SvxLRSpaceItem aLR = static_cast<const SvxLRSpaceItem&>( aCoreSet.Get( RES_LR_SPACE ) );
- aLR.SetWhich(SID_ATTR_PARA_LRSPACE);
+ aLR.SetWhich(nSlot);
rSet.Put(aLR);
}
else
diff --git a/sw/source/uibase/uiview/viewtab.cxx b/sw/source/uibase/uiview/viewtab.cxx
index 91d61c453fb5..d30dbdb9be68 100644
--- a/sw/source/uibase/uiview/viewtab.cxx
+++ b/sw/source/uibase/uiview/viewtab.cxx
@@ -1423,6 +1423,9 @@ void SwView::StateTabWin(SfxItemSet& rSet)
case SID_ATTR_PARA_LRSPACE_VERTICAL:
case SID_ATTR_PARA_LRSPACE:
+ case SID_ATTR_PARA_LEFTSPACE:
+ case SID_ATTR_PARA_RIGHTSPACE:
+ case SID_ATTR_PARA_FIRSTLINESPACE:
{
if ( nSelType & nsSelectionType::SEL_GRF ||
nSelType & nsSelectionType::SEL_FRM ||
@@ -1462,6 +1465,8 @@ void SwView::StateTabWin(SfxItemSet& rSet)
}
case SID_ATTR_PARA_ULSPACE:
+ case SID_ATTR_PARA_ABOVESPACE:
+ case SID_ATTR_PARA_BELOWSPACE:
case SID_PARASPACE_INCREASE:
case SID_PARASPACE_DECREASE:
{
@@ -1473,9 +1478,12 @@ void SwView::StateTabWin(SfxItemSet& rSet)
rSet.DisableItem( SID_PARASPACE_DECREASE );
else if ( aUL.GetUpper() >= 5670 && aUL.GetLower() >= 5670 )
rSet.DisableItem( SID_PARASPACE_INCREASE );
- if ( nWhich == SID_ATTR_PARA_ULSPACE )
+ if ( nWhich == SID_ATTR_PARA_ULSPACE
+ || nWhich == SID_ATTR_PARA_ABOVESPACE
+ || nWhich == SID_ATTR_PARA_BELOWSPACE
+ )
{
- aUL.SetWhich( SID_ATTR_PARA_ULSPACE );
+ aUL.SetWhich( nWhich );
rSet.Put( aUL );
}
}
@@ -1484,6 +1492,8 @@ void SwView::StateTabWin(SfxItemSet& rSet)
rSet.DisableItem( SID_PARASPACE_INCREASE );
rSet.DisableItem( SID_PARASPACE_DECREASE );
rSet.InvalidateItem( SID_ATTR_PARA_ULSPACE );
+ rSet.InvalidateItem( SID_ATTR_PARA_ABOVESPACE );
+ rSet.InvalidateItem( SID_ATTR_PARA_BELOWSPACE );
}
}
break;
diff --git a/sw/uiconfig/swriter/ui/notebookbar.ui b/sw/uiconfig/swriter/ui/notebookbar.ui
index 9313942dc3b7..9b53ceefd75d 100644
--- a/sw/uiconfig/swriter/ui/notebookbar.ui
+++ b/sw/uiconfig/swriter/ui/notebookbar.ui
@@ -2653,26 +2653,35 @@
<property name="orientation">horizontal</property>
<property name="valign">center</property>
<child>
- <object class="sfxlo-NotebookbarToolBox" id="ulspacing">
- <property name="width_request">200</property>
- <property name="height_request">75</property>
+ <object class="GtkBox" id="box160">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip_text" translatable="yes">Indent</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkToolButton" id="ULSpacing">
- <property name="use_action_appearance">False</property>
+ <object class="sfxlo-NotebookbarToolBox" id="ulspacing">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="is_important">True</property>
- <property name="action_name">.uno:ULSpacing</property>
- <property name="use_underline">True</property>
+ <property name="has_tooltip">True</property>
+ <property name="tooltip_text" translatable="yes">Indent</property>
+ <child>
+ <object class="GtkToolButton" id="ULSpacing">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:ULSpacing</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
- <property name="homogeneous">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
</packing>
</child>
</object>
@@ -2683,33 +2692,65 @@
</packing>
</child>
<child>
- <object class="sfxlo-NotebookbarToolBox" id="lrspacing">
- <property name="width_request">200</property>
- <property name="height_request">75</property>
+ <object class="GtkBox" id="box161">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="has_tooltip">True</property>
- <property name="tooltip_text" translatable="yes">Indent</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkToolButton" id="LeftRightParaMargin">
- <property name="use_action_appearance">False</property>
+ <object class="sfxlo-NotebookbarToolBox" id="leftspacing">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="is_important">True</property>
- <property name="action_name">.uno:LeftRightParaMargin</property>
- <property name="use_underline">True</property>
+ <child>
+ <object class="GtkToolButton" id="LeftParaMargin">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:LeftParaMargin</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
- <property name="homogeneous">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="sfxlo-NotebookbarToolBox" id="rightspacing">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkToolButton" id="RightParaMargin">
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="is_important">True</property>
+ <property name="action_name">.uno:RightParaMargin</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">0</property>
</packing>
</child>
</object>