summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChr. Rossmanith <ChrRossmanith@gmx.de>2013-03-24 09:53:00 +0100
committerFridrich Strba <fridrich@documentfoundation.org>2013-03-26 12:44:25 +0000
commitbc1af14a145f62afb58d6b63e10605d6230073cd (patch)
treed69c66dde1de18554dc4e9fe78ab42221179494f
parent4e907bc366d8691a33ec0be389f211e22c6e87d3 (diff)
Use OUString and sal_Int32 in filterText()
Change-Id: I31437125b51b07be490de3d979e193fad9750f51 Reviewed-on: https://gerrit.libreoffice.org/2956 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Reviewed-by: Eike Rathke <erack@redhat.com> Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
-rw-r--r--vcl/generic/print/genpspgraphics.cxx14
-rw-r--r--vcl/inc/generic/genpspgraphics.h2
-rw-r--r--vcl/inc/salgdi.hxx8
-rw-r--r--vcl/source/gdi/outdev3.cxx11
-rw-r--r--vcl/source/gdi/salgdilayout.cxx2
5 files changed, 20 insertions, 17 deletions
diff --git a/vcl/generic/print/genpspgraphics.cxx b/vcl/generic/print/genpspgraphics.cxx
index ec48150aceb2..eb6a52929a29 100644
--- a/vcl/generic/print/genpspgraphics.cxx
+++ b/vcl/generic/print/genpspgraphics.cxx
@@ -1235,12 +1235,13 @@ void GenPspGraphics::AnnounceFonts( ImplDevFontList* pFontList, const psp::FastP
pFontList->Add( pFD );
}
-bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop )
+bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNewText, sal_Int32 nIndex, sal_Int32& rLen, sal_Int32& rCutStart, sal_Int32& rCutStop )
{
if( ! m_pPhoneNr )
return false;
- rCutStop = rCutStart = STRING_NOTFOUND;
+ rNewText = rOrig;
+ rCutStop = rCutStart = -1;
#define FAX_PHONE_TOKEN "@@#"
#define FAX_PHONE_TOKEN_LENGTH 3
@@ -1260,7 +1261,7 @@ bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNew
{
nStart = nPos;
m_bPhoneCollectionActive = true;
- m_aPhoneCollection = rtl::OUString();
+ m_aPhoneCollection = "";
bRet = true;
bStarted = true;
}
@@ -1286,13 +1287,13 @@ bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNew
aPhoneNr.append( m_aPhoneCollection );
aPhoneNr.append( "</Fax#>" );
*m_pPhoneNr = aPhoneNr.makeStringAndClear();
- m_aPhoneCollection = rtl::OUString();
+ m_aPhoneCollection = "";
}
}
if( m_aPhoneCollection.getLength() > 1024 )
{
m_bPhoneCollectionActive = false;
- m_aPhoneCollection = rtl::OUString();
+ m_aPhoneCollection = "";
bRet = false;
}
@@ -1301,7 +1302,8 @@ bool GenPspGraphics::filterText( const rtl::OUString& rOrig, rtl::OUString& rNew
rLen -= nStop - nStart;
rCutStart = nStart+nIndex;
rCutStop = nStop+nIndex;
- rNewText = ( rCutStart ? rOrig.copy( 0, rCutStart ) : rtl::OUString() ) + rOrig.copy( rCutStop );
+ if (rCutStart != rCutStop)
+ rNewText = ( rCutStart ? rOrig.copy( 0, rCutStart ) : rtl::OUString() ) + rOrig.copy( rCutStop );
}
return bRet && m_bSwallowFaxNo;
diff --git a/vcl/inc/generic/genpspgraphics.h b/vcl/inc/generic/genpspgraphics.h
index 99a2f35d4bcc..36c0e609fa67 100644
--- a/vcl/inc/generic/genpspgraphics.h
+++ b/vcl/inc/generic/genpspgraphics.h
@@ -175,7 +175,7 @@ public:
virtual void invert( sal_uIntPtr nPoints, const SalPoint* pPtAry, SalInvert nFlags );
virtual sal_Bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uIntPtr nSize );
- virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop );
+ virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText, sal_Int32 nIndex, sal_Int32& rLen, sal_Int32& rCutStart, sal_Int32& rCutStop );
virtual bool drawAlphaBitmap( const SalTwoRect&,
const SalBitmap& rSourceBitmap,
diff --git a/vcl/inc/salgdi.hxx b/vcl/inc/salgdi.hxx
index ac2d03688c35..21d73801b70d 100644
--- a/vcl/inc/salgdi.hxx
+++ b/vcl/inc/salgdi.hxx
@@ -346,12 +346,8 @@ public:
true: a substitution has taken place and rNewText rLen, rCutStart and rCutStop have been filled accordingly
false: no substitution has taken place, rNewText, rLen, rCutStart, rCutStop remain unchanged
*/
- virtual bool filterText( const rtl::OUString& rOrigText,
- rtl::OUString& rNewText,
- xub_StrLen nIndex,
- xub_StrLen& rLen,
- xub_StrLen& rCutStart,
- xub_StrLen& rCutStop );
+ virtual bool filterText( const rtl::OUString& rOrigText, rtl::OUString& rNewText,
+ sal_Int32 nIndex, sal_Int32& rLen, sal_Int32& rCutStart, sal_Int32& rCutStop );
virtual bool supportsOperation( OutDevSupportType ) const = 0;
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index 565fcae50710..a2e2e1b9bc63 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -5809,9 +5809,14 @@ SalLayout* OutputDevice::ImplLayout( const String& rOrigStr,
// filter out special markers
if( bFilter )
{
- xub_StrLen nCutStart, nCutStop, nOrgLen = nLen;
- rtl::OUString aTmpStr(aStr);
- bool bFiltered = mpGraphics->filterText( rOrigStr, aTmpStr, nMinIndex, nLen, nCutStart, nCutStop );
+ sal_Int32 nCutStart, nCutStop, nOrgLen = nLen;
+ OUString aTmpStr(aStr);
+ OUString aTmpOrigStr(rOrigStr); // only needed until rOrigStr is OUString
+ sal_Int32 nMinIndex2=nMinIndex; // ditto
+ sal_Int32 nLen2=nLen; // ditto
+ bool bFiltered = mpGraphics->filterText( aTmpOrigStr, aTmpStr, nMinIndex2, nLen2, nCutStart, nCutStop );
+ nLen = nLen2; // ditto
+ nMinIndex = nMinIndex2; // ditto
aStr = aTmpStr;
if( !nLen )
return NULL;
diff --git a/vcl/source/gdi/salgdilayout.cxx b/vcl/source/gdi/salgdilayout.cxx
index bb1c55dd5c1a..5b6ec445da52 100644
--- a/vcl/source/gdi/salgdilayout.cxx
+++ b/vcl/source/gdi/salgdilayout.cxx
@@ -752,7 +752,7 @@ bool SalGraphics::DrawAlphaRect( long nX, long nY, long nWidth, long nHeight,
return drawAlphaRect( nX, nY, nWidth, nHeight, nTransparency );
}
-bool SalGraphics::filterText( const rtl::OUString&, rtl::OUString&, xub_StrLen, xub_StrLen&, xub_StrLen&, xub_StrLen& )
+bool SalGraphics::filterText( const rtl::OUString&, rtl::OUString&, sal_Int32, sal_Int32&, sal_Int32&, sal_Int32& )
{
return false;
}