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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
