diff --git a/svx/inc/svx/numfmtsh.hxx b/svx/inc/svx/numfmtsh.hxx index 5217e292fa2b..c29f71d2da70 100644 --- a/svx/inc/svx/numfmtsh.hxx +++ b/svx/inc/svx/numfmtsh.hxx @@ -256,9 +256,12 @@ private: SVX_DLLPRIVATE short FillEListWithSysCurrencys( SvStrings& rList,short nSelPos); SVX_DLLPRIVATE short FillEListWithUserCurrencys( SvStrings& rList,short nSelPos); - SVX_DLLPRIVATE short FillEListWithUsD_Impl( SvStrings& rList, sal_uInt16 nPrivCat, short Pos ); - SVX_DLLPRIVATE bool IsRemoved_Impl( sal_uInt32 nKey ); - SVX_DLLPRIVATE bool IsAdded_Impl( sal_uInt32 nKey ); + SVX_DLLPRIVATE short FillEListWithUsD_Impl( SvStrings& rList, sal_uInt16 nPrivCat, short Pos ); + SVX_DLLPRIVATE ::std::vector::iterator GetRemoved_Impl( size_t nKey ); + SVX_DLLPRIVATE bool IsRemoved_Impl( size_t nKey ); + SVX_DLLPRIVATE ::std::vector::iterator GetAdded_Impl( size_t nKey ); + SVX_DLLPRIVATE bool IsAdded_Impl( size_t nKey ); + SVX_DLLPRIVATE void GetPreviewString_Impl( String& rString, Color*& rpColor ); SVX_DLLPRIVATE void PosToCategory_Impl( sal_uInt16 nPos, short& rCategory ); diff --git a/svx/source/items/numfmtsh.cxx b/svx/source/items/numfmtsh.cxx index b06042b847d0..c759768b1040 100644 --- a/svx/source/items/numfmtsh.cxx +++ b/svx/source/items/numfmtsh.cxx @@ -255,20 +255,9 @@ bool SvxNumberFormatShell::AddFormat( String& rFormat, xub_StrLen& rErrPos, if ( nAddKey != NUMBERFORMAT_ENTRY_NOT_FOUND ) // bereits vorhanden? { - if ( IsRemoved_Impl( nAddKey ) ) + ::std::vector::iterator nAt = GetRemoved_Impl( nAddKey ); + if ( nAt != aDelList.end() ) { - bool bFound = false; - std::vector::iterator nAt = aDelList.begin(); - - for (std::vector::iterator it(aDelList.begin()); !bFound && it != aDelList.end(); ++it ) - { - if ( *it == nAddKey ) - { - bFound = true; - nAt = it; - } - } - DBG_ASSERT( bFound, "Key not found" ); aDelList.erase( nAt ); bInserted = true; } @@ -340,22 +329,10 @@ bool SvxNumberFormatShell::RemoveFormat( const String& rFormat, { aDelList.push_back( nDelKey ); - if ( IsAdded_Impl( nDelKey ) ) + ::std::vector::iterator nAt = GetAdded_Impl( nDelKey ); + if( nAt != aAddList.end() ) { - bool bFound = false; - std::vector::iterator nAt = aAddList.begin(); - - for ( std::vector::iterator it(aAddList.begin()); !bFound && it != aAddList.end(); ++it ) - { - if ( *it == nDelKey ) - { - bFound = true; - nAt = it; - } - } - DBG_ASSERT( bFound, "Key not found" ); - if( bFound ) - aAddList.erase( nAt ); + aAddList.erase( nAt ); } nCurCategory=pFormatter->GetType(nDelKey); @@ -1178,24 +1155,30 @@ void SvxNumberFormatShell::GetPreviewString_Impl( String& rString, Color*& rpCol // ----------------------------------------------------------------------- -bool SvxNumberFormatShell::IsRemoved_Impl( sal_uInt32 nKey ) +::std::vector::iterator SvxNumberFormatShell::GetRemoved_Impl( size_t nKey ) { - bool bFound = false; - for (std::vector::const_iterator it(aDelList.begin()); !bFound && it != aDelList.end(); ++it ) - if ( *it == nKey ) - bFound = true; - return bFound; + return ::std::find(aDelList.begin(), aDelList.end(), nKey); } // ----------------------------------------------------------------------- -bool SvxNumberFormatShell::IsAdded_Impl( sal_uInt32 nKey ) +bool SvxNumberFormatShell::IsRemoved_Impl( size_t nKey ) { - bool bFound = false; - for ( std::vector::const_iterator it(aAddList.begin()); !bFound && it != aAddList.end(); ++it ) - if ( *it == nKey ) - bFound = true; - return bFound; + return GetRemoved_Impl( nKey ) != aDelList.end(); +} + +// ----------------------------------------------------------------------- + +::std::vector::iterator SvxNumberFormatShell::GetAdded_Impl( size_t nKey ) +{ + return ::std::find(aAddList.begin(), aAddList.end(), nKey); +} + +//------------------------------------------------------------------------ + +bool SvxNumberFormatShell::IsAdded_Impl( size_t nKey ) +{ + return GetAdded_Impl( nKey ) != aAddList.end(); } // -----------------------------------------------------------------------