Kaydet (Commit) a9b3b64a authored tarafından Brad Sowden's avatar Brad Sowden Kaydeden (comit) Jan Holesovsky

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

üst d8f2a82f
......@@ -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;
}
}
......
......@@ -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();
......
......@@ -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;
......@@ -142,7 +142,7 @@ public:
void UpdateGlosPath(sal_Bool bFull);
void ShowError();
inline sal_uLong IsGlosPathErr() { return m_bError; }
const SvStrings* GetPathArray() const {return m_pPathArr;}
const std::vector<String*>* GetPathArray() const { return &m_aPathArr; }
};
......
......@@ -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);
......
......@@ -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];
}
......
......@@ -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;
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment