[Libreoffice-commits] core.git: 3 commits - include/svx sc/source sd/source svx/source

Matteo Casalin matteo.casalin at yahoo.com
Fri Dec 8 15:21:31 UTC 2017


 include/svx/svddrgv.hxx          |   16 +++++++++-------
 include/svx/svdmrkv.hxx          |    4 ++--
 sc/source/ui/drawfunc/fudraw.cxx |    2 +-
 sd/source/ui/func/fudraw.cxx     |    2 +-
 svx/source/svdraw/svddrgv.cxx    |   18 ++++++------------
 svx/source/svdraw/svdmrkv.cxx    |   26 ++++++++++++--------------
 6 files changed, 31 insertions(+), 37 deletions(-)

New commits:
commit 8f4c5a34b9e8704035c6ec770fc2947eb9964502
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sun Nov 26 21:51:26 2017 +0100

    GetMarkableObjCount() is only compared against 1
    
    Change-Id: I390b260fe481c7db73a065dd271c78a5df188ccc

diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index 21b6df1583ab..3fba52b0453e 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -199,7 +199,8 @@ public:
     void SetFrameHandles(bool bOn);
     bool IsFrameHandles() const { return mbForceFrameHandles; }
 
-    sal_uIntPtr GetMarkableObjCount() const;
+    // returns true if number of markable objects is greater than 1
+    bool HasMultipleMarkableObjects() const;
 
     void SetEditMode(SdrViewEditMode eMode);
     SdrViewEditMode GetEditMode() const { return meEditMode; }
diff --git a/sc/source/ui/drawfunc/fudraw.cxx b/sc/source/ui/drawfunc/fudraw.cxx
index 5fbd8d9ab608..630d3abc4818 100644
--- a/sc/source/ui/drawfunc/fudraw.cxx
+++ b/sc/source/ui/drawfunc/fudraw.cxx
@@ -271,7 +271,7 @@ bool FuDraw::KeyInput(const KeyEvent& rKEvt)
                     if(!pView->MarkNextObj( !aCode.IsShift() ))
                     {
                         //If there is only one object, don't do the UnmarkAllObj() & MarkNextObj().
-                        if ( pView->GetMarkableObjCount() > 1 && pView->HasMarkableObj() )
+                        if ( pView->HasMultipleMarkableObjects() && pView->HasMarkableObj() )
                         {
                             // No next object: go over open end and
                             // get first from the other side
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index bf1d2ba36699..008321e0b0ee 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -372,7 +372,7 @@ bool FuDraw::KeyInput(const KeyEvent& rKEvt)
                 if(!mpView->MarkNextObj( !aCode.IsShift() ))
                 {
                     //If there is only one object, don't do the UnmarkAllObj() & MarkNextObj().
-                    if ( mpView->GetMarkableObjCount() > 1 && mpView->AreObjectsMarked() )
+                    if ( mpView->HasMultipleMarkableObjects() && mpView->AreObjectsMarked() )
                     {
                         // No next object: go over open end and get first from
                         // the other side
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 9fc9f3a0bf0c..d02758a6eee8 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -522,23 +522,22 @@ void SdrMarkView::BrkMarkGluePoints()
     }
 }
 
-sal_uIntPtr SdrMarkView::GetMarkableObjCount() const
+bool SdrMarkView::HasMultipleMarkableObjects() const
 {
-    sal_uIntPtr nCount=0;
     SdrPageView* pPV = GetSdrPageView();
+    if (!pPV)
+        return false;
 
-    if(pPV)
-    {
-        SdrObjList* pOL=pPV->GetObjList();
-        const size_t nObjCount = pOL->GetObjCount();
-        for (size_t nObjNum=0; nObjNum<nObjCount; ++nObjNum) {
-            SdrObject* pObj=pOL->GetObj(nObjNum);
-            if (IsObjMarkable(pObj,pPV)) {
-                nCount++;
-            }
-        }
+    int nCount=0;
+    SdrObjList* pOL=pPV->GetObjList();
+    const size_t nObjCount = pOL->GetObjCount();
+    for (size_t nObjNum=0; nObjNum<nObjCount; ++nObjNum) {
+        SdrObject* pObj=pOL->GetObj(nObjNum);
+        if (IsObjMarkable(pObj,pPV) && ++nCount>1)
+            return true;
     }
-    return nCount;
+
+    return false;
 }
 
 bool SdrMarkView::HasMarkableObj() const
commit d67eaa235db15853b3b454f2ef45c9a72529a3dc
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sun Nov 26 17:02:32 2017 +0100

    Remove unneeded data member
    
    Change-Id: I9d007f67e5f6024b1eaea10669a915ffd33d7c29

diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index acea4c514145..21b6df1583ab 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -114,7 +114,6 @@ protected:
     tools::Rectangle            maMarkedGluePointsRect;
 
     sal_uInt16                  mnFrameHandlesLimit;
-    sal_uIntPtr                 mnInsPointNum;      // Number of the InsPoint
 
     SdrDragMode                 meDragMode;      // Persistent
     SdrViewEditMode             meEditMode;      // Persistent
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index 2716bf42ea49..252dfd456b9b 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -642,14 +642,10 @@ bool SdrDragView::ImpBegInsObjPoint(bool bIdxZwang, const Point& rPnt, bool bNew
 
         bool bClosed0 = pMarkedPath->IsClosedObj();
 
-        if(bIdxZwang)
-        {
-            mnInsPointNum = pMarkedPath->NbcInsPoint(aPt, bNewObj);
-        }
-        else
-        {
-            mnInsPointNum = pMarkedPath->NbcInsPointOld(aPt, bNewObj);
-        }
+        const sal_uInt32 nInsPointNum { bIdxZwang
+            ? pMarkedPath->NbcInsPoint(aPt, bNewObj)
+            : pMarkedPath->NbcInsPointOld(aPt, bNewObj)
+        };
 
         if(bClosed0 != pMarkedPath->IsClosedObj())
         {
@@ -659,13 +655,13 @@ bool SdrDragView::ImpBegInsObjPoint(bool bIdxZwang, const Point& rPnt, bool bNew
             pMarkedPath->BroadcastObjectChange();
         }
 
-        if(0xffffffff != mnInsPointNum)
+        if (nInsPointNum != SAL_MAX_UINT32)
         {
             mbInsPolyPoint = true;
             UnmarkAllPoints();
             AdjustMarkHdl();
 
-            bRet = BegDragObj(rPnt, pOut, maHdlList.GetHdl(mnInsPointNum), 0);
+            bRet = BegDragObj(rPnt, pOut, maHdlList.GetHdl(nInsPointNum), 0);
 
             if (bRet)
             {
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 23e5cfdf8822..9fc9f3a0bf0c 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -133,7 +133,6 @@ void SdrMarkView::ImpClearVars()
     mbPlusHdlAlways=false;
     mnFrameHandlesLimit=50;
     mbInsPolyPoint=false;
-    mnInsPointNum = 0;
     mbMarkedObjRectDirty=false;
     mbMarkedPointsRectsDirty=false;
     mbMarkHandlesHidden = false;
commit 985f95215785a7eecd37e2b8eeb7fd232de850df
Author: Matteo Casalin <matteo.casalin at yahoo.com>
Date:   Sun Nov 26 11:21:08 2017 +0100

    Data members to enums
    
    After 1d852b32d7ad89b2317c04958060f366f8922ca4 these data members
    were initialized only in constructor and never changed afterwards,
    behaving de-facto as constants.
    Convert them to an enum and take the chance to change their type
    from sal_uIntPtr to size_t.
    
    Change-Id: Ief33b7d3cfd3e181837f77c5b8a51812e314121d

diff --git a/include/svx/svddrgv.hxx b/include/svx/svddrgv.hxx
index e3b0e153e641..067b954b7d73 100644
--- a/include/svx/svddrgv.hxx
+++ b/include/svx/svddrgv.hxx
@@ -30,6 +30,12 @@ class SVX_DLLPUBLIC SdrDragView: public SdrExchangeView
     friend class                SdrPageView;
     friend class                SdrDragMethod;
 
+    // See GetDragXorPolyLimit/GetDragXorPointLimit
+    enum : size_t {
+        eDragXorPolyLimit = 100,
+        eDragXorPointLimit = 500
+    };
+
 protected:
     SdrHdl*                     mpDragHdl;
     SdrDragMethod*              mpCurrentSdrDragMethod;
@@ -38,9 +44,6 @@ protected:
     OUString                    maInsPointUndoStr;
     SdrHdlKind                  meDragHdl;
 
-    sal_uIntPtr                 mnDragXorPolyLimit;
-    sal_uIntPtr                 mnDragXorPointLimit;
-
     bool                        mbFramDrag : 1;        // currently frame dragging
     bool                        mbMarkedHitMovesAlways : 1; // Persistent
     bool                        mbDragLimit : 1;      // Limit on SnapRect instead of BoundRect
@@ -150,14 +153,13 @@ public:
     // If the number of selected objects exceeds the value set here,
     // NoDragPolys is (temporarily) activated implicitly.
     // PolyPolygons etc. are regarded as multiple objects respectively.
-    // Default=100
-    sal_uIntPtr GetDragXorPolyLimit() const { return mnDragXorPolyLimit; }
+    size_t GetDragXorPolyLimit() const { return eDragXorPolyLimit; }
 
     // Like DragXorPolyLimit, but in respect to the total number of
-    // all polygons. Default=500.
+    // all polygons.
     // NoDragPolys is (temporarily) activated, if one of the limits
     // is exceeded.
-    sal_uIntPtr GetDragXorPointLimit() const { return mnDragXorPointLimit; }
+    size_t GetDragXorPointLimit() const { return eDragXorPointLimit; }
 
     void SetSolidDragging(bool bOn);
     bool IsSolidDragging() const;
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index d5734123d5f9..2716bf42ea49 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -63,8 +63,6 @@ void SdrDragView::ImpClearVars()
     mbInsGluePoint=false;
     mbInsObjPointMode=false;
     mbInsGluePointMode=false;
-    mnDragXorPolyLimit=100;
-    mnDragXorPointLimit=500;
     mbNoDragXorPolys=false;
     mbResizeAtCenter=false;
     mbCrookAtCenter=false;


More information about the Libreoffice-commits mailing list