[Libreoffice-commits] core.git: sc/source sc/uiconfig

Maxim Monastirsky momonasmon at gmail.com
Sun Feb 28 22:05:53 UTC 2016


 sc/source/ui/drawfunc/fuconpol.cxx     |    8 ++++++++
 sc/source/ui/drawfunc/fupoor.cxx       |    8 +++++---
 sc/uiconfig/scalc/toolbar/linesbar.xml |   11 +++++------
 3 files changed, 18 insertions(+), 9 deletions(-)

New commits:
commit 2b24b6b6c3b18d7d934b3f76cc7a787c498ece4a
Author: Maxim Monastirsky <momonasmon at gmail.com>
Date:   Mon Feb 29 00:01:01 2016 +0200

    Related: tdf#89646 sc: Fix some issues with the new tools
    
    - Fix default object creation (by holding CTRL).
    - Fix Polygon (45°) tools (inverted SHIFT effect via
      doConstructOrthogonal).
    - Toolbar layout similar to Impress/Draw.
    
    Change-Id: Ib4e4aec1560599201c00e0726c29021763d773ad

diff --git a/sc/source/ui/drawfunc/fuconpol.cxx b/sc/source/ui/drawfunc/fuconpol.cxx
index 0e0e9bf..001f7f3 100644
--- a/sc/source/ui/drawfunc/fuconpol.cxx
+++ b/sc/source/ui/drawfunc/fuconpol.cxx
@@ -231,9 +231,13 @@ void FuConstPolygon::Deactivate()
 // Create default drawing objects via keyboard
 SdrObject* FuConstPolygon::CreateDefaultObject(const sal_uInt16 nID, const Rectangle& rRectangle)
 {
+    // case SID_DRAW_XPOLYGON:
+    // case SID_DRAW_XPOLYGON_NOFILL:
     // case SID_DRAW_POLYGON:
     // case SID_DRAW_POLYGON_NOFILL:
+    // case SID_DRAW_BEZIER_FILL:
     // case SID_DRAW_BEZIER_NOFILL:
+    // case SID_DRAW_FREELINE:
     // case SID_DRAW_FREELINE_NOFILL:
 
     SdrObject* pObj = SdrObjFactory::MakeNewObject(
@@ -248,6 +252,7 @@ SdrObject* FuConstPolygon::CreateDefaultObject(const sal_uInt16 nID, const Recta
 
             switch(nID)
             {
+                case SID_DRAW_BEZIER_FILL:
                 case SID_DRAW_BEZIER_NOFILL:
                 {
                     basegfx::B2DPolygon aInnerPoly;
@@ -269,6 +274,7 @@ SdrObject* FuConstPolygon::CreateDefaultObject(const sal_uInt16 nID, const Recta
                     aPoly.append(aInnerPoly);
                     break;
                 }
+                case SID_DRAW_FREELINE:
                 case SID_DRAW_FREELINE_NOFILL:
                 {
                     basegfx::B2DPolygon aInnerPoly;
@@ -288,6 +294,8 @@ SdrObject* FuConstPolygon::CreateDefaultObject(const sal_uInt16 nID, const Recta
                     aPoly.append(aInnerPoly);
                     break;
                 }
+                case SID_DRAW_XPOLYGON:
+                case SID_DRAW_XPOLYGON_NOFILL:
                 case SID_DRAW_POLYGON:
                 case SID_DRAW_POLYGON_NOFILL:
                 {
diff --git a/sc/source/ui/drawfunc/fupoor.cxx b/sc/source/ui/drawfunc/fupoor.cxx
index 2b09d57..6cdc50e 100644
--- a/sc/source/ui/drawfunc/fupoor.cxx
+++ b/sc/source/ui/drawfunc/fupoor.cxx
@@ -289,18 +289,17 @@ void FuPoor::ImpForceQuadratic(Rectangle& rRect)
 bool FuPoor::doConstructOrthogonal() const
 {
     // Detect whether we're moving an object or resizing.
-    bool bIsMoveMode = false;
     if (pView->IsDragObj())
     {
         const SdrHdl* pHdl = pView->GetDragStat().GetHdl();
         if (!pHdl || (!pHdl->IsCornerHdl() && !pHdl->IsVertexHdl()))
         {
-            bIsMoveMode = true;
+            return false;
         }
     }
 
     // Detect image and resize proportionally, but don't constrain movement by default
-    if (!bIsMoveMode && pView->AreObjectsMarked())
+    if (pView->AreObjectsMarked())
     {
         const SdrMarkList& rMarkList = pView->GetMarkedObjectList();
         if (rMarkList.GetMarkCount() == 1)
@@ -311,6 +310,9 @@ bool FuPoor::doConstructOrthogonal() const
             }
         }
     }
+    else if (aSfxRequest.GetSlot() == SID_DRAW_XPOLYGON || aSfxRequest.GetSlot() == SID_DRAW_XPOLYGON_NOFILL)
+        return true;
+
     return false;
 }
 
diff --git a/sc/uiconfig/scalc/toolbar/linesbar.xml b/sc/uiconfig/scalc/toolbar/linesbar.xml
index 86fa223..212bb71 100644
--- a/sc/uiconfig/scalc/toolbar/linesbar.xml
+++ b/sc/uiconfig/scalc/toolbar/linesbar.xml
@@ -18,14 +18,13 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
 <toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar">
- <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled"/>
- <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled"/>
- <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled"/>
- <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal_Unfilled"/>
- <toolbar:toolbarbreak/>
- <toolbar:toolbaritem xlink:href=".uno:Freeline"/>
  <toolbar:toolbaritem xlink:href=".uno:BezierFill"/>
  <toolbar:toolbaritem xlink:href=".uno:Polygon"/>
  <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline"/>
  <toolbar:toolbarbreak/>
+ <toolbar:toolbaritem xlink:href=".uno:Bezier_Unfilled"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Unfilled"/>
+ <toolbar:toolbaritem xlink:href=".uno:Polygon_Diagonal_Unfilled"/>
+ <toolbar:toolbaritem xlink:href=".uno:Freeline_Unfilled"/>
 </toolbar:toolbar>


More information about the Libreoffice-commits mailing list