summaryrefslogtreecommitdiff
path: root/sc/source/ui/docshell
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@gmail.com>2013-01-11 21:49:58 -0500
committerKohei Yoshida <kohei.yoshida@gmail.com>2013-01-11 23:37:13 -0500
commit7eca12e396766dcf6ad7bf76ee3c0dfa49ac99c4 (patch)
tree553e66425565c89233e5b6131d118d7ec396571e /sc/source/ui/docshell
parentcb5be2219787ad7c0a50c5daaaca217179c6811b (diff)
Remove duplicate blocks.
Change-Id: If994ea2505078ea7133c162c95df4f89a3c5ba99
Diffstat (limited to 'sc/source/ui/docshell')
-rw-r--r--sc/source/ui/docshell/dbdocfun.cxx32
1 files changed, 13 insertions, 19 deletions
diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx
index 7ae010a127e2..1a20f6ae2513 100644
--- a/sc/source/ui/docshell/dbdocfun.cxx
+++ b/sc/source/ui/docshell/dbdocfun.cxx
@@ -1221,6 +1221,16 @@ bool isEditable(ScDocShell& rDocShell, const ScRangeList& rRanges, bool bApi)
return true;
}
+SAL_WNODEPRECATED_DECLARATIONS_PUSH
+void createUndoDoc(std::auto_ptr<ScDocument>& pUndoDoc, ScDocument* pDoc, const ScRange& rRange)
+SAL_WNODEPRECATED_DECLARATIONS_POP
+{
+ SCTAB nTab = rRange.aStart.Tab();
+ pUndoDoc.reset(new ScDocument(SCDOCMODE_UNDO));
+ pUndoDoc->InitUndo(pDoc, nTab, nTab);
+ pDoc->CopyToDocument(rRange, IDF_ALL, false, pUndoDoc.get());
+}
+
}
bool ScDBDocFunc::DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewObj,
@@ -1266,13 +1276,7 @@ bool ScDBDocFunc::DataPilotUpdate( ScDPObject* pOldObj, const ScDPObject* pNewOb
bRecord = false;
if (bRecord)
- {
- ScRange aRange = pOldObj->GetOutRange();
- SCTAB nTab = aRange.aStart.Tab();
- pOldUndoDoc.reset(new ScDocument(SCDOCMODE_UNDO));
- pOldUndoDoc->InitUndo(pDoc, nTab, nTab);
- pDoc->CopyToDocument(aRange, IDF_ALL, false, pOldUndoDoc.get());
- }
+ createUndoDoc(pOldUndoDoc, pDoc, pOldObj->GetOutRange());
pNewObj->WriteSourceDataTo(*pOldObj); // copy source data
@@ -1396,11 +1400,7 @@ bool ScDBDocFunc::RemovePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
SCTAB nTab = aRange.aStart.Tab();
if (bRecord)
- {
- pOldUndoDoc.reset(new ScDocument(SCDOCMODE_UNDO));
- pOldUndoDoc->InitUndo(pDoc, nTab, nTab);
- pDoc->CopyToDocument(aRange, IDF_ALL, false, pOldUndoDoc.get());
- }
+ createUndoDoc(pOldUndoDoc, pDoc, aRange);
pDoc->DeleteAreaTab( aRange.aStart.Col(), aRange.aStart.Row(),
aRange.aEnd.Col(), aRange.aEnd.Row(),
@@ -1557,13 +1557,7 @@ bool ScDBDocFunc::UpdatePivotTable(ScDPObject& rDPObj, bool bRecord, bool bApi)
bRecord = false;
if (bRecord)
- {
- ScRange aRange = rDPObj.GetOutRange();
- SCTAB nTab = aRange.aStart.Tab();
- pOldUndoDoc.reset(new ScDocument(SCDOCMODE_UNDO));
- pOldUndoDoc->InitUndo( pDoc, nTab, nTab );
- pDoc->CopyToDocument(aRange, IDF_ALL, false, pOldUndoDoc.get());
- }
+ createUndoDoc(pOldUndoDoc, pDoc, rDPObj.GetOutRange());
rDPObj.SetAllowMove(false);
rDPObj.ReloadGroupTableData();