sw/source/ui/dochdl/gloshdl.cxx |    8 +-
 sw/source/ui/inc/glosbib.hxx    |   11 ++--
 sw/source/ui/inc/glosdoc.hxx    |    6 +-
 sw/source/ui/misc/glosbib.cxx   |  107 +++++++++++++++++-----------------------
 sw/source/ui/misc/glosdoc.cxx   |   66 +++++++++---------------
 sw/source/ui/misc/glossary.cxx  |    5 -
 sw/source/ui/utlui/gloslst.cxx  |   10 +--
 7 files changed, 90 insertions(+), 123 deletions(-)

New commits:
commit a9b3b64a5a94a4c27ac524ac6997ef2e2467267c
Author: Brad Sowden <c...@sowden.org>
Date:   Tue Dec 27 23:18:50 2011 +1300

    fdo#38831 Convert some SvStrings to std::vector (part 2)

diff --git a/sw/source/ui/dochdl/gloshdl.cxx b/sw/source/ui/dochdl/gloshdl.cxx
index efd545f..2fa3c32 100644
--- a/sw/source/ui/dochdl/gloshdl.cxx
+++ b/sw/source/ui/dochdl/gloshdl.cxx
@@ -38,8 +38,6 @@
 #include <svl/macitem.hxx>
 #include <sfx2/fcontnr.hxx>
 #include <sfx2/docfile.hxx>
-#define _SVSTDARR_STRINGS
-#include <svl/svstdarr.hxx>
 #include <svl/urihelper.hxx>
 #include <unotools/transliterationwrapper.hxx>
 #include <poolfmt.hxx>
