From 2dd29409d8a70fba4d393652d8879c8a9acd0d48 Mon Sep 17 00:00:00 2001 From: Szymon Kłos Date: Wed, 6 Jan 2021 11:44:43 +0100 Subject: lok: send chart line width updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I4c9c4a977df12a1cefb81cfbcac73b61ff26e488 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108843 Tested-by: Jenkins CollaboraOffice Reviewed-by: Andras Timar Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108925 Reviewed-by: Szymon Kłos --- chart2/source/controller/sidebar/ChartLinePanel.cxx | 21 +++++++++++++++++++++ chart2/source/controller/sidebar/ChartLinePanel.hxx | 2 ++ include/svx/sidebar/LinePropertyPanelBase.hxx | 5 +++-- svx/source/sidebar/line/LinePropertyPanelBase.cxx | 2 +- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/chart2/source/controller/sidebar/ChartLinePanel.cxx b/chart2/source/controller/sidebar/ChartLinePanel.cxx index daf6045b244f..6436b9184acb 100644 --- a/chart2/source/controller/sidebar/ChartLinePanel.cxx +++ b/chart2/source/controller/sidebar/ChartLinePanel.cxx @@ -26,6 +26,10 @@ #include #include +#include +#include +#include + namespace chart { namespace sidebar { namespace { @@ -203,6 +207,11 @@ void ChartLinePanel::updateData() XLineStyleItem aStyleItem(eStyle); updateLineStyle(false, true, &aStyleItem); + sal_uInt32 nWidth; + xPropSet->getPropertyValue("LineWidth") >>= nWidth; + XLineWidthItem aWidthItem(nWidth); + updateLineWidth(false, true, &aWidthItem); + css::uno::Any aLineDashName = xPropSet->getPropertyValue("LineDashName"); OUString aDashName; aLineDashName >>= aDashName; @@ -330,6 +339,18 @@ void ChartLinePanel::setLineWidth(const XLineWidthItem& rItem) xPropSet->setPropertyValue("LineWidth", css::uno::Any(rItem.GetValue())); } +void ChartLinePanel::updateLineWidth(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem) +{ + LinePropertyPanelBase::updateLineWidth(bDisabled, bSetOrDefault, pItem); + + SfxViewShell* pViewShell = SfxViewShell::Current(); + if (comphelper::LibreOfficeKit::isActive() && pViewShell) + { + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, + (".uno:LineWidth=" + std::to_string(mnWidthCoreValue)).c_str()); + } +} + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/controller/sidebar/ChartLinePanel.hxx b/chart2/source/controller/sidebar/ChartLinePanel.hxx index c0b3d19fd579..f04571ef9c00 100644 --- a/chart2/source/controller/sidebar/ChartLinePanel.hxx +++ b/chart2/source/controller/sidebar/ChartLinePanel.hxx @@ -73,6 +73,8 @@ protected: virtual void setLineJoint(const XLineJointItem* pItem) override; virtual void setLineCap(const XLineCapItem* pItem) override; + virtual void updateLineWidth(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem) override; + private: css::uno::Reference mxModel; diff --git a/include/svx/sidebar/LinePropertyPanelBase.hxx b/include/svx/sidebar/LinePropertyPanelBase.hxx index 2def46e3b524..3154a9444e53 100644 --- a/include/svx/sidebar/LinePropertyPanelBase.hxx +++ b/include/svx/sidebar/LinePropertyPanelBase.hxx @@ -94,7 +94,7 @@ protected: void updateLineStyle(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); void updateLineDash(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); void updateLineTransparence(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); - void updateLineWidth(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); + virtual void updateLineWidth(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); void updateLineStart(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); void updateLineEnd(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); void updateLineJoint(bool bDisabled, bool bSetOrDefault, const SfxPoolItem* pItem); @@ -115,6 +115,8 @@ protected: VclPtr mpTBColor; + sal_Int32 mnWidthCoreValue; + private: //ui controls VclPtr mpFTWidth; @@ -136,7 +138,6 @@ private: sal_uInt16 mnTrans; MapUnit meMapUnit; - sal_Int32 mnWidthCoreValue; XLineEndListRef mxLineEndList; XDashListRef mxLineStyleList; std::unique_ptr mpStartItem; diff --git a/svx/source/sidebar/line/LinePropertyPanelBase.cxx b/svx/source/sidebar/line/LinePropertyPanelBase.cxx index 75a703949610..79df3a88a460 100644 --- a/svx/source/sidebar/line/LinePropertyPanelBase.cxx +++ b/svx/source/sidebar/line/LinePropertyPanelBase.cxx @@ -166,11 +166,11 @@ LinePropertyPanelBase::LinePropertyPanelBase( vcl::Window* pParent, const uno::Reference& rxFrame) : PanelLayout(pParent, "LinePropertyPanel", "svx/ui/sidebarline.ui", rxFrame), + mnWidthCoreValue(0), mpStyleItem(), mpDashItem(), mnTrans(0), meMapUnit(MapUnit::MapMM), - mnWidthCoreValue(0), mpStartItem(), mpEndItem(), mxLineWidthPopup(VclPtr::Create(*this)), -- cgit