summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorBrad Sowden <code@sowden.org>2011-12-27 23:18:50 +1300
committerJan Holesovsky <kendy@suse.cz>2011-12-30 16:37:14 +0100
commita9b3b64a5a94a4c27ac524ac6997ef2e2467267c (patch)
treeb653f99fe56c7cf9df23acccb4be6ba28a2bc40d /sw
parentd8f2a82f6905178f1f594b22a0d5427b29c8eb33 (diff)
fdo#38831 Convert some SvStrings to std::vector (part 2)
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/dochdl/gloshdl.cxx8
-rw-r--r--sw/source/ui/inc/glosbib.hxx3
-rw-r--r--sw/source/ui/inc/glosdoc.hxx6
-rw-r--r--sw/source/ui/misc/glosbib.cxx10
-rw-r--r--sw/source/ui/misc/glosdoc.cxx66
-rw-r--r--sw/source/ui/misc/glossary.cxx5
-rw-r--r--sw/source/ui/utlui/gloslst.cxx10
7 files changed, 43 insertions, 65 deletions
diff --git a/sw/source/ui/dochdl/gloshdl.cxx b/sw/source/ui/dochdl/gloshdl.cxx
index efd545f79d2c..2fa3c324daeb 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 a7f9c4972db3..83c270605ca3 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 b85e6fa74283..a0db0b88e045 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 18f10d299e9e..fff2a2c2ecaf 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 661ddc1515bb..3f02b0138890 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 fe61a0b08333..66c5bea0c9c7 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 1d1720fe3373..860b5d1b0d34 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);