[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - desktop/source sfx2/source svx/sdi sw/source

Szymon KÅ‚os (via logerrit) logerrit at kemper.freedesktop.org
Mon Aug 3 10:55:55 UTC 2020


 desktop/source/lib/init.cxx          |    3 +++
 sfx2/source/control/unoctitm.cxx     |    3 +++
 svx/sdi/svx.sdi                      |    6 +++---
 sw/source/uibase/shells/drwbassh.cxx |   26 ++++++++++++++++++++++++++
 4 files changed, 35 insertions(+), 3 deletions(-)

New commits:
commit ae323ad6c3df8c8185041fbfa89e6c315f6e0eab
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Mon Aug 3 12:37:06 2020 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Mon Aug 3 12:55:23 2020 +0200

    lok: state updates for vertical alignment
    
    Change-Id: I6767904e3d3366e1316c932555b979a26e77b8c5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99998
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index a930e2e2cd92..97ef1635c719 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2789,6 +2789,9 @@ static void doc_iniUnoCommands ()
         OUString(".uno:CharmapControl"),
         OUString(".uno:EnterGroup"),
         OUString(".uno:LeaveGroup"),
+        OUString(".uno:AlignUp"),
+        OUString(".uno:AlignMiddle"),
+        OUString(".uno:AlignDown"),
         OUString(".uno:FreezePanesRow")
     };
 
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index a7a14b40d81c..1cf61d9bab91 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -1012,6 +1012,9 @@ static void InterceptLOKStateChangeEvent(sal_uInt16 nSID, SfxViewFrame* pViewFra
         aEvent.FeatureURL.Path == "ObjectAlignLeft" ||
         aEvent.FeatureURL.Path == "ObjectAlignRight" ||
         aEvent.FeatureURL.Path == "AlignCenter" ||
+        aEvent.FeatureURL.Path == "AlignUp" ||
+        aEvent.FeatureURL.Path == "AlignMiddle" ||
+        aEvent.FeatureURL.Path == "AlignDown" ||
         aEvent.FeatureURL.Path == "FormatPaintbrush")
     {
         bool bTemp = false;
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index 5231ebe66fb6..e3cbeaa3adfc 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -124,7 +124,7 @@ SfxBoolItem AlignCenter SID_OBJECT_ALIGN_CENTER
 ]
 
 
-SfxVoidItem AlignDown SID_OBJECT_ALIGN_DOWN
+SfxBoolItem AlignDown SID_OBJECT_ALIGN_DOWN
 ()
 [
     AutoUpdate = FALSE,
@@ -179,7 +179,7 @@ SvxAdjustItem Alignment SID_ATTR_PARA_ADJUST
 ]
 
 
-SfxVoidItem AlignMiddle SID_OBJECT_ALIGN_MIDDLE
+SfxBoolItem AlignMiddle SID_OBJECT_ALIGN_MIDDLE
 ()
 [
     AutoUpdate = FALSE,
@@ -215,7 +215,7 @@ SfxBoolItem ObjectAlignRight SID_OBJECT_ALIGN_RIGHT
 ]
 
 
-SfxVoidItem AlignUp SID_OBJECT_ALIGN_UP
+SfxBoolItem AlignUp SID_OBJECT_ALIGN_UP
 ()
 [
     AutoUpdate = FALSE,
diff --git a/sw/source/uibase/shells/drwbassh.cxx b/sw/source/uibase/shells/drwbassh.cxx
index 277b5e092e04..b08e0fbc1f23 100644
--- a/sw/source/uibase/shells/drwbassh.cxx
+++ b/sw/source/uibase/shells/drwbassh.cxx
@@ -705,6 +705,8 @@ void SwDrawBaseShell::GetState(SfxItemSet& rSet)
                     bool bDisableHoriz = false;
                     bool bHoriz = (nWhich == SID_OBJECT_ALIGN_LEFT || nWhich == SID_OBJECT_ALIGN_CENTER ||
                             nWhich == SID_OBJECT_ALIGN_RIGHT);
+                    bool bVert = (nWhich == SID_OBJECT_ALIGN_UP || nWhich == SID_OBJECT_ALIGN_MIDDLE ||
+                            nWhich == SID_OBJECT_ALIGN_DOWN);
                     const SdrMarkList& rMarkList = pSdrView->GetMarkedObjectList();
                     if ( !rSh.IsAlignPossible() || bProtected )
                     {
@@ -748,6 +750,30 @@ void SwDrawBaseShell::GetState(SfxItemSet& rSet)
                         SwFormatHoriOrient aHOrient(pFrameFormat->GetFormatAttr(RES_HORI_ORIENT));
                         rSet.Put(SfxBoolItem(nWhich, aHOrient.GetHoriOrient() == nHoriOrient));
                     }
+
+                    if (bVert && !bDisableThis && rMarkList.GetMarkCount() == 1)
+                    {
+                        sal_Int16 nVertOrient = -1;
+                        switch(nWhich)
+                        {
+                            case SID_OBJECT_ALIGN_UP:
+                                nVertOrient = text::VertOrientation::TOP;
+                                break;
+                            case SID_OBJECT_ALIGN_MIDDLE:
+                                nVertOrient = text::VertOrientation::CENTER;
+                                break;
+                            case SID_OBJECT_ALIGN_DOWN:
+                                nVertOrient = text::VertOrientation::BOTTOM;
+                                break;
+                            default:
+                                break;
+                        }
+
+                        SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+                        SwFrameFormat* pFrameFormat = FindFrameFormat(pObj);
+                        SwFormatVertOrient aVOrient(pFrameFormat->GetFormatAttr(RES_VERT_ORIENT));
+                        rSet.Put(SfxBoolItem(nWhich, aVOrient.GetVertOrient() == nVertOrient));
+                    }
                 }
                 break;
 


More information about the Libreoffice-commits mailing list