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

Caolán McNamara caolanm at redhat.com
Tue Sep 1 11:50:31 PDT 2015


 include/svx/sdr/table/tablecontroller.hxx |    1 
 include/svx/selectioncontroller.hxx       |    1 
 svx/source/svdraw/selectioncontroller.cxx |    5 ++
 svx/source/table/tablecontroller.cxx      |   52 +++++++++++++++---------------
 4 files changed, 33 insertions(+), 26 deletions(-)

New commits:
commit 76ce16307dc19d8bd955cbc43da401855ac58e38
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Sep 1 16:46:26 2015 +0100

    refactor to create a HasMarked, no logic change
    
    Change-Id: I667a8582a740f5fbbcdbcd82907e40e82f6165a1

diff --git a/include/svx/sdr/table/tablecontroller.hxx b/include/svx/sdr/table/tablecontroller.hxx
index 2b7d13b..1df8742 100644
--- a/include/svx/sdr/table/tablecontroller.hxx
+++ b/include/svx/sdr/table/tablecontroller.hxx
@@ -51,6 +51,7 @@ public:
     SVX_DLLPRIVATE virtual bool onMouseButtonUp(const MouseEvent& rMEvt, vcl::Window* pWin) SAL_OVERRIDE;
     SVX_DLLPRIVATE virtual bool onMouseMove(const MouseEvent& rMEvt, vcl::Window* pWin) SAL_OVERRIDE;
 
+    SVX_DLLPRIVATE virtual bool HasMarked() SAL_OVERRIDE;
     SVX_DLLPRIVATE virtual bool DeleteMarked() SAL_OVERRIDE;
 
     SVX_DLLPRIVATE virtual void onSelectionHasChanged() SAL_OVERRIDE;
diff --git a/include/svx/selectioncontroller.hxx b/include/svx/selectioncontroller.hxx
index 52bb9aa..4c4a8e5 100644
--- a/include/svx/selectioncontroller.hxx
+++ b/include/svx/selectioncontroller.hxx
@@ -50,6 +50,7 @@ public:
     virtual void GetState( SfxItemSet& rSet );
     virtual void Execute( SfxRequest& rReq );
 
+    virtual bool HasMarked();
     virtual bool DeleteMarked();
 
     virtual bool GetAttributes(SfxItemSet& rTargetSet, bool bOnlyHardAttr) const;
diff --git a/svx/source/svdraw/selectioncontroller.cxx b/svx/source/svdraw/selectioncontroller.cxx
index d8f7fbf..3138f37 100644
--- a/svx/source/svdraw/selectioncontroller.cxx
+++ b/svx/source/svdraw/selectioncontroller.cxx
@@ -55,6 +55,11 @@ void SelectionController::Execute( SfxRequest& /*rReq*/ )
 {
 }
 
+bool SelectionController::HasMarked()
+{
+    return false;
+}
+
 bool SelectionController::DeleteMarked()
 {
     return false;
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
index cee5e2b..1c4cfcd 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -1325,41 +1325,41 @@ void SvxTableController::DistributeRows()
     }
 }
 
+bool SvxTableController::HasMarked()
+{
+    return mbCellSelectionMode && mxTable.is();
+}
+
 bool SvxTableController::DeleteMarked()
 {
-    if( mbCellSelectionMode )
+    if (!HasMarked())
+        return false;
+
+    const bool bUndo = mpModel && mpModel->IsUndoEnabled();
+    if (bUndo)
+        mpModel->BegUndo(ImpGetResStr(STR_TABLE_DELETE_CELL_CONTENTS));
+
+    CellPos aStart, aEnd;
+    getSelectedCells( aStart, aEnd );
+    for( sal_Int32 nRow = aStart.mnRow; nRow <= aEnd.mnRow; nRow++ )
     {
-        if( mxTable.is() )
+        for( sal_Int32 nCol = aStart.mnCol; nCol <= aEnd.mnCol; nCol++ )
         {
-            const bool bUndo = mpModel && mpModel->IsUndoEnabled();
-            if (bUndo)
-                mpModel->BegUndo(ImpGetResStr(STR_TABLE_DELETE_CELL_CONTENTS));
-
-            CellPos aStart, aEnd;
-            getSelectedCells( aStart, aEnd );
-            for( sal_Int32 nRow = aStart.mnRow; nRow <= aEnd.mnRow; nRow++ )
+            CellRef xCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nCol, nRow ).get() ) );
+            if (xCell.is() && xCell->hasText())
             {
-                for( sal_Int32 nCol = aStart.mnCol; nCol <= aEnd.mnCol; nCol++ )
-                {
-                    CellRef xCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nCol, nRow ).get() ) );
-                    if (xCell.is() && xCell->hasText())
-                    {
-                        if (bUndo)
-                            xCell->AddUndo();
-                        xCell->SetOutlinerParaObject(0);
-                    }
-                }
+                if (bUndo)
+                    xCell->AddUndo();
+                xCell->SetOutlinerParaObject(0);
             }
-
-            if (bUndo)
-                mpModel->EndUndo();
-
-            UpdateTableShape();
-            return true;
         }
     }
 
-    return false;
+    if (bUndo)
+        mpModel->EndUndo();
+
+    UpdateTableShape();
+    return true;
 }
 
 bool SvxTableController::GetStyleSheet( SfxStyleSheet*& rpStyleSheet ) const


More information about the Libreoffice-commits mailing list