diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-01-11 21:49:58 -0500 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-01-11 23:37:13 -0500 |
commit | 7eca12e396766dcf6ad7bf76ee3c0dfa49ac99c4 (patch) | |
tree | 553e66425565c89233e5b6131d118d7ec396571e | |
parent | cb5be2219787ad7c0a50c5daaaca217179c6811b (diff) |
Remove duplicate blocks.
Change-Id: If994ea2505078ea7133c162c95df4f89a3c5ba99
-rw-r--r-- | sc/source/ui/docshell/dbdocfun.cxx | 32 |
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(); |