@@ -138,13 +136,13 @@ void SwGlossaryHdl::SetCurGroup(const String &rGrp, 
sal_Bool bApi, sal_Bool bAlw
             String sCurBase = aTemp.getBase();
             aTemp.removeSegment();
             const String sCurEntryPath = 
aTemp.GetMainURL(INetURLObject::NO_DECODE);
-            const SvStrings* pPathArr = rStatGlossaries.GetPathArray();
+            const std::vector<String*> *pPathArr = 
rStatGlossaries.GetPathArray();
             sal_uInt16 nCurrentPath = USHRT_MAX;
-            for(sal_uInt16 nPath = 0; nPath < pPathArr->Count(); nPath++)
+            for( size_t nPath = 0; nPath < pPathArr->size(); nPath++ )
             {
                 if(sCurEntryPath == *(*pPathArr)[nPath])
                 {
-                    nCurrentPath = nPath;
+                    nCurrentPath = static_cast<sal_uInt16>(nPath);
                     break;
                 }
             }
diff --git a/sw/source/ui/inc/glosbib.hxx b/sw/source/ui/inc/glosbib.hxx
index a7f9c49..83c2706 100644
--- a/sw/source/ui/inc/glosbib.hxx
+++ b/sw/source/ui/inc/glosbib.hxx
@@ -41,7 +41,6 @@
 #include <vector>
 
 class SwGlossaryHdl;
-class SvStrings;
 
 class FEdit : public Edit
 {
@@ -104,7 +103,7 @@ protected:
 
 public:
     SwGlossaryGroupDlg(Window * pParent,
-                        const SvStrings* pPathArr,
+                        const std::vector<String*> *pPathArr,
                         SwGlossaryHdl *pGlosHdl);
     ~SwGlossaryGroupDlg();
 
diff --git a/sw/source/ui/inc/glosdoc.hxx b/sw/source/ui/inc/glosdoc.hxx
index b85e6fa..a0db0b8 100644
--- a/sw/source/ui/inc/glosdoc.hxx
+++ b/sw/source/ui/inc/glosdoc.hxx
@@ -66,7 +66,7 @@ class SW_DLLPUBLIC SwGlossaries
     String                  m_aPath;
     String                  m_sOldErrPath;
     String                  m_sErrPath;
-    SvStrings               *m_pPathArr;
+    std::vector<String*>    m_aPathArr;
     SvStrings               *m_pGlosArr;
     sal_Bool                    m_bError;
 
@@ -141,8 +141,8 @@ public:
     void            SaveGroupDoc(const String &rGrpName, const String& 
rLongName );
     void            UpdateGlosPath(sal_Bool bFull);
     void            ShowError();
-    inline sal_uLong    IsGlosPathErr() { return m_bError; }
-    const SvStrings*    GetPathArray() const {return m_pPathArr;}
+    inline sal_uLong            IsGlosPathErr() { return m_bError; }
+    const std::vector<String*>* GetPathArray() const { return &m_aPathArr; }
 };
 
 
diff --git a/sw/source/ui/misc/glosbib.cxx b/sw/source/ui/misc/glosbib.cxx
index 18f10d2..fff2a2c 100644
--- a/sw/source/ui/misc/glosbib.cxx
+++ b/sw/source/ui/misc/glosbib.cxx
@@ -30,7 +30,6 @@
 #undef SW_DLLIMPLEMENTATION
 #endif
 
-#define _SVSTDARR_STRINGS
 #include <tools/urlobj.hxx>
 #include <tools/stream.hxx>
 #include <vcl/msgbox.hxx>
@@ -59,7 +58,7 @@
 #define RENAME_TOKEN_DELIM      (sal_Unicode)1
 
 SwGlossaryGroupDlg::SwGlossaryGroupDlg(Window * pParent,
-                        const SvStrings* pPathArr,
+                        const std::vector<String*> *pPathArr,
                         SwGlossaryHdl *pHdl) :
     SvxStandardDialog(pParent, SW_RES(DLG_BIB_BASE)),
     aBibFT(     this, SW_RES(FT_BIB)),
@@ -81,8 +80,6 @@ SwGlossaryGroupDlg::SwGlossaryGroupDlg(Window * pParent,
     pRenamedArr(0),
     pGlosHdl(pHdl)
 {
-    sal_uInt16 i;
-
     FreeResource();
 
     long nTabs[] =
@@ -100,7 +97,8 @@ SwGlossaryGroupDlg::SwGlossaryGroupDlg(Window * pParent,
     aNameED.SetModifyHdl(LINK(this, SwGlossaryGroupDlg, ModifyHdl));
     aPathLB.SetSelectHdl(LINK(this, SwGlossaryGroupDlg, ModifyHdl));
     aRenamePB.SetClickHdl(LINK(this, SwGlossaryGroupDlg, RenameHdl));
-    for( i = 0; i < pPathArr->Count(); i++)
+
+    for( size_t i = 0; i < pPathArr->size(); i++ )
     {
         String sPath(*(*pPathArr)[i]);
         INetURLObject aTempURL(sPath);
@@ -119,7 +117,7 @@ SwGlossaryGroupDlg::SwGlossaryGroupDlg(Window * pParent,
     aPathLB.Enable(sal_True);
 
     const sal_uInt16 nCount = pHdl->GetGroupCnt();
-    for(i = 0; i < nCount; ++i)
+    for( sal_uInt16 i = 0; i < nCount; ++i)
     {
         String sTitle;
         String sGroup = pHdl->GetGroupName(i, &sTitle);
diff --git a/sw/source/ui/misc/glosdoc.cxx b/sw/source/ui/misc/glosdoc.cxx
index 661ddc1..3f02b01 100644
--- a/sw/source/ui/misc/glosdoc.cxx
+++ b/sw/source/ui/misc/glosdoc.cxx
@@ -144,7 +144,7 @@ sal_Bool SwGlossaries::FindGroupName(String & rGroup)
         String sTemp( GetGroupName( i ));
         sal_uInt16 nPath = (sal_uInt16)sTemp.GetToken(1, GLOS_DELIM).ToInt32();
 
-        if( !SWUnoHelper::UCB_IsCaseSensitiveFileName( *(*m_pPathArr)[nPath] )
+        if( !SWUnoHelper::UCB_IsCaseSensitiveFileName( *m_aPathArr[nPath] )
              && rSCmp.isEqual( rGroup, sTemp.GetToken( 0, GLOS_DELIM) ) )
         {
             rGroup = sTemp;
@@ -218,9 +218,9 @@ void SwGlossaries::PutGroupDoc(SwTextBlocks *pBlock) {
 sal_Bool SwGlossaries::NewGroupDoc(String& rGroupName, const String& rTitle)
 {
     sal_uInt16 nNewPath = (sal_uInt16)rGroupName.GetToken(1, 
GLOS_DELIM).ToInt32();
-    if(nNewPath >= m_pPathArr->Count())
+    if( static_cast<size_t>(nNewPath) >= m_aPathArr.size() )
         return sal_False;
-    String sNewFilePath(*(*m_pPathArr)[nNewPath]);
+    String sNewFilePath(*m_aPathArr[nNewPath]);
     String sNewGroup = lcl_CheckFileName(sNewFilePath, rGroupName.GetToken(0, 
GLOS_DELIM));
     sNewGroup += GLOS_DELIM;
     sNewGroup += rGroupName.GetToken(1, GLOS_DELIM);
@@ -244,9 +244,9 @@ sal_Bool    SwGlossaries::RenameGroupDoc(
 {
     sal_Bool bRet = sal_False;
     sal_uInt16 nOldPath = (sal_uInt16)rOldGroup.GetToken(1, 
GLOS_DELIM).ToInt32();
-    if(nOldPath < m_pPathArr->Count())
+    if( static_cast<size_t>(nOldPath) < m_aPathArr.size() )
     {
-        String sOldFileURL(*(*m_pPathArr)[nOldPath]);
+        String sOldFileURL(*m_aPathArr[nOldPath]);
         sOldFileURL += INET_PATH_TOKEN;
         sOldFileURL += rOldGroup.GetToken(0, GLOS_DELIM);
         sOldFileURL += SwGlossaries::GetExtension();
@@ -255,9 +255,9 @@ sal_Bool    SwGlossaries::RenameGroupDoc(
         if(bExist)
         {
             sal_uInt16 nNewPath = (sal_uInt16)rNewGroup.GetToken(1, 
GLOS_DELIM).ToInt32();
-            if( nNewPath < m_pPathArr->Count())
+            if( static_cast<size_t>(nNewPath) < m_aPathArr.size() )
             {
-                String sNewFilePath(*(*m_pPathArr)[nNewPath]);
+                String sNewFilePath(*m_aPathArr[nNewPath]);
                 String sNewFileName = lcl_CheckFileName(
                                     sNewFilePath, rNewGroup.GetToken(0, 
GLOS_DELIM));
                 const sal_uInt16 nFileNameLen = sNewFileName.Len();
@@ -304,9 +304,9 @@ sal_Bool    SwGlossaries::RenameGroupDoc(
 sal_Bool SwGlossaries::DelGroupDoc(const String &rName)
 {
     sal_uInt16 nPath = (sal_uInt16)rName.GetToken(1, GLOS_DELIM).ToInt32();
-    if(nPath >= m_pPathArr->Count())
+    if( static_cast<size_t>(nPath) >= m_aPathArr.size() )
         return sal_False;
-    String sFileURL(*(*m_pPathArr)[nPath]);
+    String sFileURL(*m_aPathArr[nPath]);
     String aTmp( rName.GetToken(0, GLOS_DELIM));
     String aName(aTmp);
     aName += GLOS_DELIM;
@@ -324,9 +324,6 @@ sal_Bool SwGlossaries::DelGroupDoc(const String &rName)
     return bRemoved;
 }
 
-/*------------------------------------------------------------------------
-    Description: DTOR
-------------------------------------------------------------------------*/
 SwGlossaries::~SwGlossaries()
 {
     sal_uInt16 nCount = m_pGlosArr? m_pGlosArr->Count() : 0;
@@ -337,14 +334,11 @@ SwGlossaries::~SwGlossaries()
         String *pTmp = (*m_pGlosArr)[i];
         delete pTmp;
     }
-    nCount = m_pPathArr? m_pPathArr->Count() : 0;
-    for(i = 0; i < nCount; ++i)
-    {
-        String *pTmp = (*m_pPathArr)[i];
-        delete pTmp;
-    }
+
+    for(std::vector<String*>::const_iterator it(m_aPathArr.begin()); it != 
m_aPathArr.end(); ++it)
+        delete *it;
+
     delete m_pGlosArr;
-    delete m_pPathArr;
 
     InvalidateUNOOjects();
 }
@@ -356,9 +350,9 @@ SwTextBlocks* SwGlossaries::GetGlosDoc( const String 
&rName, sal_Bool bCreate )
 {
     sal_uInt16 nPath = (sal_uInt16)rName.GetToken(1, GLOS_DELIM).ToInt32();
     SwTextBlocks *pTmp = 0;
-    if(nPath < m_pPathArr->Count())
+    if( static_cast<size_t>(nPath) < m_aPathArr.size() )
     {
-        String sFileURL(*(*m_pPathArr)[nPath]);
+        String sFileURL(*m_aPathArr[nPath]);
         String aTmp( rName.GetToken(0, GLOS_DELIM));
         aTmp += SwGlossaries::GetExtension();
         sFileURL += INET_PATH_TOKEN;
@@ -395,19 +389,18 @@ SvStrings* SwGlossaries::GetNameList()
     {
         m_pGlosArr = new SvStrings;
         String sExt( SwGlossaries::GetExtension() );
-        for( sal_uInt16 i = 0; i < m_pPathArr->Count(); i++ )
+        for( size_t i = 0; i < m_aPathArr.size(); ++i )
         {
             SvStrings aFiles( 16, 16 );
 
-            SWUnoHelper::UCB_GetFileListOfFolder( *(*m_pPathArr)[i], aFiles,
-                                                    &sExt );
+            SWUnoHelper::UCB_GetFileListOfFolder( *m_aPathArr[i], aFiles, 
&sExt );
             for( sal_uInt16 nFiles = 0, nFEnd = aFiles.Count();
                     nFiles < nFEnd; ++nFiles )
             {
                 String* pTitle = aFiles[ nFiles ];
                 String sName( pTitle->Copy( 0, pTitle->Len() - sExt.Len() ));
                 sName += GLOS_DELIM;
-                sName += String::CreateFromInt32( i );
+                sName += String::CreateFromInt32( static_cast<sal_Int16>(i) );
                 m_pGlosArr->Insert( new String(sName), m_pGlosArr->Count() );
 
                 // don't need any more these pointers
@@ -426,14 +419,9 @@ SvStrings* SwGlossaries::GetNameList()
     return m_pGlosArr;
 }
 
-/*------------------------------------------------------------------------
-    Description: CTOR
-------------------------------------------------------------------------*/
 SwGlossaries::SwGlossaries() :
-    m_pPathArr(0),
     m_pGlosArr(0)
 {
-    m_pPathArr = new SvStrings;
     UpdateGlosPath(sal_True);
 }
 
@@ -460,18 +448,14 @@ void SwGlossaries::UpdateGlosPath(sal_Bool bFull)
     if (bFull || bPathChanged)
     {
         m_aPath = aNewPath;
-        sal_uInt16 nCount = m_pPathArr? m_pPathArr->Count() : 0;
-        sal_uInt16 i;
 
-        for( i = nCount; i; --i)
-        {
-            String *pTmp = (*m_pPathArr)[i - 1];
-            m_pPathArr->Remove(i - 1);
-            delete pTmp;
-        }
+        for(std::vector<String*>::const_iterator it(m_aPathArr.begin()); it != 
m_aPathArr.end(); ++it)
+            delete *it;
+        m_aPathArr.clear();
+
         sal_uInt16 nTokenCount = 
m_aPath.GetTokenCount(SVT_SEARCHPATH_DELIMITER);
         SvStrings aDirArr;
-        for( i = 0; i < nTokenCount; i++ )
+        for( sal_uInt16 i = 0; i < nTokenCount; i++ )
         {
             String sPth(m_aPath.GetToken(i, SVT_SEARCHPATH_DELIMITER));
             sPth = URIHelper::SmartRel2Abs(
@@ -490,7 +474,7 @@ void SwGlossaries::UpdateGlosPath(sal_Bool bFull)
                 m_sErrPath += String(aTemp.GetFull());
             }
             else
-                m_pPathArr->Insert(new String(sPth), m_pPathArr->Count());
+                m_aPathArr.push_back(new String(sPth));
         }
         aDirArr.DeleteAndDestroy(0, aDirArr.Count());
 
@@ -510,7 +494,7 @@ void SwGlossaries::UpdateGlosPath(sal_Bool bFull)
 
         if(m_pGlosArr)
         {
-            for(i = 0; i < m_pGlosArr->Count(); ++i)
+            for(sal_uInt16 i = 0; i < m_pGlosArr->Count(); ++i)
             {
                 delete (String *)(*m_pGlosArr)[i];
             }
diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx
index fe61a0b..66c5bea 100644
--- a/sw/source/ui/misc/glossary.cxx
+++ b/sw/source/ui/misc/glossary.cxx
@@ -32,7 +32,6 @@
 #endif
 
 #define _SVSTDARR_STRINGSDTOR
-#define _SVSTDARR_STRINGS
 #include <hintids.hxx>
 
 #include <vcl/menu.hxx>
@@ -941,8 +940,8 @@ void SwGlTreeListBox::RequestHelp( const HelpEvent& rHEvt )
             if(!GetParent(pEntry))
             {
                 GroupUserData* pData = (GroupUserData*)pEntry->GetUserData();
-                const SvStrings* pPathArr = ::GetGlossaries()->GetPathArray();
-                if(pPathArr->Count())
+                const std::vector<String*>* pPathArr = 
::GetGlossaries()->GetPathArray();
+                if( !pPathArr->empty() )
                 {
                     sMsg = (*(*pPathArr)[pData->nPathIdx]);
                     sMsg += INET_PATH_TOKEN;
diff --git a/sw/source/ui/utlui/gloslst.cxx b/sw/source/ui/utlui/gloslst.cxx
index 1d1720f..860b5d1 100644
--- a/sw/source/ui/utlui/gloslst.cxx
+++ b/sw/source/ui/utlui/gloslst.cxx
@@ -291,7 +291,7 @@ void SwGlossaryList::Update()
         ClearGroups();
     }
     SwGlossaries* pGlossaries = ::GetGlossaries();
-    const SvStrings* pPathArr = pGlossaries->GetPathArray();
+    const std::vector<String*>* pPathArr = pGlossaries->GetPathArray();
     String sExt( SwGlossaries::GetExtension() );
     if(!bFilled)
     {
@@ -300,7 +300,7 @@ void SwGlossaryList::Update()
         {
             String sGrpName = pGlossaries->GetGroupName(i);
             sal_uInt16 nPath = (sal_uInt16)sGrpName.GetToken(1, 
GLOS_DELIM).ToInt32();
-            if(nPath < pPathArr->Count())
+            if( static_cast<size_t>(nPath) < pPathArr->size() )
             {
                 AutoTextGroup* pGroup = new AutoTextGroup;
                 pGroup->sName = sGrpName;
@@ -322,7 +322,7 @@ void SwGlossaryList::Update()
     }
     else
     {
-        for(sal_uInt16 nPath = 0; nPath < pPathArr->Count(); nPath++)
+        for( size_t nPath = 0; nPath < pPathArr->size(); nPath++ )
         {
             SvStringsDtor aFoundGroupNames;
             SvStrings aFiles( 16, 16 );
@@ -341,7 +341,7 @@ void SwGlossaryList::Update()
                 aFoundGroupNames.Insert( new String(sName),
                                             aFoundGroupNames.Count());
                 sName += GLOS_DELIM;
-                sName += String::CreateFromInt32( nPath );
+                sName += String::CreateFromInt32( 
static_cast<sal_uInt16>(nPath) );
                 AutoTextGroup* pFound = FindGroup( sName );
                 if( !pFound )
                 {
@@ -372,7 +372,7 @@ void SwGlossaryList::Update()
                                                         GLOS_DELIM).ToInt32();
                 // nur die Gruppen werden geprueft, die fuer den
                 // aktuellen Teilpfad registriert sind
-                if(nGroupPath == nPath)
+                if( nGroupPath == static_cast<sal_uInt16>(nPath) )
                 {
                     sal_Bool bFound = sal_False;
                     String sCompareGroup = pGroup->sName.GetToken(0, 
GLOS_DELIM);
commit d8f2a82f6905178f1f594b22a0d5427b29c8eb33
Author: Brad Sowden <c...@sowden.org>
Date:   Tue Dec 27 19:19:51 2011 +1300

    fdo#38831 Convert some SvStrings to std::vector

diff --git a/sw/source/ui/inc/glosbib.hxx b/sw/source/ui/inc/glosbib.hxx
index c886ad6..a7f9c49 100644
--- a/sw/source/ui/inc/glosbib.hxx
+++ b/sw/source/ui/inc/glosbib.hxx
@@ -38,6 +38,8 @@
 #include <vcl/button.hxx>
 #include <vcl/fixed.hxx>
 
+#include <vector>
+
 class SwGlossaryHdl;
 class SvStrings;
 
@@ -82,9 +84,9 @@ class SwGlossaryGroupDlg : public SvxStandardDialog
     PushButton      aDelPB;
     PushButton      aRenamePB;
 
-    SvStrings*      pRemovedArr;
-    SvStrings*      pInsertedArr;
-    SvStrings*      pRenamedArr;
+    std::vector<String*> *pRemovedArr;
+    std::vector<String*> *pInsertedArr;
+    std::vector<String*> *pRenamedArr;
 
     SwGlossaryHdl   *pGlosHdl;
 
diff --git a/sw/source/ui/misc/glosbib.cxx b/sw/source/ui/misc/glosbib.cxx
index c3967b3..18f10d2 100644
--- a/sw/source/ui/misc/glosbib.cxx
+++ b/sw/source/ui/misc/glosbib.cxx
@@ -30,8 +30,6 @@
 #undef SW_DLLIMPLEMENTATION
 #endif
 
-
-
 #define _SVSTDARR_STRINGS
 #include <tools/urlobj.hxx>
 #include <tools/stream.hxx>
@@ -146,17 +144,20 @@ SwGlossaryGroupDlg::~SwGlossaryGroupDlg()
 
     if(pInsertedArr)
     {
-        pInsertedArr->DeleteAndDestroy(0, pInsertedArr->Count());
+        for(std::vector<String*>::const_iterator it(pInsertedArr->begin()); it 
!= pInsertedArr->end(); ++it)
+            delete *it;
         delete pInsertedArr;
     }
     if(pRemovedArr)
     {
-        pRemovedArr->DeleteAndDestroy(0, pRemovedArr->Count());
+        for(std::vector<String*>::const_iterator it(pRemovedArr->begin()); it 
!= pRemovedArr->end(); ++it)
+            delete *it;
         delete pRemovedArr;
     }
     if(pRenamedArr)
     {
-        pRenamedArr->DeleteAndDestroy(0, pRenamedArr->Count());
+        for(std::vector<String*>::const_iterator it(pRenamedArr->begin()); it 
!= pRenamedArr->end(); ++it)
+            delete *it;
         delete pRenamedArr;
     }
 
@@ -169,13 +170,11 @@ void SwGlossaryGroupDlg::Apply()
 
     String aActGroup = SwGlossaryDlg::GetCurrGroup();
 
-    if(pRemovedArr && pRemovedArr->Count())
+    if(pRemovedArr)
     {
-        sal_uInt16 nCount = pRemovedArr->Count();
-        for(sal_uInt16 i = 0; i < nCount; ++i)
+        for(std::vector<String*>::const_iterator it(pRemovedArr->begin()); it 
!= pRemovedArr->end(); ++it)
         {
-            const String* pDelEntry = (*pRemovedArr)[i];
-            const String sDelGroup = pDelEntry->GetToken(0, '\t');
+            const String sDelGroup = (*it)->GetToken(0, '\t');
             if( sDelGroup == aActGroup )
             {
                 //when the current group is deleted, the current group has to 
be relocated
@@ -187,7 +186,7 @@ void SwGlossaryGroupDlg::Apply()
                 }
             }
             String sMsg(SW_RES(STR_QUERY_DELETE_GROUP1));
-            String sTitle(pDelEntry->GetToken(1, '\t'));
+            String sTitle( (*it)->GetToken(1, '\t') );
             if(sTitle.Len())
                 sMsg += sTitle;
             else
@@ -200,29 +199,26 @@ void SwGlossaryGroupDlg::Apply()
 
     }
     //don't rename before there was one
-    if(pRenamedArr && pRenamedArr->Count())
+    if(pRenamedArr)
     {
-        sal_uInt16 nCount = pRenamedArr->Count();
-        for(sal_uInt16 i = 0; i < nCount; ++i)
+        for(std::vector<String*>::const_iterator it(pRenamedArr->begin()); it 
!= pRenamedArr->end(); ++it)
         {
-            String * pEntry = (*pRenamedArr)[i];
             xub_StrLen nStrSttPos = 0;
-            String sOld( pEntry->GetToken(0, RENAME_TOKEN_DELIM, nStrSttPos ) 
);
-            String sNew( pEntry->GetToken(0, RENAME_TOKEN_DELIM, nStrSttPos) );
-            String sTitle( pEntry->GetToken(0, RENAME_TOKEN_DELIM, nStrSttPos) 
);
+            String sOld( (*it)->GetToken(0, RENAME_TOKEN_DELIM, nStrSttPos ) );
+            String sNew( (*it)->GetToken(0, RENAME_TOKEN_DELIM, nStrSttPos) );
+            String sTitle( (*it)->GetToken(0, RENAME_TOKEN_DELIM, nStrSttPos) 
);
             pGlosHdl->RenameGroup(sOld, sNew, sTitle);
-            if(!i)
+            if( it == pRenamedArr->begin() )
                 sCreatedGroup = sNew;
         }
     }
-    if(pInsertedArr && pInsertedArr->Count())
+    if(pInsertedArr)
     {
-        sal_uInt16 nCount = pInsertedArr->Count();
-        for(sal_uInt16 i = 0; i < nCount; ++i)
+        for(std::vector<String*>::const_iterator it(pInsertedArr->begin()); it 
!= pInsertedArr->end(); ++it)
         {
-            String sNewGroup = *(*pInsertedArr)[i];
+            String sNewGroup = **it;
             String sNewTitle = sNewGroup.GetToken(0, GLOS_DELIM);
-            if( *(*pInsertedArr)[i] != aActGroup )
+            if( sNewGroup != aActGroup )
             {
                 pGlosHdl->NewGroup(sNewGroup, sNewTitle);
                 if(!sCreatedGroup.Len())
@@ -264,8 +260,8 @@ IMPL_LINK( SwGlossaryGroupDlg, NewHdl, Button*, EMPTYARG )
     sGroup += String::CreateFromInt32(aPathLB.GetSelectEntryPos());
     OSL_ENSURE(!pGlosHdl->FindGroupName(sGroup), "group already available!");
     if(!pInsertedArr)
-        pInsertedArr = new SvStrings;
-    pInsertedArr->Insert(new String(sGroup), pInsertedArr->Count());
+        pInsertedArr = new std::vector<String*>;
+    pInsertedArr->push_back(new String(sGroup));
     String sTemp(aNameED.GetText());
     sTemp += '\t';
     sTemp += aPathLB.GetSelectEntry();
@@ -294,15 +290,13 @@ IMPL_LINK( SwGlossaryGroupDlg, DeleteHdl, Button*, 
pButton  )
     String sEntry(pUserData->sGroupName);
     // if the name to be deleted is among the new ones - get rid of it
     sal_Bool bDelete = sal_True;
-    if(pInsertedArr && pInsertedArr->Count())
+    if(pInsertedArr)
     {
-        sal_uInt16 nCount = pInsertedArr->Count();
-        for(sal_uInt16 i = 0; i < nCount; ++i)
+        for(std::vector<String*>::iterator it(pInsertedArr->begin()); it != 
pInsertedArr->end(); ++it)
         {
-            const String* pTemp = (*pInsertedArr)[i];
-            if(*pTemp == sEntry)
+            if( **it == sEntry )
             {
-                pInsertedArr->Remove(i);
+                pInsertedArr->erase(it);
                 bDelete = sal_False;
                 break;
             }
@@ -312,16 +306,13 @@ IMPL_LINK( SwGlossaryGroupDlg, DeleteHdl, Button*, 
pButton  )
     // it should probably be renamed?
     if(bDelete)
     {
-        if(pRenamedArr && pRenamedArr->Count())
+        if(pRenamedArr)
         {
-            sal_uInt16 nCount = pRenamedArr->Count();
-            for(sal_uInt16 i = 0; i < nCount; ++i)
+            for(std::vector<String*>::iterator it(pRenamedArr->begin()); it != 
pRenamedArr->end(); ++it)
             {
-                const String* pTemp = (*pRenamedArr)[i];
-                String sTemp( pTemp->GetToken(0, RENAME_TOKEN_DELIM ));
-                if(sTemp == sEntry)
+                if( (*it)->GetToken(0, RENAME_TOKEN_DELIM) == sEntry )
                 {
-                    pRenamedArr->Remove(i);
+                    pRenamedArr->erase(it);
                     bDelete = sal_False;
                     break;
                 }
@@ -331,11 +322,11 @@ IMPL_LINK( SwGlossaryGroupDlg, DeleteHdl, Button*, 
pButton  )
     if(bDelete)
     {
         if(!pRemovedArr)
-            pRemovedArr = new SvStrings;
+            pRemovedArr = new std::vector<String*>;
         String sGroupEntry(pUserData->sGroupName);
         sGroupEntry += '\t';
         sGroupEntry += pUserData->sGroupTitle;
-        pRemovedArr->Insert(new String(sGroupEntry), pRemovedArr->Count());
+        pRemovedArr->push_back(new String(sGroupEntry));
     }
     delete pUserData;
     aGroupTLB.GetModel()->Remove(pEntry);
@@ -362,16 +353,14 @@ IMPL_LINK( SwGlossaryGroupDlg, RenameHdl, Button *, 
EMPTYARG )
 
     // if the name to be renamed is among the new ones - replace
     sal_Bool bDone = sal_False;
-    if(pInsertedArr && pInsertedArr->Count())
+    if(pInsertedArr)
     {
-        sal_uInt16 nCount = pInsertedArr->Count();
-        for(sal_uInt16 i = 0; i < nCount; ++i)
+        for(std::vector<String*>::iterator it(pInsertedArr->begin()); it != 
pInsertedArr->end(); ++it)
         {
-            const String* pTemp = (*pInsertedArr)[i];
-            if(*pTemp == sEntry)
+            if( **it == sEntry )
             {
-                pInsertedArr->Remove(i);
-                pInsertedArr->Insert(new String(sNewName), 
pInsertedArr->Count());
+                pInsertedArr->erase(it);
+                pInsertedArr->push_back(new String(sNewName));
                 bDone = sal_True;
                 break;
             }
@@ -380,12 +369,12 @@ IMPL_LINK( SwGlossaryGroupDlg, RenameHdl, Button *, 
EMPTYARG )
     if(!bDone)
     {
         if(!pRenamedArr)
-            pRenamedArr = new SvStrings;
+            pRenamedArr = new std::vector<String*>;
         sEntry += RENAME_TOKEN_DELIM;
         sEntry += sNewName;
         sEntry += RENAME_TOKEN_DELIM;
         sEntry += sNewTitle;
-        pRenamedArr->Insert(new String(sEntry), pRenamedArr->Count());
+        pRenamedArr->push_back(new String(sEntry));
     }
     delete (GlosBibUserData*)pEntry->GetUserData();
     aGroupTLB.GetModel()->Remove(pEntry);
@@ -467,13 +456,11 @@ sal_Bool SwGlossaryGroupDlg::IsDeleteAllowed(const String 
&rGroup)
     // as well! Because for non existing region names ReadOnly issues
     // sal_True.
 
-    if(pInsertedArr && pInsertedArr->Count())
+    if(pInsertedArr)
     {
-        sal_uInt16 nCount = pInsertedArr->Count();
-        for(sal_uInt16 i = 0; i < nCount; ++i)
+        for(std::vector<String*>::const_iterator it(pInsertedArr->begin()); it 
!= pInsertedArr->end(); ++it)
         {
-            const String* pTemp = (*pInsertedArr)[i];
-            if(*pTemp == rGroup)
+            if( **it == rGroup )
             {
                 bDel = sal_True;
                 break;
_______________________________________________
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to