editeng/source/accessibility/AccessibleStaticTextBase.cxx | 22 ++--- editeng/source/editeng/editdoc.cxx | 12 +-- editeng/source/editeng/impedit2.cxx | 8 +- editeng/source/editeng/impedit4.cxx | 6 - editeng/source/items/numitem.cxx | 31 ++++--- editeng/source/misc/svxacorr.cxx | 12 +-- editeng/source/outliner/outliner.cxx | 8 +- filter/source/msfilter/msocximex.cxx | 3 filter/source/msfilter/svdfppt.cxx | 6 - filter/source/svg/svgexport.cxx | 29 +++---- filter/source/svg/svgwriter.cxx | 56 ++++++-------- filter/source/xsltdialog/xmlfiltertabpagebasic.cxx | 8 +- 12 files changed, 95 insertions(+), 106 deletions(-)
New commits: commit 8d344ea12cfe50dd0c3ccc24252acee3290903e7 Author: Noel Grandin <[email protected]> AuthorDate: Sat Jul 28 11:30:23 2018 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Sat Jul 28 17:23:19 2018 +0200 loplugin:stringloop in editeng Change-Id: Ie0bff59cbb3ef4e79b1923ddebec979a135dd000 Reviewed-on: https://gerrit.libreoffice.org/58213 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/editeng/source/accessibility/AccessibleStaticTextBase.cxx b/editeng/source/accessibility/AccessibleStaticTextBase.cxx index f44d1482bb6d..6dac619d4e49 100644 --- a/editeng/source/accessibility/AccessibleStaticTextBase.cxx +++ b/editeng/source/accessibility/AccessibleStaticTextBase.cxx @@ -655,11 +655,11 @@ namespace accessibility SolarMutexGuard aGuard; sal_Int32 i, nParas; - OUString aRes; + OUStringBuffer aRes; for( i=0, nParas=mpImpl->GetParagraphCount(); i<nParas; ++i ) - aRes += mpImpl->GetParagraph(i).getText(); + aRes.append(mpImpl->GetParagraph(i).getText()); - return aRes; + return aRes.makeStringAndClear(); } OUString SAL_CALL AccessibleStaticTextBase::getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex ) @@ -697,7 +697,7 @@ namespace accessibility { nEndIndex++; } - OUString aRes; + OUStringBuffer aRes; EPosition aStartIndex( mpImpl->Range2Internal(nStartIndex) ); EPosition aEndIndex( mpImpl->Range2Internal(nEndIndex) ); @@ -717,8 +717,8 @@ namespace accessibility // paragraphs inbetween are fully included for( ; i<aEndIndex.nPara; ++i ) { - aRes += OUStringLiteral1(cNewLine); - aRes += mpImpl->GetParagraph(i).getText(); + aRes.append(cNewLine); + aRes.append(mpImpl->GetParagraph(i).getText()); } if( i<=aEndIndex.nPara ) @@ -727,22 +727,22 @@ namespace accessibility //we need to add a "\n" before we add the last part of the string. if ( !bEnd && aEndIndex.nIndex ) { - aRes += OUStringLiteral1(cNewLine); + aRes.append(cNewLine); } - aRes += mpImpl->GetParagraph(i).getTextRange( 0, aEndIndex.nIndex ); + aRes.append(mpImpl->GetParagraph(i).getTextRange( 0, aEndIndex.nIndex )); } } //According to the flag we marked before, we have to add "\n" at the beginning //or at the end of the result string. if ( bStart ) { - aRes = OUStringLiteral1(cNewLine) + aRes; + aRes.insert(0, OUStringLiteral1(cNewLine)); } if ( bEnd ) { - aRes += OUStringLiteral1(cNewLine); + aRes.append(OUStringLiteral1(cNewLine)); } - return aRes; + return aRes.makeStringAndClear(); } css::accessibility::TextSegment SAL_CALL AccessibleStaticTextBase::getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType ) diff --git a/editeng/source/editeng/editdoc.cxx b/editeng/source/editeng/editdoc.cxx index 40f4a8619cfd..9c70eff997ec 100644 --- a/editeng/source/editeng/editdoc.cxx +++ b/editeng/source/editeng/editdoc.cxx @@ -1633,7 +1633,7 @@ OUString ContentNode::GetExpandedText(sal_Int32 nStartPos, sal_Int32 nEndPos) co DBG_ASSERT( nStartPos <= nEndPos, "Start and End reversed?" ); sal_Int32 nIndex = nStartPos; - OUString aStr; + OUStringBuffer aStr; const EditCharAttrib* pNextFeature = GetCharAttribs().FindFeature( nIndex ); while ( nIndex < nEndPos ) { @@ -1646,18 +1646,18 @@ OUString ContentNode::GetExpandedText(sal_Int32 nStartPos, sal_Int32 nEndPos) co DBG_ASSERT( nEnd >= nIndex, "End in front of the index?" ); //!! beware of sub string length of -1 if (nEnd > nIndex) - aStr += GetString().copy(nIndex, nEnd - nIndex); + aStr.append( GetString().copy(nIndex, nEnd - nIndex) ); if ( pNextFeature ) { switch ( pNextFeature->GetItem()->Which() ) { - case EE_FEATURE_TAB: aStr += "\t"; + case EE_FEATURE_TAB: aStr.append( "\t" ); break; - case EE_FEATURE_LINEBR: aStr += "\x0A"; + case EE_FEATURE_LINEBR: aStr.append( "\x0A" ); break; case EE_FEATURE_FIELD: - aStr += static_cast<const EditCharAttribField*>(pNextFeature)->GetFieldValue(); + aStr.append( static_cast<const EditCharAttribField*>(pNextFeature)->GetFieldValue() ); break; default: OSL_FAIL( "What feature?" ); } @@ -1665,7 +1665,7 @@ OUString ContentNode::GetExpandedText(sal_Int32 nStartPos, sal_Int32 nEndPos) co } nIndex = nEnd; } - return aStr; + return aStr.makeStringAndClear(); } void ContentNode::UnExpandPosition( sal_Int32 &rPos, bool bBiasStart ) diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx index bd641ce70b7b..af0565f76df5 100644 --- a/editeng/source/editeng/impedit2.cxx +++ b/editeng/source/editeng/impedit2.cxx @@ -286,7 +286,7 @@ OUString ImpEditEngine::GetSelected( const EditSelection& rSel ) const OSL_ENSURE( nStartNode <= nEndNode, "Selection not sorted ?" ); - OUString aText; + OUStringBuffer aText; const OUString aSep = EditDoc::GetSepStr( LINEEND_LF ); // iterate over the paragraphs ... @@ -298,11 +298,11 @@ OUString ImpEditEngine::GetSelected( const EditSelection& rSel ) const const sal_Int32 nStartPos = nNode==nStartNode ? aSel.Min().GetIndex() : 0; const sal_Int32 nEndPos = nNode==nEndNode ? aSel.Max().GetIndex() : pNode->Len(); // can also be == nStart! - aText += EditDoc::GetParaAsString( pNode, nStartPos, nEndPos ); + aText.append(EditDoc::GetParaAsString( pNode, nStartPos, nEndPos )); if ( nNode < nEndNode ) - aText += aSep; + aText.append(aSep); } - return aText; + return aText.makeStringAndClear(); } bool ImpEditEngine::MouseButtonDown( const MouseEvent& rMEvt, EditView* pView ) diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx index a19876928bb4..e619351963f9 100644 --- a/editeng/source/editeng/impedit4.cxx +++ b/editeng/source/editeng/impedit4.cxx @@ -1810,7 +1810,6 @@ Reference< XSpellAlternatives > ImpEditEngine::ImpSpell( EditView* pEditView ) EditSelection aCurSel( pEditView->pImpEditView->GetEditSelection() ); aCurSel.Min() = aCurSel.Max(); - OUString aWord; Reference< XSpellAlternatives > xSpellAlt; Sequence< PropertyValue > aEmptySeq; while (!xSpellAlt.is()) @@ -1834,7 +1833,7 @@ Reference< XSpellAlternatives > ImpEditEngine::ImpSpell( EditView* pEditView ) } aCurSel = SelectWord( aCurSel, css::i18n::WordType::DICTIONARY_WORD ); - aWord = GetSelected( aCurSel ); + OUString aWord = GetSelected( aCurSel ); // If afterwards a dot, this must be handed over! // If an abbreviation ... @@ -1872,7 +1871,6 @@ Reference< XSpellAlternatives > ImpEditEngine::ImpFindNextError(EditSelection& r { EditSelection aCurSel( rSelection.Min() ); - OUString aWord; Reference< XSpellAlternatives > xSpellAlt; Sequence< PropertyValue > aEmptySeq; while (!xSpellAlt.is()) @@ -1885,7 +1883,7 @@ Reference< XSpellAlternatives > ImpEditEngine::ImpFindNextError(EditSelection& r } aCurSel = SelectWord( aCurSel, css::i18n::WordType::DICTIONARY_WORD ); - aWord = GetSelected( aCurSel ); + OUString aWord = GetSelected( aCurSel ); // If afterwards a dot, this must be handed over! // If an abbreviation ... diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx index 1efd88c84026..8e483d66ca51 100644 --- a/editeng/source/items/numitem.cxx +++ b/editeng/source/items/numitem.cxx @@ -501,7 +501,7 @@ OUString SvxNumberFormat::CreateRomanString( sal_uLong nNo, bool bUpper ) ? "MDCLXVI--" // +2 Dummy entries! : "mdclxvi--"; // +2 Dummy entries! - OUString sRet; + OUStringBuffer sRet; sal_uInt16 nMask = 1000; while( nMask ) { @@ -512,30 +512,30 @@ OUString SvxNumberFormat::CreateRomanString( sal_uLong nNo, bool bUpper ) if( 5 < nNumber ) { if( nNumber < 9 ) - sRet += OUString(*(cRomanArr-1)); + sRet.append(*(cRomanArr-1)); ++nDiff; nNumber -= 5; } switch( nNumber ) { - case 3: { sRet += OUString(*cRomanArr); SAL_FALLTHROUGH; } - case 2: { sRet += OUString(*cRomanArr); SAL_FALLTHROUGH; } - case 1: { sRet += OUString(*cRomanArr); } + case 3: { sRet.append(*cRomanArr); SAL_FALLTHROUGH; } + case 2: { sRet.append(*cRomanArr); SAL_FALLTHROUGH; } + case 1: { sRet.append(*cRomanArr); } break; case 4: { - sRet += OUString(*cRomanArr); - sRet += OUString(*(cRomanArr-nDiff)); + sRet.append(*cRomanArr); + sRet.append(*(cRomanArr-nDiff)); } break; - case 5: { sRet += OUString(*(cRomanArr-nDiff)); } + case 5: { sRet.append(*(cRomanArr-nDiff)); } break; } nMask /= 10; // for the next decade cRomanArr += 2; } - return sRet; + return sRet.makeStringAndClear(); } OUString SvxNumberFormat::GetCharFormatName()const @@ -812,10 +812,11 @@ void SvxNumRule::SetLevel(sal_uInt16 nLevel, const SvxNumberFormat* pFmt) OUString SvxNumRule::MakeNumString( const SvxNodeNum& rNum ) const { - OUString aStr; + OUStringBuffer aStr; if( SVX_NO_NUM > rNum.GetLevel() && !( SVX_NO_NUMLEVEL & rNum.GetLevel() ) ) { const SvxNumberFormat& rMyNFmt = GetLevel( rNum.GetLevel() ); + aStr.append(rMyNFmt.GetPrefix()); if( SVX_NUM_NUMBER_NONE != rMyNFmt.GetNumberingType() ) { sal_uInt8 i = rNum.GetLevel(); @@ -847,21 +848,21 @@ OUString SvxNumRule::MakeNumString( const SvxNodeNum& rNum ) const if(SVX_NUM_BITMAP != rNFmt.GetNumberingType()) { const LanguageTag& rLang = Application::GetSettings().GetLanguageTag(); - aStr += rNFmt.GetNumStr( rNum.GetLevelVal()[ i ], rLang.getLocale() ); + aStr.append(rNFmt.GetNumStr( rNum.GetLevelVal()[ i ], rLang.getLocale() )); } else bDot = false; } else - aStr += "0"; // all 0-levels are a 0 + aStr.append("0"); // all 0-levels are a 0 if( i != rNum.GetLevel() && bDot) - aStr += "."; + aStr.append("."); } } - aStr = rMyNFmt.GetPrefix() + aStr + rMyNFmt.GetSuffix(); + aStr.append(rMyNFmt.GetSuffix()); } - return aStr; + return aStr.makeStringAndClear(); } // changes linked to embedded bitmaps diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index b890b5cd0984..cf56f2a4552f 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -1110,9 +1110,9 @@ bool SvxAutoCorrect::FnCorrectCapsLock( SvxAutoCorrDoc& rDoc, const OUString& rT if ( !IsUpperLetter(rCC.getCharacterType(rTxt, nSttPos+1)) ) return false; - OUString aConverted; - aConverted += rCC.uppercase(OUString(rTxt[nSttPos])); - aConverted += rCC.lowercase(OUString(rTxt[nSttPos+1])); + OUStringBuffer aConverted; + aConverted.append( rCC.uppercase(OUString(rTxt[nSttPos])) ); + aConverted.append( rCC.lowercase(OUString(rTxt[nSttPos+1])) ); for( sal_Int32 i = nSttPos+2; i < nEndPos; ++i ) { @@ -1122,15 +1122,15 @@ bool SvxAutoCorrect::FnCorrectCapsLock( SvxAutoCorrDoc& rDoc, const OUString& rT if ( IsUpperLetter(rCC.getCharacterType(rTxt, i)) ) // Another uppercase letter. Convert it. - aConverted += rCC.lowercase(OUString(rTxt[i])); + aConverted.append( rCC.lowercase(OUString(rTxt[i])) ); else // This is not an alphabetic letter. Leave it as-is. - aConverted += OUStringLiteral1( rTxt[i] ); + aConverted.append( rTxt[i] ); } // Replace the word. rDoc.Delete(nSttPos, nEndPos); - rDoc.Insert(nSttPos, aConverted); + rDoc.Insert(nSttPos, aConverted.makeStringAndClear()); return true; } diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx index 294f000d3796..374fa86025f9 100644 --- a/editeng/source/outliner/outliner.cxx +++ b/editeng/source/outliner/outliner.cxx @@ -1638,15 +1638,15 @@ EBulletInfo Outliner::GetBulletInfo( sal_Int32 nPara ) OUString Outliner::GetText( Paragraph const * pParagraph, sal_Int32 nCount ) const { - OUString aText; + OUStringBuffer aText; sal_Int32 nStartPara = pParaList->GetAbsPos( pParagraph ); for ( sal_Int32 n = 0; n < nCount; n++ ) { - aText += pEditEngine->GetText( nStartPara + n ); + aText.append(pEditEngine->GetText( nStartPara + n )); if ( (n+1) < nCount ) - aText += "\n"; + aText.append("\n"); } - return aText; + return aText.makeStringAndClear(); } void Outliner::Remove( Paragraph const * pPara, sal_Int32 nParaCount ) commit 4d20ec5ad75e8268cbc753f5bf86e3ef7c0be557 Author: Noel Grandin <[email protected]> AuthorDate: Sat Jul 28 11:29:37 2018 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Sat Jul 28 17:23:06 2018 +0200 loplugin:stringloop in filter Change-Id: Icb2df9854975544ae3e164b5d25a6628824027e5 Reviewed-on: https://gerrit.libreoffice.org/58212 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/filter/source/msfilter/msocximex.cxx b/filter/source/msfilter/msocximex.cxx index 58c8266a514a..09217fb8346d 100644 --- a/filter/source/msfilter/msocximex.cxx +++ b/filter/source/msfilter/msocximex.cxx @@ -105,8 +105,7 @@ const uno::Reference< container::XIndexContainer >& while( xNameCont->hasByName( sName ) ) { - sName = sWW8_form; - sName += OUString::number( ++n ); + sName = sWW8_form + OUString::number( ++n ); } const uno::Reference< lang::XMultiServiceFactory > &rServiceFactory diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index a7f5cd0fab9d..2aa27ae4aaac 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -6813,7 +6813,7 @@ PPTTextObj::PPTTextObj( SvStream& rIn, SdrPowerPointImport& rSdrPowerPointImport // idea. if (nVal == 0) { - OUString aStr; + OUStringBuffer aStr; bool inquote = false; for (int nLen = 0; nLen < 64; ++nLen) { @@ -6826,7 +6826,7 @@ PPTTextObj::PPTTextObj( SvStream& rIn, SdrPowerPointImport& rSdrPowerPointImport else if (!n) { // End of format string - xEntry->xString = aStr; + xEntry->xString = aStr.makeStringAndClear(); break; } else if (!inquote) @@ -6838,7 +6838,7 @@ PPTTextObj::PPTTextObj( SvStream& rIn, SdrPowerPointImport& rSdrPowerPointImport } else { - aStr += OUStringLiteral1(n); + aStr.append(OUStringLiteral1(n)); } } } diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index f959563de94d..fa0958decc10 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -2123,12 +2123,11 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) if( pInfo && mbPresentation ) { bFieldProcessed = true; - OUString aRepresentation; if( mpSVGExport->IsEmbedFonts() && mpSVGExport->IsUsePositionedCharacters() ) { // to notify to the SVGActionWriter::ImplWriteText method // that we are dealing with a placeholder shape - aRepresentation = sPlaceholderTag; + OUStringBuffer aRepresentation = sPlaceholderTag; if( !mCreateOjectsCurrentMasterPage.is() ) { @@ -2208,17 +2207,17 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) } // Independently of the date format, we always put all these characters by default. // They should be enough to cover every time format. - aRepresentation += "0123456789.:/-APM"; + aRepresentation.append( "0123456789.:/-APM" ); if( eDateFormat != SvxDateFormat::AppDefault ) { - OUString sDate; + OUStringBuffer sDate; LanguageType eLang = pInfo->GetOutliner()->GetLanguage( pInfo->GetPara(), pInfo->GetPos() ); SvNumberFormatter * pNumberFormatter = new SvNumberFormatter( ::comphelper::getProcessComponentContext(), LANGUAGE_SYSTEM ); // We always collect the characters obtained by using the SvxDateFormat::B (as: 13.02.1996) // so we are sure to include any unusual day|month|year separator. Date aDate( 1, 1, 1996 ); - sDate += SvxDateField::GetFormatted( aDate, SvxDateFormat::B, *pNumberFormatter, eLang ); + sDate.append( SvxDateField::GetFormatted( aDate, SvxDateFormat::B, *pNumberFormatter, eLang ) ); switch( eDateFormat ) { case SvxDateFormat::E: // Tue, 13.February 1996 @@ -2227,7 +2226,7 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) for( sal_uInt16 i = 1; i <= 7; ++i ) // we get all days in a week { aDate.SetDay( i ); - sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ); + sDate.append( SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ) ); } SAL_FALLTHROUGH; // We need months too! case SvxDateFormat::C: // 13.Feb 1996 @@ -2235,7 +2234,7 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) for( sal_uInt16 i = 1; i <= 12; ++i ) // we get all months in a year { aDate.SetMonth( i ); - sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ); + sDate.append( SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ) ); } break; // coverity[dead_error_begin] - following conditions exist to avoid compiler warning @@ -2246,7 +2245,7 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) // nothing to do here, we always collect the characters needed for these cases. break; } - aRepresentation += sDate; + aRepresentation.append( sDate.makeStringAndClear() ); } } } @@ -2255,22 +2254,22 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) switch( mVisiblePagePropSet.nPageNumberingType ) { case css::style::NumberingType::CHARS_UPPER_LETTER: - aRepresentation += "QWERTYUIOPASDFGHJKLZXCVBNM"; + aRepresentation.append( "QWERTYUIOPASDFGHJKLZXCVBNM" ); break; case css::style::NumberingType::CHARS_LOWER_LETTER: - aRepresentation += "qwertyuiopasdfghjklzxcvbnm"; + aRepresentation.append( "qwertyuiopasdfghjklzxcvbnm" ); break; case css::style::NumberingType::ROMAN_UPPER: - aRepresentation += "IVXLCDM"; + aRepresentation.append( "IVXLCDM" ); break; case css::style::NumberingType::ROMAN_LOWER: - aRepresentation += "ivxlcdm"; + aRepresentation.append( "ivxlcdm" ); break; // arabic numbering type is the default case css::style::NumberingType::ARABIC: // in case the numbering type is not handled we fall back on arabic numbering default: - aRepresentation += "0123456789"; + aRepresentation.append( "0123456789" ); break; } } @@ -2284,10 +2283,10 @@ IMPL_LINK( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) { for (auto const& elem : *pCharSet) { - aRepresentation += OUStringLiteral1(elem); + aRepresentation.append(elem); } } - pInfo->SetRepresentation( aRepresentation ); + pInfo->SetRepresentation( aRepresentation.makeStringAndClear() ); } } else diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index c1512f58ecb2..56aada391e91 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -1427,7 +1427,6 @@ void SVGTextWriter::implWriteEmbeddedBitmaps() const GDIMetaFile& rMtf = *mpTextEmbeddedBitmapMtf; - OUString sId, sRefId; BitmapChecksum nId, nChecksum = 0; Point aPt; Size aSz; @@ -1463,11 +1462,7 @@ void SVGTextWriter::implWriteEmbeddedBitmaps() { // embedded bitmap id nId = SVGActionWriter::GetChecksum( pAction ); - sId = "embedded-bitmap("; - sId += msShapeId; - sId += "."; - sId += OUString::number( nId ); - sId += ")"; + OUString sId = "embedded-bitmap(" + msShapeId + "." + OUString::number( nId ) + ")"; mrExport.AddAttribute( XML_NAMESPACE_NONE, "id", sId ); mrExport.AddAttribute( XML_NAMESPACE_NONE, "class", "EmbeddedBitmap" ); @@ -1476,9 +1471,7 @@ void SVGTextWriter::implWriteEmbeddedBitmaps() // <use x="?" y="?" xlink:ref="?" > { // referenced bitmap template - sRefId = "#bitmap("; - sRefId += OUString::number( nChecksum ); - sRefId += ")"; + OUString sRefId = "#bitmap(" + OUString::number( nChecksum ) + ")"; Point aPoint; Size aSize; @@ -1778,7 +1771,7 @@ tools::PolyPolygon& SVGActionWriter::ImplMap( const tools::PolyPolygon& rPolyPol OUString SVGActionWriter::GetPathString( const tools::PolyPolygon& rPolyPoly, bool bLine ) { - OUString aPathData; + OUStringBuffer aPathData; const OUString aBlank( " " ); const OUString aComma( "," ); Point aPolyPoint; @@ -1791,33 +1784,33 @@ OUString SVGActionWriter::GetPathString( const tools::PolyPolygon& rPolyPoly, bo if( nSize > 1 ) { aPolyPoint = rPoly[ 0 ]; - aPathData += "M " - + OUString::number( aPolyPoint.X() ) - + aComma - + OUString::number( aPolyPoint.Y() ); + aPathData.append("M ") + .append(OUString::number( aPolyPoint.X() )) + .append(aComma) + .append(OUString::number( aPolyPoint.Y() )); sal_Char nCurrentMode = 0; const bool bClose(!bLine || rPoly[0] == rPoly[nSize - 1]); while( n < nSize ) { - aPathData += aBlank; + aPathData.append(aBlank); if ( ( rPoly.GetFlags( n ) == PolyFlags::Control ) && ( ( n + 2 ) < nSize ) ) { if ( nCurrentMode != 'C' ) { nCurrentMode = 'C'; - aPathData += "C "; + aPathData.append("C "); } for ( int j = 0; j < 3; j++ ) { if ( j ) - aPathData += aBlank; + aPathData.append(aBlank); aPolyPoint = rPoly[ n++ ]; - aPathData += OUString::number( aPolyPoint.X() ) - + aComma - + OUString::number( aPolyPoint.Y() ); + aPathData.append(OUString::number( aPolyPoint.X() )) + .append(aComma) + .append(OUString::number( aPolyPoint.Y() )); } } else @@ -1825,25 +1818,25 @@ OUString SVGActionWriter::GetPathString( const tools::PolyPolygon& rPolyPoly, bo if ( nCurrentMode != 'L' ) { nCurrentMode = 'L'; - aPathData += "L "; + aPathData.append("L "); } aPolyPoint = rPoly[ n++ ]; - aPathData += OUString::number( aPolyPoint.X() ) - + aComma - + OUString::number( aPolyPoint.Y() ); + aPathData.append(OUString::number( aPolyPoint.X() )) + .append(aComma) + .append(OUString::number( aPolyPoint.Y() )); } } if(bClose) - aPathData += " Z"; + aPathData.append(" Z"); if( i < ( nCount - 1 ) ) - aPathData += aBlank; + aPathData.append(aBlank); } } - return aPathData; + return aPathData.makeStringAndClear(); } @@ -2061,20 +2054,19 @@ void SVGActionWriter::ImplWriteShape( const SVGShapeDescriptor& rShape ) if( rShape.maDashArray.size() ) { - const OUString aComma( "," ); - OUString aDashArrayStr; + OUStringBuffer aDashArrayStr; for( size_t k = 0; k < rShape.maDashArray.size(); ++k ) { const sal_Int32 nDash = ImplMap( FRound( rShape.maDashArray[ k ] ) ); if( k ) - aDashArrayStr += aComma; + aDashArrayStr.append(","); - aDashArrayStr += OUString::number( nDash ); + aDashArrayStr.append(OUString::number( nDash )); } - mrExport.AddAttribute( XML_NAMESPACE_NONE, "stroke-dasharray", aDashArrayStr ); + mrExport.AddAttribute( XML_NAMESPACE_NONE, "stroke-dasharray", aDashArrayStr.makeStringAndClear() ); } ImplWritePolyPolygon( aPolyPoly, bLineOnly, false ); diff --git a/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx b/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx index 3db0c58ac267..69bb87882fa6 100644 --- a/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx +++ b/filter/source/xsltdialog/xmlfiltertabpagebasic.cxx @@ -51,25 +51,25 @@ static OUString checkExtensions( const OUString& rExtensions ) const sal_Unicode* pSource = rExtensions.getStr(); sal_Int32 nCount = rExtensions.getLength(); - OUString aRet; + OUStringBuffer aRet; while( nCount-- ) { switch(*pSource) { case u',': - aRet += ";"; + aRet.append(";"); break; case u'.': case u'*': break; default: - aRet += OUStringLiteral1( *pSource ); + aRet.append( *pSource ); } pSource++; } - return aRet; + return aRet.makeStringAndClear(); } void XMLFilterTabPageBasic::FillInfo( filter_info_impl* pInfo ) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
