diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2017-10-13 22:12:48 +0200 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2017-11-03 07:30:18 +0100 |
commit | 62896fb7a5983eb13ee87b94ae803e6552626d8d (patch) | |
tree | d294734b552248c2a7ea4f19bc6f2bab1e1de99a /sfx2 | |
parent | c5857a0371dcc7977e68d48f08f2a3ecefb67b89 (diff) |
Replace list by vector in filtergrouping (sfx2)
Change-Id: Ic5170843d8f47f92c7975cceaa9c33d278445b98
Reviewed-on: https://gerrit.libreoffice.org/43378
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/dialog/filtergrouping.cxx | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/sfx2/source/dialog/filtergrouping.cxx b/sfx2/source/dialog/filtergrouping.cxx index 04e09f66807b..47c10dd13eca 100644 --- a/sfx2/source/dialog/filtergrouping.cxx +++ b/sfx2/source/dialog/filtergrouping.cxx @@ -35,7 +35,6 @@ #include <comphelper/string.hxx> #include <tools/diagnose_ex.h> -#include <list> #include <vector> #include <map> #include <algorithm> @@ -120,8 +119,8 @@ namespace sfx2 typedef StringPair FilterDescriptor; // a single filter or a filter class (display name and filter mask) - typedef ::std::list< FilterDescriptor > FilterGroup; // a list of single filter entries - typedef ::std::list< FilterGroup > GroupedFilterList; // a list of all filters, already grouped + typedef ::std::vector< FilterDescriptor > FilterGroup; // a vector of single filter entries + typedef ::std::vector< FilterGroup > GroupedFilterList; // a vector of all filters, already grouped /// the logical name of a filter typedef OUString FilterName; @@ -138,8 +137,8 @@ namespace sfx2 Sequence< FilterName > aSubFilters; // the (logical) names of the filter which belong to the class } FilterClass; - typedef ::std::list< FilterClass > FilterClassList; - typedef ::std::map< OUString, FilterClassList::iterator > FilterClassReferrer; + typedef ::std::vector< FilterClass > FilterClassVector; + typedef ::std::map< OUString, FilterClassVector::iterator > FilterClassReferrer; typedef ::std::vector< OUString > StringArray; @@ -162,12 +161,12 @@ namespace sfx2 struct CreateEmptyClassRememberPos { protected: - FilterClassList& m_rClassList; + FilterClassVector& m_rClassVector; FilterClassReferrer& m_rClassesReferrer; public: - CreateEmptyClassRememberPos( FilterClassList& _rClassList, FilterClassReferrer& _rClassesReferrer ) - :m_rClassList ( _rClassList ) + CreateEmptyClassRememberPos( FilterClassVector& _rClassVector, FilterClassReferrer& _rClassesReferrer ) + :m_rClassVector ( _rClassVector ) ,m_rClassesReferrer ( _rClassesReferrer ) { } @@ -176,9 +175,9 @@ namespace sfx2 void operator() ( const FilterName& _rLogicalFilterName ) { // insert a new (empty) class - m_rClassList.emplace_back( ); + m_rClassVector.emplace_back( ); // get the position of this new entry - FilterClassList::iterator aInsertPos = m_rClassList.end(); + FilterClassVector::iterator aInsertPos = m_rClassVector.end(); --aInsertPos; // remember this position m_rClassesReferrer.emplace( _rLogicalFilterName, aInsertPos ); @@ -219,7 +218,7 @@ namespace sfx2 }; - void lcl_ReadGlobalFilters( const OConfigurationNode& _rFilterClassification, FilterClassList& _rGlobalClasses, StringArray& _rGlobalClassNames ) + void lcl_ReadGlobalFilters( const OConfigurationNode& _rFilterClassification, FilterClassVector& _rGlobalClasses, StringArray& _rGlobalClassNames ) { _rGlobalClasses.clear(); _rGlobalClassNames.clear(); @@ -267,10 +266,10 @@ namespace sfx2 { protected: OConfigurationNode m_aClassesNode; - FilterClassList& m_rClasses; + FilterClassVector& m_rClasses; public: - ReadLocalFilter( const OConfigurationNode& _rClassesNode, FilterClassList& _rClasses ) + ReadLocalFilter( const OConfigurationNode& _rClassesNode, FilterClassVector& _rClasses ) :m_aClassesNode ( _rClassesNode ) ,m_rClasses ( _rClasses ) { @@ -289,7 +288,7 @@ namespace sfx2 }; - void lcl_ReadLocalFilters( const OConfigurationNode& _rFilterClassification, FilterClassList& _rLocalClasses ) + void lcl_ReadLocalFilters( const OConfigurationNode& _rFilterClassification, FilterClassVector& _rLocalClasses ) { _rLocalClasses.clear(); @@ -306,7 +305,7 @@ namespace sfx2 } - void lcl_ReadClassification( FilterClassList& _rGlobalClasses, StringArray& _rGlobalClassNames, FilterClassList& _rLocalClasses ) + void lcl_ReadClassification( FilterClassVector& _rGlobalClasses, StringArray& _rGlobalClassNames, FilterClassVector& _rLocalClasses ) { // open our config node @@ -496,11 +495,11 @@ namespace sfx2 } - void lcl_InitGlobalClasses( GroupedFilterList& _rAllFilters, const FilterClassList& _rGlobalClasses, FilterGroupEntryReferrer& _rGlobalClassesRef ) + void lcl_InitGlobalClasses( GroupedFilterList& _rAllFilters, const FilterClassVector& _rGlobalClasses, FilterGroupEntryReferrer& _rGlobalClassesRef ) { // we need an extra group in our "all filters" container - _rAllFilters.push_front( FilterGroup() ); - FilterGroup& rGlobalFilters = _rAllFilters.front(); + _rAllFilters.push_back( FilterGroup() ); + FilterGroup& rGlobalFilters = _rAllFilters.back(); // it's important to work on the reference: we want to access the members of this filter group // by an iterator (FilterGroup::const_iterator) // the referrer for the global classes @@ -562,7 +561,7 @@ namespace sfx2 // read the classification of filters - FilterClassList aGlobalClasses, aLocalClasses; + FilterClassVector aGlobalClasses, aLocalClasses; StringArray aGlobalClassNames; lcl_ReadClassification( aGlobalClasses, aGlobalClassNames, aLocalClasses ); @@ -776,7 +775,7 @@ namespace sfx2 if ( !_rFilters.empty() ) { FilterGroup& rGlobalClasses = *_rFilters.begin(); - rGlobalClasses.push_front( FilterDescriptor( sAllFilterName, FILEDIALOG_FILTER_ALL ) ); + rGlobalClasses.insert( rGlobalClasses.begin(), FilterDescriptor( sAllFilterName, FILEDIALOG_FILTER_ALL ) ); } } } @@ -1135,7 +1134,7 @@ namespace sfx2 // append the filters to the manager if ( !aAllFilters.empty() ) { - ::std::list< FilterGroup >::iterator pIter = aAllFilters.begin(); + ::std::vector< FilterGroup >::iterator pIter = aAllFilters.begin(); ++pIter; ::std::for_each( pIter, // first filter group was handled separately, see above |