summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2017-10-13 22:12:48 +0200
committerJulien Nabet <serval2412@yahoo.fr>2017-11-03 07:30:18 +0100
commit62896fb7a5983eb13ee87b94ae803e6552626d8d (patch)
treed294734b552248c2a7ea4f19bc6f2bab1e1de99a /sfx2/source
parentc5857a0371dcc7977e68d48f08f2a3ecefb67b89 (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/source')
-rw-r--r--sfx2/source/dialog/filtergrouping.cxx41
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