Kaydet (Commit) 0cce823d authored tarafından Matteo Casalin's avatar Matteo Casalin Kaydeden (comit) Caolán McNamara

String to OUString + drop reference args for struct return

Change-Id: I985edaffb24ba3ec7265761c857a791e34d4f417
Reviewed-on: https://gerrit.libreoffice.org/6096Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst df700770
...@@ -1033,10 +1033,7 @@ void SwTOXBaseSection::InsertAlphaDelimitter( const SwTOXInternational& rIntl ) ...@@ -1033,10 +1033,7 @@ void SwTOXBaseSection::InsertAlphaDelimitter( const SwTOXInternational& rIntl )
if( nLevel == FORM_ALPHA_DELIMITTER ) if( nLevel == FORM_ALPHA_DELIMITTER )
continue; continue;
String sMyString, sMyStringReading; sDeli = rIntl.GetIndexKey( aSortArr[i]->GetTxt(),
aSortArr[i]->GetTxt( sMyString, sMyStringReading );
sDeli = rIntl.GetIndexKey( sMyString, sMyStringReading,
aSortArr[i]->GetLocale() ); aSortArr[i]->GetLocale() );
// Do we already have a Delimitter? // Do we already have a Delimitter?
...@@ -1045,7 +1042,8 @@ void SwTOXBaseSection::InsertAlphaDelimitter( const SwTOXInternational& rIntl ) ...@@ -1045,7 +1042,8 @@ void SwTOXBaseSection::InsertAlphaDelimitter( const SwTOXInternational& rIntl )
// We skip all that are less than a small Blank (these are special characters) // We skip all that are less than a small Blank (these are special characters)
if( ' ' <= sDeli.GetChar( 0 ) ) if( ' ' <= sDeli.GetChar( 0 ) )
{ {
SwTOXCustom* pCst = new SwTOXCustom( sDeli, aEmptyStr, FORM_ALPHA_DELIMITTER, SwTOXCustom* pCst = new SwTOXCustom( TextAndReading(sDeli, OUString()),
FORM_ALPHA_DELIMITTER,
rIntl, aSortArr[i]->GetLocale() ); rIntl, aSortArr[i]->GetLocale() );
aSortArr.insert( aSortArr.begin() + i, pCst); aSortArr.insert( aSortArr.begin() + i, pCst);
i++; i++;
...@@ -2235,13 +2233,12 @@ Range SwTOXBaseSection::GetKeyRange(const String& rStr, const String& rStrReadin ...@@ -2235,13 +2233,12 @@ Range SwTOXBaseSection::GetKeyRange(const String& rStr, const String& rStrReadin
sal_uInt16 nLevel, const Range& rRange ) sal_uInt16 nLevel, const Range& rRange )
{ {
const SwTOXInternational& rIntl = *rNew.pTOXIntl; const SwTOXInternational& rIntl = *rNew.pTOXIntl;
String sToCompare(rStr); TextAndReading aToCompare(rStr, rStrReading);
String sToCompareReading(rStrReading);
if( 0 != (nsSwTOIOptions::TOI_INITIAL_CAPS & GetOptions()) ) if( 0 != (nsSwTOIOptions::TOI_INITIAL_CAPS & GetOptions()) )
{ {
String sUpper( rIntl.ToUpper( sToCompare, 0 )); aToCompare.sText = rIntl.ToUpper( aToCompare.sText, 0 )
sToCompare.Erase( 0, 1 ).Insert( sUpper, 0 ); + aToCompare.sText.copy(1);
} }
OSL_ENSURE(rRange.Min() >= 0 && rRange.Max() >= 0, "Min Max < 0"); OSL_ENSURE(rRange.Min() >= 0 && rRange.Max() >= 0, "Min Max < 0");
...@@ -2255,17 +2252,14 @@ Range SwTOXBaseSection::GetKeyRange(const String& rStr, const String& rStrReadin ...@@ -2255,17 +2252,14 @@ Range SwTOXBaseSection::GetKeyRange(const String& rStr, const String& rStrReadin
{ {
SwTOXSortTabBase* pBase = aSortArr[i]; SwTOXSortTabBase* pBase = aSortArr[i];
String sMyString, sMyStringReading; if( rIntl.IsEqual( pBase->GetTxt(), pBase->GetLocale(),
pBase->GetTxt( sMyString, sMyStringReading ); aToCompare, rNew.GetLocale() ) &&
if( rIntl.IsEqual( sMyString, sMyStringReading, pBase->GetLocale(),
sToCompare, sToCompareReading, rNew.GetLocale() ) &&
pBase->GetLevel() == nLevel ) pBase->GetLevel() == nLevel )
break; break;
} }
if(i == nMax) if(i == nMax)
{ // If not already present, create and insert { // If not already present, create and insert
SwTOXCustom* pKey = new SwTOXCustom( sToCompare, sToCompareReading, nLevel, rIntl, SwTOXCustom* pKey = new SwTOXCustom( aToCompare, nLevel, rIntl,
rNew.GetLocale() ); rNew.GetLocale() );
for(i = nMin; i < nMax; ++i) for(i = nMin; i < nMax; ++i)
{ {
......
...@@ -57,6 +57,21 @@ struct SwTOXSource ...@@ -57,6 +57,21 @@ struct SwTOXSource
typedef std::vector<SwTOXSource> SwTOXSources; typedef std::vector<SwTOXSource> SwTOXSources;
struct TextAndReading
{
OUString sText;
OUString sReading;
TextAndReading() {}
TextAndReading(OUString sTxt, OUString sRdng)
: sText(sTxt)
, sReading(sRdng)
{}
};
class SwTOXInternational class SwTOXInternational
{ {
IndexEntrySupplierWrapper* pIndexWrapper; IndexEntrySupplierWrapper* pIndexWrapper;
...@@ -73,30 +88,28 @@ public: ...@@ -73,30 +88,28 @@ public:
SwTOXInternational( const SwTOXInternational& ); SwTOXInternational( const SwTOXInternational& );
~SwTOXInternational(); ~SwTOXInternational();
sal_Int32 Compare( const String& rTxt1, const String& rTxtReading1, sal_Int32 Compare( const TextAndReading& rTaR1,
const ::com::sun::star::lang::Locale& rLocale1, const ::com::sun::star::lang::Locale& rLocale1,
const String& rTxt2, const String& rTxtReading2, const TextAndReading& rTaR2,
const ::com::sun::star::lang::Locale& rLocale2 ) const; const ::com::sun::star::lang::Locale& rLocale2 ) const;
inline bool IsEqual( const String& rTxt1, const String& rTxtReading1, inline bool IsEqual( const TextAndReading& rTaR1,
const ::com::sun::star::lang::Locale& rLocale1, const ::com::sun::star::lang::Locale& rLocale1,
const String& rTxt2, const String& rTxtReading2, const TextAndReading& rTaR2,
const ::com::sun::star::lang::Locale& rLocale2 ) const const ::com::sun::star::lang::Locale& rLocale2 ) const
{ {
return 0 == Compare( rTxt1, rTxtReading1, rLocale1, return 0 == Compare( rTaR1, rLocale1, rTaR2, rLocale2 );
rTxt2, rTxtReading2, rLocale2 );
} }
inline bool IsLess( const String& rTxt1, const String& rTxtReading1, inline bool IsLess( const TextAndReading& rTaR1,
const ::com::sun::star::lang::Locale& rLocale1, const ::com::sun::star::lang::Locale& rLocale1,
const String& rTxt2, const String& rTxtReading2, const TextAndReading& rTaR2,
const ::com::sun::star::lang::Locale& rLocale2 ) const const ::com::sun::star::lang::Locale& rLocale2 ) const
{ {
return -1 == Compare( rTxt1, rTxtReading1, rLocale1, return -1 == Compare( rTaR1, rLocale1, rTaR2, rLocale2 );
rTxt2, rTxtReading2, rLocale2 );
} }
String GetIndexKey( const String& rTxt, const String& rTxtReading, String GetIndexKey( const TextAndReading& rTaR,
const ::com::sun::star::lang::Locale& rLcl ) const; const ::com::sun::star::lang::Locale& rLcl ) const;
String GetFollowingText( sal_Bool bMorePages ) const; String GetFollowingText( sal_Bool bMorePages ) const;
...@@ -138,29 +151,25 @@ struct SwTOXSortTabBase ...@@ -138,29 +151,25 @@ struct SwTOXSortTabBase
virtual String GetURL() const; virtual String GetURL() const;
inline void GetTxt( String&, String& ) const; inline TextAndReading GetTxt() const;
inline const ::com::sun::star::lang::Locale& GetLocale() const; inline const ::com::sun::star::lang::Locale& GetLocale() const;
private: private:
sal_Bool bValidTxt; sal_Bool bValidTxt;
String sSortTxt; TextAndReading m_aSort;
String sSortTxtReading;
virtual void GetText_Impl( String&, String& ) const = 0; virtual TextAndReading GetText_Impl() const = 0;
}; };
inline void SwTOXSortTabBase::GetTxt( String& rSortTxt, inline TextAndReading SwTOXSortTabBase::GetTxt() const
String& rSortTxtReading ) const
{ {
if( !bValidTxt ) if( !bValidTxt )
{ {
SwTOXSortTabBase* pThis = (SwTOXSortTabBase*)this; SwTOXSortTabBase* pThis = (SwTOXSortTabBase*)this;
pThis->GetText_Impl( pThis->sSortTxt, pThis->sSortTxtReading ); pThis->m_aSort = pThis->GetText_Impl();
pThis->bValidTxt = sal_True; pThis->bValidTxt = sal_True;
} }
return m_aSort;
rSortTxt = sSortTxt;
rSortTxtReading = sSortTxtReading;
} }
inline const ::com::sun::star::lang::Locale& SwTOXSortTabBase::GetLocale() const inline const ::com::sun::star::lang::Locale& SwTOXSortTabBase::GetLocale() const
...@@ -186,14 +195,14 @@ struct SwTOXIndex : public SwTOXSortTabBase ...@@ -186,14 +195,14 @@ struct SwTOXIndex : public SwTOXSortTabBase
virtual bool operator<( const SwTOXSortTabBase& ); virtual bool operator<( const SwTOXSortTabBase& );
private: private:
virtual void GetText_Impl( String&, String& ) const; virtual TextAndReading GetText_Impl() const;
sal_uInt8 nKeyLevel; sal_uInt8 nKeyLevel;
}; };
struct SwTOXCustom : public SwTOXSortTabBase struct SwTOXCustom : public SwTOXSortTabBase
{ {
SwTOXCustom( const String& rKey, const String& rReading, sal_uInt16 nLevel, SwTOXCustom( const TextAndReading& rKey, sal_uInt16 nLevel,
const SwTOXInternational& rIntl, const SwTOXInternational& rIntl,
const ::com::sun::star::lang::Locale& rLocale ); const ::com::sun::star::lang::Locale& rLocale );
virtual ~SwTOXCustom() {} virtual ~SwTOXCustom() {}
...@@ -203,10 +212,9 @@ struct SwTOXCustom : public SwTOXSortTabBase ...@@ -203,10 +212,9 @@ struct SwTOXCustom : public SwTOXSortTabBase
virtual bool operator<( const SwTOXSortTabBase& ); virtual bool operator<( const SwTOXSortTabBase& );
private: private:
virtual void GetText_Impl( String&, String& ) const; virtual TextAndReading GetText_Impl() const;
String aKey; TextAndReading m_aKey;
String sReading;
sal_uInt16 nLev; sal_uInt16 nLev;
}; };
...@@ -223,7 +231,7 @@ struct SwTOXContent : public SwTOXSortTabBase ...@@ -223,7 +231,7 @@ struct SwTOXContent : public SwTOXSortTabBase
virtual void FillText( SwTxtNode& rNd, const SwIndex& rInsPos, sal_uInt16 nAuthField = 0 ) const; virtual void FillText( SwTxtNode& rNd, const SwIndex& rInsPos, sal_uInt16 nAuthField = 0 ) const;
virtual sal_uInt16 GetLevel() const; virtual sal_uInt16 GetLevel() const;
private: private:
virtual void GetText_Impl( String&, String& ) const; virtual TextAndReading GetText_Impl() const;
}; };
...@@ -240,7 +248,7 @@ struct SwTOXPara : public SwTOXSortTabBase ...@@ -240,7 +248,7 @@ struct SwTOXPara : public SwTOXSortTabBase
virtual String GetURL() const; virtual String GetURL() const;
private: private:
virtual void GetText_Impl( String&, String& ) const; virtual TextAndReading GetText_Impl() const;
SwTOXElement eType; SwTOXElement eType;
sal_uInt16 m_nLevel; sal_uInt16 m_nLevel;
...@@ -260,7 +268,7 @@ struct SwTOXTable : public SwTOXSortTabBase ...@@ -260,7 +268,7 @@ struct SwTOXTable : public SwTOXSortTabBase
virtual String GetURL() const; virtual String GetURL() const;
private: private:
virtual void GetText_Impl( String&, String& ) const; virtual TextAndReading GetText_Impl() const;
sal_uInt16 nLevel; sal_uInt16 nLevel;
}; };
...@@ -270,7 +278,7 @@ struct SwTOXAuthority : public SwTOXSortTabBase ...@@ -270,7 +278,7 @@ struct SwTOXAuthority : public SwTOXSortTabBase
private: private:
SwFmtFld& m_rField; SwFmtFld& m_rField;
virtual void FillText( SwTxtNode& rNd, const SwIndex& rInsPos, sal_uInt16 nAuthField = 0 ) const; virtual void FillText( SwTxtNode& rNd, const SwIndex& rInsPos, sal_uInt16 nAuthField = 0 ) const;
virtual void GetText_Impl( String&, String& ) const; virtual TextAndReading GetText_Impl() const;
public: public:
SwTOXAuthority( const SwCntntNode& rNd, SwFmtFld& rField, const SwTOXInternational& rIntl ); SwTOXAuthority( const SwCntntNode& rNd, SwFmtFld& rField, const SwTOXInternational& rIntl );
......
This diff is collapsed.
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