diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-08-24 14:16:09 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-08-24 15:57:30 +0200 |
commit | 1cf7fcda337ad7e9e63234b750b7ab227f5ee6f3 (patch) | |
tree | 81592cbc6fc6d4a18ac7351bd690c9e9e3b5ef02 /sc/source/ui/docshell/docfunc.cxx | |
parent | 588333c9438bfd97c027c2cd0d4936f5b4cbf25a (diff) |
loplugin:useuniqueptr pass ScDocument by unique_ptr in the undo code
Change-Id: I85188a4b3da4bc7f1a8a83870c8888be18bc1053
Reviewed-on: https://gerrit.libreoffice.org/59559
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc/source/ui/docshell/docfunc.cxx')
-rw-r--r-- | sc/source/ui/docshell/docfunc.cxx | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index db989b28a661..d215f87ea15b 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -1339,7 +1339,7 @@ bool ScDocFunc::ApplyAttributes( const ScMarkData& rMark, const ScPatternAttr& r if ( bRecord ) { - ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + ScDocumentUniquePtr pUndoDoc( new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, aMultiRange.aStart.Tab(), aMultiRange.aEnd.Tab() ); rDoc.CopyToDocument(aMultiRange, InsertDeleteFlags::ATTRIB, bMulti, *pUndoDoc, &rMark); @@ -1348,7 +1348,7 @@ bool ScDocFunc::ApplyAttributes( const ScMarkData& rMark, const ScPatternAttr& r &rDocShell, rMark, aMultiRange.aStart.Col(), aMultiRange.aStart.Row(), aMultiRange.aStart.Tab(), aMultiRange.aEnd.Col(), aMultiRange.aEnd.Row(), aMultiRange.aEnd.Tab(), - pUndoDoc, bMulti, &rPattern ) ); + std::move(pUndoDoc), bMulti, &rPattern ) ); } // While loading XML it is not necessary to ask HasAttrib. It needs too much time. @@ -4106,10 +4106,10 @@ bool ScDocFunc::AutoFormat( const ScRange& rRange, const ScMarkData* pTabMark, bool bSize = pAutoFormat->findByIndex(nFormatNo)->GetIncludeWidthHeight(); SCTAB nTabCount = rDoc.GetTableCount(); - ScDocument* pUndoDoc = nullptr; + ScDocumentUniquePtr pUndoDoc; if ( bRecord ) { - pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nStartTab, nStartTab, bSize, bSize ); ScMarkData::iterator itr = aMark.begin(), itrEnd = aMark.end(); for (; itr != itrEnd && *itr < nTabCount; ++itr) @@ -4165,7 +4165,7 @@ bool ScDocFunc::AutoFormat( const ScRange& rRange, const ScMarkData* pTabMark, if ( bRecord ) // only now is Draw-Undo available { rDocShell.GetUndoManager()->AddUndoAction( - new ScUndoAutoFormat( &rDocShell, rRange, pUndoDoc, aMark, bSize, nFormatNo ) ); + new ScUndoAutoFormat( &rDocShell, rRange, std::move(pUndoDoc), aMark, bSize, nFormatNo ) ); } aModificator.SetDocumentModified(); @@ -4299,14 +4299,14 @@ bool ScDocFunc::TabOp( const ScRange& rRange, const ScMarkData* pTabMark, if ( bRecord ) { //! take selected sheets into account also when undoing - ScDocument* pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + ScDocumentUniquePtr pUndoDoc(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nStartTab, nEndTab ); rDoc.CopyToDocument( rRange, InsertDeleteFlags::ALL & ~InsertDeleteFlags::NOTE, false, *pUndoDoc ); rDocShell.GetUndoManager()->AddUndoAction( new ScUndoTabOp( &rDocShell, nStartCol, nStartRow, nStartTab, - nEndCol, nEndRow, nEndTab, pUndoDoc, + nEndCol, nEndRow, nEndTab, std::move(pUndoDoc), rParam.aRefFormulaCell, rParam.aRefFormulaEnd, rParam.aRefRowCell, @@ -4464,13 +4464,13 @@ bool ScDocFunc::FillSimple( const ScRange& rRange, const ScMarkData* pTabMark, break; } - ScDocument* pUndoDoc = nullptr; + ScDocumentUniquePtr pUndoDoc; if ( bRecord ) { SCTAB nTabCount = rDoc.GetTableCount(); SCTAB nDestStartTab = aDestArea.aStart.Tab(); - pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nDestStartTab, nDestStartTab ); ScMarkData::iterator itr = aMark.begin(), itrEnd = aMark.end(); for (; itr != itrEnd && *itr < nTabCount; ++itr) @@ -4500,7 +4500,7 @@ bool ScDocFunc::FillSimple( const ScRange& rRange, const ScMarkData* pTabMark, if ( bRecord ) // only now is Draw-Undo available { rDocShell.GetUndoManager()->AddUndoAction( - new ScUndoAutoFill( &rDocShell, aDestArea, aSourceArea, pUndoDoc, aMark, + new ScUndoAutoFill( &rDocShell, aDestArea, aSourceArea, std::move(pUndoDoc), aMark, eDir, FILL_SIMPLE, FILL_DAY, MAXDOUBLE, 1.0, 1e307) ); } @@ -4580,13 +4580,13 @@ bool ScDocFunc::FillSeries( const ScRange& rRange, const ScMarkData* pTabMark, break; } - ScDocument* pUndoDoc = nullptr; + ScDocumentUniquePtr pUndoDoc; if ( bRecord ) { SCTAB nTabCount = rDoc.GetTableCount(); SCTAB nDestStartTab = aDestArea.aStart.Tab(); - pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nDestStartTab, nDestStartTab ); ScMarkData::iterator itr = aMark.begin(), itrEnd = aMark.end(); for (; itr != itrEnd && *itr < nTabCount; ++itr) @@ -4631,7 +4631,7 @@ bool ScDocFunc::FillSeries( const ScRange& rRange, const ScMarkData* pTabMark, if ( bRecord ) // only now is Draw-Undo available { rDocShell.GetUndoManager()->AddUndoAction( - new ScUndoAutoFill( &rDocShell, aDestArea, aSourceArea, pUndoDoc, aMark, + new ScUndoAutoFill( &rDocShell, aDestArea, aSourceArea, std::move(pUndoDoc), aMark, eDir, eCmd, eDateCmd, fStart, fStep, fMax) ); } @@ -4732,13 +4732,13 @@ bool ScDocFunc::FillAuto( ScRange& rRange, const ScMarkData* pTabMark, FillDir e WaitObject aWait( ScDocShell::GetActiveDialogParent() ); - ScDocument* pUndoDoc = nullptr; + ScDocumentUniquePtr pUndoDoc; if ( bRecord ) { SCTAB nTabCount = rDoc.GetTableCount(); SCTAB nDestStartTab = aDestArea.aStart.Tab(); - pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo( &rDoc, nDestStartTab, nDestStartTab ); ScMarkData::iterator itr = aMark.begin(), itrEnd = aMark.end(); for (; itr != itrEnd && nTabCount; ++itr) @@ -4770,7 +4770,7 @@ bool ScDocFunc::FillAuto( ScRange& rRange, const ScMarkData* pTabMark, FillDir e if ( bRecord ) // only now is Draw-Undo available { rDocShell.GetUndoManager()->AddUndoAction( - new ScUndoAutoFill( &rDocShell, aDestArea, aSourceArea, pUndoDoc, aMark, + new ScUndoAutoFill( &rDocShell, aDestArea, aSourceArea, std::move(pUndoDoc), aMark, eDir, eCmd, eDateCmd, MAXDOUBLE, fStep, fMax) ); } @@ -4824,7 +4824,7 @@ bool ScDocFunc::MergeCells( const ScCellMergeOption& rOption, bool bContents, bo } } - ScDocument* pUndoDoc = nullptr; + ScDocumentUniquePtr pUndoDoc; bool bNeedContentsUndo = false; for (set<SCTAB>::const_iterator itr = itrBeg; itr != itrEnd; ++itr) { @@ -4846,7 +4846,7 @@ bool ScDocFunc::MergeCells( const ScCellMergeOption& rOption, bool bContents, bo if (!pUndoDoc) { - pUndoDoc = new ScDocument( SCDOCMODE_UNDO ); + pUndoDoc.reset(new ScDocument( SCDOCMODE_UNDO )); pUndoDoc->InitUndo(&rDoc, nTab1, nTab2); } // note captions are collected by drawing undo @@ -4884,7 +4884,7 @@ bool ScDocFunc::MergeCells( const ScCellMergeOption& rOption, bool bContents, bo { std::unique_ptr<SdrUndoGroup> pDrawUndo = rDoc.GetDrawLayer() ? rDoc.GetDrawLayer()->GetCalcUndo() : nullptr; rDocShell.GetUndoManager()->AddUndoAction( - new ScUndoMerge(&rDocShell, rOption, bNeedContentsUndo, pUndoDoc, pDrawUndo.release()) ); + new ScUndoMerge(&rDocShell, rOption, bNeedContentsUndo, std::move(pUndoDoc), pDrawUndo.release()) ); } aModificator.SetDocumentModified(); |