Kaydet (Commit) 55dd09e3 authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in SdrTableRTFParser

Change-Id: I3d0657bcfcb9fca0d7f8c27499c159ddc5ccf47d
Reviewed-on: https://gerrit.libreoffice.org/49935Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst e7d2ebe2
...@@ -81,7 +81,6 @@ class SdrTableRTFParser ...@@ -81,7 +81,6 @@ class SdrTableRTFParser
{ {
public: public:
explicit SdrTableRTFParser( SdrTableObj& rTableObj ); explicit SdrTableRTFParser( SdrTableObj& rTableObj );
~SdrTableRTFParser();
void Read( SvStream& rStream ); void Read( SvStream& rStream );
...@@ -100,7 +99,7 @@ public: ...@@ -100,7 +99,7 @@ public:
private: private:
SdrTableObj& mrTableObj; SdrTableObj& mrTableObj;
SdrOutliner* mpOutliner; std::unique_ptr<SdrOutliner> mpOutliner;
SfxItemPool& mrItemPool; SfxItemPool& mrItemPool;
RTFCellDefaultVector maDefaultList; RTFCellDefaultVector maDefaultList;
...@@ -119,7 +118,7 @@ private: ...@@ -119,7 +118,7 @@ private:
std::vector< sal_Int32 >::iterator maLastEdge; std::vector< sal_Int32 >::iterator maLastEdge;
std::vector< RTFColumnVectorPtr > maRows; std::vector< RTFColumnVectorPtr > maRows;
RTFCellDefault* mpInsDefault; std::unique_ptr<RTFCellDefault> mpInsDefault;
RTFCellDefault* mpActDefault; RTFCellDefault* mpActDefault;
RTFCellDefault* mpDefMerge; RTFCellDefault* mpDefMerge;
...@@ -148,13 +147,7 @@ SdrTableRTFParser::SdrTableRTFParser( SdrTableObj& rTableObj ) ...@@ -148,13 +147,7 @@ SdrTableRTFParser::SdrTableRTFParser( SdrTableObj& rTableObj )
{ {
mpOutliner->SetUpdateMode(true); mpOutliner->SetUpdateMode(true);
mpOutliner->SetStyleSheet( 0, mrTableObj.GetStyleSheet() ); mpOutliner->SetStyleSheet( 0, mrTableObj.GetStyleSheet() );
mpInsDefault = new RTFCellDefault( &mrItemPool ); mpInsDefault.reset( new RTFCellDefault( &mrItemPool ) );
}
SdrTableRTFParser::~SdrTableRTFParser()
{
delete mpOutliner;
delete mpInsDefault;
} }
void SdrTableRTFParser::Read( SvStream& rStream ) void SdrTableRTFParser::Read( SvStream& rStream )
...@@ -402,7 +395,7 @@ void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo ) ...@@ -402,7 +395,7 @@ void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo )
break; break;
case RTF_CLMGF: // The first cell of cells to be merged case RTF_CLMGF: // The first cell of cells to be merged
{ {
mpDefMerge = mpInsDefault; mpDefMerge = mpInsDefault.get();
mnLastToken = pInfo->nToken; mnLastToken = pInfo->nToken;
} }
break; break;
...@@ -431,19 +424,20 @@ void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo ) ...@@ -431,19 +424,20 @@ void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo )
case RTF_CELLX: // closes cell default case RTF_CELLX: // closes cell default
{ {
mbNewDef = true; mbNewDef = true;
maDefaultList.push_back( std::shared_ptr< RTFCellDefault >( mpInsDefault ) ); std::shared_ptr<RTFCellDefault> pDefault( mpInsDefault.release() );
maDefaultList.push_back( pDefault );
const sal_Int32 nSize = TwipsToHundMM( pInfo->nTokenValue ); const sal_Int32 nSize = TwipsToHundMM( pInfo->nTokenValue );
if ( nSize > mnLastEdge ) if ( nSize > mnLastEdge )
InsertColumnEdge( nSize ); InsertColumnEdge( nSize );
mpInsDefault->mnCellX = nSize; pDefault->mnCellX = nSize;
// Record cellx in the first merged cell. // Record cellx in the first merged cell.
if ( mpDefMerge && mpInsDefault->mnColSpan == 0 ) if ( mpDefMerge && pDefault->mnColSpan == 0 )
mpDefMerge->mnCellX = nSize; mpDefMerge->mnCellX = nSize;
mpInsDefault = new RTFCellDefault( &mrItemPool ); mpInsDefault.reset( new RTFCellDefault( &mrItemPool ) );
mnLastToken = pInfo->nToken; mnLastToken = pInfo->nToken;
} }
...@@ -463,7 +457,7 @@ void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo ) ...@@ -463,7 +457,7 @@ void SdrTableRTFParser::ProcToken( RtfImportInfo* pInfo )
if ( mbNewDef || !mpActDefault ) if ( mbNewDef || !mpActDefault )
NewCellRow(); NewCellRow();
if ( !mpActDefault ) if ( !mpActDefault )
mpActDefault = mpInsDefault; mpActDefault = mpInsDefault.get();
if ( mpActDefault->mnColSpan > 0 ) if ( mpActDefault->mnColSpan > 0 )
{ {
InsertCell(pInfo); InsertCell(pInfo);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment