[Libreoffice-commits] core.git: sfx2/source

Julien Nabet serval2412 at yahoo.fr
Fri Nov 3 06:30:48 UTC 2017


 sfx2/source/dialog/filtergrouping.cxx |   41 ++++++++++++++++------------------
 1 file changed, 20 insertions(+), 21 deletions(-)

New commits:
commit 62896fb7a5983eb13ee87b94ae803e6552626d8d
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Fri Oct 13 22:12:48 2017 +0200

    Replace list by vector in filtergrouping (sfx2)
    
    Change-Id: Ic5170843d8f47f92c7975cceaa9c33d278445b98
    Reviewed-on: https://gerrit.libreoffice.org/43378
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>

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


More information about the Libreoffice-commits mailing list