[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - sd/source

Szymon Kłos (via logerrit) logerrit at kemper.freedesktop.org
Thu Nov 14 11:20:55 UTC 2019


 sd/source/ui/view/drtxtob.cxx |   50 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

New commits:
commit 29733bb39a16fc0e1398a7c18781226cfe755ff3
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Thu Nov 14 11:05:40 2019 +0100
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Thu Nov 14 12:20:08 2019 +0100

    jsdialog: send paragraph margins for impress
    
    Change-Id: Ie0d4d3dc33de66609c005b77c1ef9802446ad57c
    Reviewed-on: https://gerrit.libreoffice.org/82658
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/sd/source/ui/view/drtxtob.cxx b/sd/source/ui/view/drtxtob.cxx
index 28903c556424..b1faba5c269d 100644
--- a/sd/source/ui/view/drtxtob.cxx
+++ b/sd/source/ui/view/drtxtob.cxx
@@ -48,6 +48,9 @@
 #include <editeng/writingmodeitem.hxx>
 #include <editeng/frmdiritem.hxx>
 #include <editeng/fhgtitem.hxx>
+#include <comphelper/lok.hxx>
+#include <LibreOfficeKit/LibreOfficeKitEnums.h>
+#include <editeng/itemtype.hxx>
 
 #include <sfx2/objface.hxx>
 
@@ -457,14 +460,38 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
                 nEndPara = pOLV->GetOutliner()->GetParagraphCount() - 1;
             }
             long nUpper = 0;
+            OUString sUpper, sLower;
+            // TODO: set correct unit
+            MapUnit eTargetUnit = MapUnit::MapInch;
+
             for( sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++ )
             {
                 const SfxItemSet& rItems = pOLV->GetOutliner()->GetParaAttribs( nPara );
                 const SvxULSpaceItem& rItem = rItems.Get( EE_PARA_ULSPACE );
                 nUpper = std::max( nUpper, static_cast<long>(rItem.GetUpper()) );
+
+                if (nPara == nStartPara)
+                {
+                    sUpper = GetMetricText(rItem.GetUpper(),
+                        MapUnit::MapTwip, eTargetUnit, nullptr);
+                }
+                if (nPara == nEndPara)
+                {
+                    sLower = GetMetricText(rItem.GetLower(),
+                        MapUnit::MapTwip, eTargetUnit, nullptr);
+                }
             }
             if( nUpper == 0 )
                 rSet.DisableItem( SID_PARASPACE_DECREASE );
+
+            if (comphelper::LibreOfficeKit::isActive())
+            {
+                OUString sPayload = ".uno:ULSpacing={\"upper\": \"" + sUpper +
+                    "\", \"lower\": \"" + sLower + "\"}";
+
+                GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED,
+                    OUStringToOString(sPayload, RTL_TEXTENCODING_ASCII_US).getStr());
+            }
         }
         else
         {
@@ -567,6 +594,29 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
         aLRSpace.SetWhich(SID_ATTR_PARA_LRSPACE);
         rSet.Put(aLRSpace);
         Invalidate(SID_ATTR_PARA_LRSPACE);
+
+        if (comphelper::LibreOfficeKit::isActive())
+        {
+            // TODO: set correct unit
+            MapUnit eTargetUnit = MapUnit::MapInch;
+
+            OUString sLeft = GetMetricText(aLRSpace.GetLeft(),
+                                MapUnit::MapTwip, eTargetUnit, nullptr);
+
+            OUString sRight = GetMetricText(aLRSpace.GetRight(),
+                                MapUnit::MapTwip, eTargetUnit, nullptr);
+
+            OUString sFirstline = GetMetricText(aLRSpace.GetTextFirstLineOfst(),
+                                MapUnit::MapTwip, eTargetUnit, nullptr);
+
+            OUString sPayload = ".uno:LeftRightParaMargin={\"left\": \"" + sLeft +
+                "\", \"right\": \"" + sRight +
+                "\", \"firstline\": \"" + sFirstline + "\"}";
+
+            GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED,
+                OUStringToOString(sPayload, RTL_TEXTENCODING_ASCII_US).getStr());
+        }
+
         //Added by xuxu
         SfxItemState eState = aAttrSet.GetItemState( EE_PARA_LRSPACE );
         if ( eState == SfxItemState::DONTCARE )


More information about the Libreoffice-commits mailing list