summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/unit/ucalc.cxx3
-rw-r--r--sc/source/ui/docshell/impex.cxx5
-rw-r--r--sc/source/ui/inc/undobase.hxx1
-rw-r--r--sc/source/ui/inc/undoblk.hxx38
-rw-r--r--sc/source/ui/undo/undobase.cxx1
-rw-r--r--sc/source/ui/undo/undoblk.cxx11
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx10
-rw-r--r--sc/source/ui/view/viewfun3.cxx28
-rw-r--r--sc/source/ui/view/viewfun4.cxx6
9 files changed, 42 insertions, 61 deletions
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index ec03cd62d37a..8b30366eafbd 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -2237,7 +2237,8 @@ void Test::testCopyPaste()
ScMarkData aMarkData2;
aMarkData2.SetMarkArea(aRange);
ScRefUndoData* pRefUndoData= new ScRefUndoData(m_pDoc);
- SfxUndoAction* pUndo = new ScUndoPaste(&m_xDocShRef, 0, 1, 1, 2, 1, 1, aMarkData2, pUndoDoc, NULL, IDF_ALL, pRefUndoData, NULL, NULL, NULL, false);
+ SfxUndoAction* pUndo = new ScUndoPaste(
+ &m_xDocShRef, ScRange(0, 1, 1, 2, 1, 1), aMarkData2, pUndoDoc, NULL, IDF_ALL, pRefUndoData, false);
m_pDoc->CopyFromClip(aRange, aMarkData2, nFlags, NULL, pClipDoc);
//check values after copying
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 165fefedcd38..830d832399c0 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -269,10 +269,7 @@ void ScImportExport::EndPaste()
ScMarkData aDestMark;
aDestMark.SelectOneTable( aRange.aStart.Tab() );
pDocSh->GetUndoManager()->AddUndoAction(
- new ScUndoPaste( pDocSh,
- aRange.aStart.Col(), aRange.aStart.Row(), aRange.aStart.Tab(),
- aRange.aEnd.Col(), aRange.aEnd.Row(), aRange.aEnd.Tab(), aDestMark,
- pUndoDoc, pRedoDoc, IDF_ALL, NULL,NULL,NULL,NULL ) );
+ new ScUndoPaste(pDocSh, aRange, aDestMark, pUndoDoc, pRedoDoc, IDF_ALL, NULL));
}
pUndoDoc = NULL;
if( pDocSh )
diff --git a/sc/source/ui/inc/undobase.hxx b/sc/source/ui/inc/undobase.hxx
index 6f4135c9c8d4..f997c2a6b7ee 100644
--- a/sc/source/ui/inc/undobase.hxx
+++ b/sc/source/ui/inc/undobase.hxx
@@ -97,6 +97,7 @@ protected:
class ScMultiBlockUndo: public ScSimpleUndo
{
public:
+ TYPEINFO();
ScMultiBlockUndo(ScDocShell* pDocSh, const ScRangeList& rRanges,
ScBlockUndoMode eBlockMode);
virtual ~ScMultiBlockUndo();
diff --git a/sc/source/ui/inc/undoblk.hxx b/sc/source/ui/inc/undoblk.hxx
index 16fc7591ac08..8c74f288c14f 100644
--- a/sc/source/ui/inc/undoblk.hxx
+++ b/sc/source/ui/inc/undoblk.hxx
@@ -198,24 +198,22 @@ struct ScUndoPasteOptions
class ScUndoPaste: public ScBlockUndo
{
public:
- TYPEINFO();
- ScUndoPaste( ScDocShell* pNewDocShell,
- SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
- SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
- const ScMarkData& rMark,
- ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc,
- sal_uInt16 nNewFlags,
- ScRefUndoData* pRefData, void* pFill1, void* pFill2, void* pFill3,
- sal_Bool bRedoIsFilled = sal_True,
- const ScUndoPasteOptions* pOptions = NULL );
- virtual ~ScUndoPaste();
-
- virtual void Undo();
- virtual void Redo();
- virtual void Repeat(SfxRepeatTarget& rTarget);
- virtual sal_Bool CanRepeat(SfxRepeatTarget& rTarget) const;
-
- virtual String GetComment() const;
+ TYPEINFO();
+ ScUndoPaste(ScDocShell* pNewDocShell, const ScRange& rRange,
+ const ScMarkData& rMark,
+ ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc,
+ sal_uInt16 nNewFlags,
+ ScRefUndoData* pRefData,
+ bool bRedoIsFilled = true,
+ const ScUndoPasteOptions* pOptions = NULL);
+ virtual ~ScUndoPaste();
+
+ virtual void Undo();
+ virtual void Redo();
+ virtual void Repeat(SfxRepeatTarget& rTarget);
+ virtual sal_Bool CanRepeat(SfxRepeatTarget& rTarget) const;
+
+ virtual String GetComment() const;
private:
ScMarkData aMarkData;
@@ -229,8 +227,8 @@ private:
sal_Bool bRedoFilled;
ScUndoPasteOptions aPasteOptions;
- void DoChange( const sal_Bool bUndo );
- void SetChangeTrack();
+ void DoChange(bool bUndo);
+ void SetChangeTrack();
};
diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx
index 42487b2f5dd0..5db312492dd5 100644
--- a/sc/source/ui/undo/undobase.cxx
+++ b/sc/source/ui/undo/undobase.cxx
@@ -51,6 +51,7 @@
TYPEINIT1(ScSimpleUndo, SfxUndoAction);
TYPEINIT1(ScBlockUndo, ScSimpleUndo);
+TYPEINIT1(ScMultiBlockUndo, ScSimpleUndo);
TYPEINIT1(ScMoveUndo, ScSimpleUndo);
TYPEINIT1(ScDBFuncUndo, ScSimpleUndo);
TYPEINIT1(ScUndoWrapper, SfxUndoAction);
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index 79496b01ddd3..a5344a814d22 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -876,16 +876,13 @@ sal_Bool ScUndoCut::CanRepeat(SfxRepeatTarget& rTarget) const
// Einfuegen (Paste)
//
-ScUndoPaste::ScUndoPaste( ScDocShell* pNewDocShell,
- SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
- SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
+ScUndoPaste::ScUndoPaste( ScDocShell* pNewDocShell, const ScRange& rRange,
const ScMarkData& rMark,
ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc,
sal_uInt16 nNewFlags,
ScRefUndoData* pRefData,
- void* /* pFill1 */, void* /* pFill2 */, void* /* pFill3 */,
- sal_Bool bRedoIsFilled, const ScUndoPasteOptions* pOptions ) :
- ScBlockUndo( pNewDocShell, ScRange( nStartX, nStartY, nStartZ, nEndX, nEndY, nEndZ ), SC_UNDO_SIMPLE ),
+ bool bRedoIsFilled, const ScUndoPasteOptions* pOptions ) :
+ ScBlockUndo( pNewDocShell, rRange, SC_UNDO_SIMPLE ),
aMarkData( rMark ),
pUndoDoc( pNewUndoDoc ),
pRedoDoc( pNewRedoDoc ),
@@ -933,7 +930,7 @@ void ScUndoPaste::SetChangeTrack()
nStartChangeAction = nEndChangeAction = 0;
}
-void ScUndoPaste::DoChange( const sal_Bool bUndo )
+void ScUndoPaste::DoChange(bool bUndo)
{
ScDocument* pDoc = pDocShell->GetDocument();
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index e44cea5eaa28..294d42693f57 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -1167,9 +1167,9 @@ sal_Bool lcl_PutDataArray( ScDocShell& rDocShell, const ScRange& rRange,
ScMarkData aDestMark;
aDestMark.SelectOneTable( nTab );
rDocShell.GetUndoManager()->AddUndoAction(
- new ScUndoPaste( &rDocShell,
- nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab, aDestMark,
- pUndoDoc, NULL, IDF_CONTENTS, NULL,NULL,NULL,NULL, false ) );
+ new ScUndoPaste(
+ &rDocShell, ScRange(nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab),
+ aDestMark, pUndoDoc, NULL, IDF_CONTENTS, NULL, false));
}
if (!bHeight)
@@ -1255,8 +1255,8 @@ sal_Bool lcl_PutFormulaArray( ScDocShell& rDocShell, const ScRange& rRange,
aDestMark.SelectOneTable( nTab );
rDocShell.GetUndoManager()->AddUndoAction(
new ScUndoPaste( &rDocShell,
- nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab, aDestMark,
- pUndoDoc, NULL, IDF_CONTENTS, NULL,NULL,NULL,NULL, false ) );
+ ScRange(nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab), aDestMark,
+ pUndoDoc, NULL, IDF_CONTENTS, NULL, false));
}
if (!bHeight)
diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx
index 5aa8c5066cd8..dc33c8c5384c 100644
--- a/sc/source/ui/view/viewfun3.cxx
+++ b/sc/source/ui/view/viewfun3.cxx
@@ -1480,12 +1480,10 @@ bool ScViewFunc::PasteFromClip( sal_uInt16 nFlags, ScDocument* pClipDoc,
aOptions.bAsLink = bAsLink;
aOptions.eMoveMode = eMoveMode;
- SfxUndoAction* pUndo = new ScUndoPaste( pDocSh,
- nStartCol, nStartRow, nStartTab,
- nUndoEndCol, nUndoEndRow, nEndTab, aFilteredMark,
- pUndoDoc, pRedoDoc, nFlags | nUndoFlags,
- pUndoData, NULL, NULL, NULL,
- false, &aOptions ); // false = Redo data not yet copied
+ SfxUndoAction* pUndo = new ScUndoPaste(
+ pDocSh, ScRange(nStartCol, nStartRow, nStartTab, nUndoEndCol, nUndoEndRow, nEndTab),
+ aFilteredMark, pUndoDoc, pRedoDoc, nFlags | nUndoFlags, pUndoData,
+ false, &aOptions ); // false = Redo data not yet copied
if ( bInsertCells )
{
@@ -1674,13 +1672,7 @@ bool ScViewFunc::PasteMultiRangesFromClip(
aOptions.eMoveMode = eMoveMode;
ScUndoPaste* pUndo = new ScUndoPaste(pDocSh,
- aMarkedRange.aStart.Col(),
- aMarkedRange.aStart.Row(),
- aMarkedRange.aStart.Tab(),
- aMarkedRange.aEnd.Col(),
- aMarkedRange.aEnd.Row(),
- aMarkedRange.aEnd.Tab(),
- aMark, pUndoDoc.release(), NULL, nFlags|nUndoFlags, NULL, NULL, NULL, NULL, false, &aOptions);
+ aMarkedRange, aMark, pUndoDoc.release(), NULL, nFlags|nUndoFlags, NULL, false, &aOptions);
if (bInsertCells)
pUndoMgr->AddUndoAction(new ScUndoWrapper(pUndo), true);
@@ -1842,14 +1834,8 @@ bool ScViewFunc::PasteFromClipToMultiRanges(
aOptions.bAsLink = bAsLink;
aOptions.eMoveMode = eMoveMode;
- ScUndoPaste* pUndo = new ScUndoPaste(pDocSh,
- aWholeRange.aStart.Col(),
- aWholeRange.aStart.Row(),
- aWholeRange.aStart.Tab(),
- aWholeRange.aEnd.Col(),
- aWholeRange.aEnd.Row(),
- aWholeRange.aEnd.Tab(),
- aMark, pUndoDoc.release(), NULL, nFlags|nUndoFlags, NULL, NULL, NULL, NULL, false, &aOptions);
+ ScUndoPaste* pUndo = new ScUndoPaste(
+ pDocSh, aWholeRange, aMark, pUndoDoc.release(), NULL, nFlags|nUndoFlags, NULL, false, &aOptions);
pUndoMgr->AddUndoAction(pUndo, false);
pUndoMgr->LeaveListAction();
diff --git a/sc/source/ui/view/viewfun4.cxx b/sc/source/ui/view/viewfun4.cxx
index e0e4ee3bd537..40252f080abc 100644
--- a/sc/source/ui/view/viewfun4.cxx
+++ b/sc/source/ui/view/viewfun4.cxx
@@ -157,9 +157,9 @@ void ScViewFunc::PasteRTF( SCCOL nStartCol, SCROW nStartRow,
ScMarkData aDestMark;
aDestMark.SelectOneTable( nTab );
pDocSh->GetUndoManager()->AddUndoAction(
- new ScUndoPaste( pDocSh, nStartCol,nStartRow,nTab, nStartCol,nEndRow,nTab,
- aDestMark,
- pUndoDoc, pRedoDoc, IDF_ALL, NULL,NULL,NULL,NULL ) );
+ new ScUndoPaste(
+ pDocSh, ScRange(nStartCol, nStartRow, nTab, nStartCol, nEndRow, nTab),
+ aDestMark, pUndoDoc, pRedoDoc, IDF_ALL, NULL));
}
}