summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-21 20:19:32 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-21 22:13:33 +0100
commita1e4a1120135eab16ba8d07e708f4860a3fe4cfc (patch)
tree05a8da51f59038023b72c87b80eeddaab1fc101d /sw
parente2b3be6416df0c8913b2d6bb32c34fe162a0a019 (diff)
SwGlossaries: some cleanup
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/dochdl/gloshdl.cxx7
-rw-r--r--sw/source/ui/inc/glosbib.hxx2
-rw-r--r--sw/source/ui/inc/glosdoc.hxx12
-rw-r--r--sw/source/ui/misc/glosbib.cxx6
-rw-r--r--sw/source/ui/misc/glosdoc.cxx111
-rw-r--r--sw/source/ui/misc/glossary.cxx6
-rw-r--r--sw/source/ui/uno/unoatxt.cxx6
-rw-r--r--sw/source/ui/utlui/gloslst.cxx10
8 files changed, 76 insertions, 84 deletions
diff --git a/sw/source/ui/dochdl/gloshdl.cxx b/sw/source/ui/dochdl/gloshdl.cxx
index b3e81a9e9267..401ae6b8c2ea 100644
--- a/sw/source/ui/dochdl/gloshdl.cxx
+++ b/sw/source/ui/dochdl/gloshdl.cxx
@@ -136,11 +136,12 @@ 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 std::vector<String*> *pPathArr = rStatGlossaries.GetPathArray();
+ const std::vector<String> & rPathArr =
+ rStatGlossaries.GetPathArray();
sal_uInt16 nCurrentPath = USHRT_MAX;
- for( size_t nPath = 0; nPath < pPathArr->size(); nPath++ )
+ for (size_t nPath = 0; nPath < rPathArr.size(); ++nPath)
{
- if(sCurEntryPath == *(*pPathArr)[nPath])
+ if (sCurEntryPath == rPathArr[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 b1c27053009a..423a0588fb0c 100644
--- a/sw/source/ui/inc/glosbib.hxx
+++ b/sw/source/ui/inc/glosbib.hxx
@@ -104,7 +104,7 @@ protected:
public:
SwGlossaryGroupDlg(Window * pParent,
- const std::vector<String*> *pPathArr,
+ std::vector<String> const& rPathArr,
SwGlossaryHdl *pGlosHdl);
~SwGlossaryGroupDlg();
diff --git a/sw/source/ui/inc/glosdoc.hxx b/sw/source/ui/inc/glosdoc.hxx
index 114c9bc24b79..f84ffae2475f 100644
--- a/sw/source/ui/inc/glosdoc.hxx
+++ b/sw/source/ui/inc/glosdoc.hxx
@@ -61,12 +61,12 @@ class SW_DLLPUBLIC SwGlossaries
String m_aPath;
String m_sOldErrPath;
String m_sErrPath;
- std::vector<String*> m_aPathArr;
- std::vector<String*> *m_pGlosArr;
+ std::vector<String> m_PathArr;
+ std::vector<String> m_GlosArr;
sal_Bool m_bError;
SW_DLLPRIVATE SwTextBlocks* GetGlosDoc(const String &rName, sal_Bool bCreate = sal_True) const;
- SW_DLLPRIVATE std::vector<String*>* GetNameList();
+ SW_DLLPRIVATE std::vector<String> & GetNameList();
// implementation in unoatxt.cxx
SW_DLLPRIVATE void RemoveFileFromList( const String& rGroup );
@@ -121,8 +121,8 @@ public:
sal_Bool FindGroupName(String & rGroup);
SwTextBlocks* GetGroupDoc(const String &rName,
- sal_Bool bCreate = sal_False) const;
- SwTextBlocks* GetDefGroupDoc() const {return GetGroupDoc(GetDefName());}
+ sal_Bool bCreate = sal_False);
+ SwTextBlocks* GetDefGroupDoc() { return GetGroupDoc(GetDefName()); }
void PutGroupDoc(SwTextBlocks *pBlock);
static String GetDefName();
static String GetExtension();
@@ -137,7 +137,7 @@ public:
void UpdateGlosPath(sal_Bool bFull);
void ShowError();
inline sal_uLong IsGlosPathErr() { return m_bError; }
- const std::vector<String*>* GetPathArray() const { return &m_aPathArr; }
+ std::vector<String> const& GetPathArray() const { return m_PathArr; }
};
diff --git a/sw/source/ui/misc/glosbib.cxx b/sw/source/ui/misc/glosbib.cxx
index 4d09b00d6a13..3b4d58f4e173 100644
--- a/sw/source/ui/misc/glosbib.cxx
+++ b/sw/source/ui/misc/glosbib.cxx
@@ -59,7 +59,7 @@
#define RENAME_TOKEN_DELIM (sal_Unicode)1
SwGlossaryGroupDlg::SwGlossaryGroupDlg(Window * pParent,
- const std::vector<String*> *pPathArr,
+ std::vector<String> const& rPathArr,
SwGlossaryHdl *pHdl) :
SvxStandardDialog(pParent, SW_RES(DLG_BIB_BASE)),
aBibFT( this, SW_RES(FT_BIB)),
@@ -96,9 +96,9 @@ SwGlossaryGroupDlg::SwGlossaryGroupDlg(Window * pParent,
aPathLB.SetSelectHdl(LINK(this, SwGlossaryGroupDlg, ModifyHdl));
aRenamePB.SetClickHdl(LINK(this, SwGlossaryGroupDlg, RenameHdl));
- for( size_t i = 0; i < pPathArr->size(); i++ )
+ for (size_t i = 0; i < rPathArr.size(); ++i)
{
- String sPath(*(*pPathArr)[i]);
+ String sPath(rPathArr[i]);
INetURLObject aTempURL(sPath);
sPath = aTempURL.GetMainURL(INetURLObject::DECODE_WITH_CHARSET );
aPathLB.InsertEntry(sPath);
diff --git a/sw/source/ui/misc/glosdoc.cxx b/sw/source/ui/misc/glosdoc.cxx
index e84455dde29a..f07fe52cc9f4 100644
--- a/sw/source/ui/misc/glosdoc.cxx
+++ b/sw/source/ui/misc/glosdoc.cxx
@@ -114,7 +114,7 @@ String SwGlossaries::GetDefName()
------------------------------------------------------------------------*/
sal_uInt16 SwGlossaries::GetGroupCnt()
{
- return static_cast<sal_uInt16>(GetNameList()->size());
+ return static_cast<sal_uInt16>(GetNameList().size());
}
/*------------------------------------------------------------------------
@@ -143,7 +143,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_aPathArr[nPath] )
+ if (!SWUnoHelper::UCB_IsCaseSensitiveFileName( m_PathArr[nPath] )
&& rSCmp.isEqual( rGroup, sTemp.GetToken( 0, GLOS_DELIM) ) )
{
rGroup = sTemp;
@@ -155,8 +155,9 @@ sal_Bool SwGlossaries::FindGroupName(String & rGroup)
String SwGlossaries::GetGroupName(sal_uInt16 nGroupId)
{
- OSL_ENSURE(static_cast<size_t>(nGroupId) < m_pGlosArr->size(), "Textbausteinarray ueberindiziert");
- return *(*m_pGlosArr)[nGroupId];
+ OSL_ENSURE(static_cast<size_t>(nGroupId) < m_GlosArr.size(),
+ "SwGlossaries::GetGroupName: index out of bounds");
+ return m_GlosArr[nGroupId];
}
String SwGlossaries::GetGroupTitle( const String& rGroupName )
@@ -178,20 +179,20 @@ String SwGlossaries::GetGroupTitle( const String& rGroupName )
Description: supplies the group rName's text block document
------------------------------------------------------------------------*/
SwTextBlocks* SwGlossaries::GetGroupDoc(const String &rName,
- sal_Bool bCreate) const
+ sal_Bool bCreate)
{
// insert to the list of text blocks if applicable
- if(bCreate && m_pGlosArr)
+ if(bCreate && !m_GlosArr.empty())
{
- std::vector<String*>::const_iterator it(m_pGlosArr->begin());
- for(; it != m_pGlosArr->end(); ++it)
+ std::vector<String>::const_iterator it(m_GlosArr.begin());
+ for (; it != m_GlosArr.end(); ++it)
{
- if(**it == rName)
+ if (*it == rName)
break;
}
- if( it == m_pGlosArr->end() )
+ if (it == m_GlosArr.end())
{ // block not in the list
- m_pGlosArr->push_back(new String(rName));
+ m_GlosArr.push_back(rName);
}
}
return GetGlosDoc( rName, bCreate );
@@ -212,16 +213,16 @@ 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( static_cast<size_t>(nNewPath) >= m_aPathArr.size() )
+ if (static_cast<size_t>(nNewPath) >= m_PathArr.size())
return sal_False;
- String sNewFilePath(*m_aPathArr[nNewPath]);
+ String sNewFilePath(m_PathArr[nNewPath]);
String sNewGroup = lcl_CheckFileName(sNewFilePath, rGroupName.GetToken(0, GLOS_DELIM));
sNewGroup += GLOS_DELIM;
sNewGroup += rGroupName.GetToken(1, GLOS_DELIM);
SwTextBlocks *pBlock = GetGlosDoc( sNewGroup );
if(pBlock)
{
- GetNameList()->push_back(new String(sNewGroup));
+ GetNameList().push_back(sNewGroup);
pBlock->SetName(rTitle);
PutGroupDoc(pBlock);
rGroupName = sNewGroup;
@@ -235,9 +236,9 @@ sal_Bool SwGlossaries::RenameGroupDoc(
{
sal_Bool bRet = sal_False;
sal_uInt16 nOldPath = (sal_uInt16)rOldGroup.GetToken(1, GLOS_DELIM).ToInt32();
- if( static_cast<size_t>(nOldPath) < m_aPathArr.size() )
+ if (static_cast<size_t>(nOldPath) < m_PathArr.size())
{
- String sOldFileURL(*m_aPathArr[nOldPath]);
+ String sOldFileURL(m_PathArr[nOldPath]);
sOldFileURL += INET_PATH_TOKEN;
sOldFileURL += rOldGroup.GetToken(0, GLOS_DELIM);
sOldFileURL += SwGlossaries::GetExtension();
@@ -246,9 +247,9 @@ sal_Bool SwGlossaries::RenameGroupDoc(
if(bExist)
{
sal_uInt16 nNewPath = (sal_uInt16)rNewGroup.GetToken(1, GLOS_DELIM).ToInt32();
- if( static_cast<size_t>(nNewPath) < m_aPathArr.size() )
+ if (static_cast<size_t>(nNewPath) < m_PathArr.size())
{
- String sNewFilePath(*m_aPathArr[nNewPath]);
+ String sNewFilePath(m_PathArr[nNewPath]);
String sNewFileName = lcl_CheckFileName(
sNewFilePath, rNewGroup.GetToken(0, GLOS_DELIM));
const sal_uInt16 nFileNameLen = sNewFileName.Len();
@@ -270,10 +271,14 @@ sal_Bool SwGlossaries::RenameGroupDoc(
rNewGroup = sNewFileName.Copy(0, nFileNameLen);
rNewGroup += GLOS_DELIM;
rNewGroup += String::CreateFromInt32(nNewPath);
- if(!m_pGlosArr)
+ if (m_GlosArr.empty())
+ {
GetNameList();
+ }
else
- m_pGlosArr->push_back(new String(rNewGroup));
+ {
+ m_GlosArr.push_back(rNewGroup);
+ }
sNewFilePath += INET_PATH_TOKEN;
sNewFilePath += sNewFileName ;
@@ -294,9 +299,9 @@ sal_Bool SwGlossaries::RenameGroupDoc(
sal_Bool SwGlossaries::DelGroupDoc(const String &rName)
{
sal_uInt16 nPath = (sal_uInt16)rName.GetToken(1, GLOS_DELIM).ToInt32();
- if( static_cast<size_t>(nPath) >= m_aPathArr.size() )
+ if (static_cast<size_t>(nPath) >= m_PathArr.size())
return sal_False;
- String sFileURL(*m_aPathArr[nPath]);
+ String sFileURL(m_PathArr[nPath]);
String aTmp( rName.GetToken(0, GLOS_DELIM));
String aName(aTmp);
aName += GLOS_DELIM;
@@ -316,16 +321,6 @@ sal_Bool SwGlossaries::DelGroupDoc(const String &rName)
SwGlossaries::~SwGlossaries()
{
- if( m_pGlosArr )
- {
- for(std::vector<String*>::const_iterator it(m_pGlosArr->begin()); it != m_pGlosArr->end(); ++it)
- delete *it;
- delete m_pGlosArr;
- }
-
- for(std::vector<String*>::const_iterator it(m_aPathArr.begin()); it != m_aPathArr.end(); ++it)
- delete *it;
-
InvalidateUNOOjects();
}
@@ -336,9 +331,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( static_cast<size_t>(nPath) < m_aPathArr.size() )
+ if (static_cast<size_t>(nPath) < m_PathArr.size())
{
- String sFileURL(*m_aPathArr[nPath]);
+ String sFileURL(m_PathArr[nPath]);
String aTmp( rName.GetToken(0, GLOS_DELIM));
aTmp += SwGlossaries::GetExtension();
sFileURL += INET_PATH_TOKEN;
@@ -369,17 +364,16 @@ SwTextBlocks* SwGlossaries::GetGlosDoc( const String &rName, sal_Bool bCreate )
/*------------------------------------------------------------------------
Description: access to the list of names; read in if applicable
------------------------------------------------------------------------*/
-std::vector<String*>* SwGlossaries::GetNameList()
+std::vector<String> & SwGlossaries::GetNameList()
{
- if( !m_pGlosArr )
+ if (m_GlosArr.empty())
{
- m_pGlosArr = new std::vector<String*>;
String sExt( SwGlossaries::GetExtension() );
- for( size_t i = 0; i < m_aPathArr.size(); ++i )
+ for (size_t i = 0; i < m_PathArr.size(); ++i)
{
std::vector<String*> aFiles;
- SWUnoHelper::UCB_GetFileListOfFolder( *m_aPathArr[i], aFiles, &sExt );
+ SWUnoHelper::UCB_GetFileListOfFolder(m_PathArr[i], aFiles, &sExt);
for( std::vector<String*>::const_iterator filesIt(aFiles.begin());
filesIt != aFiles.end(); ++filesIt)
{
@@ -387,26 +381,25 @@ std::vector<String*>* SwGlossaries::GetNameList()
String sName( pTitle->Copy( 0, pTitle->Len() - sExt.Len() ));
sName += GLOS_DELIM;
sName += String::CreateFromInt32( static_cast<sal_Int16>(i) );
- m_pGlosArr->push_back( new String(sName) );
+ m_GlosArr.push_back(sName);
// don't need any more these pointers
delete pTitle;
}
}
- if( m_pGlosArr->empty() )
+ if (m_GlosArr.empty())
{
// the standard block is inside of the path's first part
- String *pTmp = new String( SwGlossaries::GetDefName() );
- (*pTmp) += GLOS_DELIM;
- (*pTmp) += '0';
- m_pGlosArr->push_back( pTmp );
+ String tmp( SwGlossaries::GetDefName() );
+ tmp += GLOS_DELIM;
+ tmp += '0';
+ m_GlosArr.push_back( tmp );
}
}
- return m_pGlosArr;
+ return m_GlosArr;
}
-SwGlossaries::SwGlossaries() :
- m_pGlosArr(0)
+SwGlossaries::SwGlossaries()
{
UpdateGlosPath(sal_True);
}
@@ -435,9 +428,7 @@ void SwGlossaries::UpdateGlosPath(sal_Bool bFull)
{
m_aPath = aNewPath;
- for(std::vector<String*>::const_iterator it(m_aPathArr.begin()); it != m_aPathArr.end(); ++it)
- delete *it;
- m_aPathArr.clear();
+ m_PathArr.clear();
sal_uInt16 nTokenCount = comphelper::string::getTokenCount(m_aPath, SVT_SEARCHPATH_DELIMITER);
std::vector<String*> aDirArr;
@@ -460,7 +451,7 @@ void SwGlossaries::UpdateGlosPath(sal_Bool bFull)
m_sErrPath += String(aTemp.GetFull());
}
else
- m_aPathArr.push_back(new String(sPth));
+ m_PathArr.push_back(sPth);
}
for(std::vector<String*>::const_iterator it(aDirArr.begin()); it != aDirArr.end(); ++it)
delete *it;
@@ -479,11 +470,9 @@ void SwGlossaries::UpdateGlosPath(sal_Bool bFull)
else
m_bError = sal_False;
- if(m_pGlosArr)
+ if (!m_GlosArr.empty())
{
- for(std::vector<String*>::const_iterator it(m_pGlosArr->begin()); it != m_pGlosArr->end(); ++it)
- delete *it;
- DELETEZ(m_pGlosArr);
+ m_GlosArr.clear();
GetNameList();
}
}
@@ -503,11 +492,12 @@ String SwGlossaries::GetExtension()
void SwGlossaries::RemoveFileFromList( const String& rGroup )
{
- if(m_pGlosArr)
+ if (!m_GlosArr.empty())
{
- for(std::vector<String*>::iterator it(m_pGlosArr->begin()); it != m_pGlosArr->end(); ++it)
+ for (std::vector<String>::iterator it(m_GlosArr.begin());
+ it != m_GlosArr.end(); ++it)
{
- if(**it == rGroup)
+ if (*it == rGroup)
{
rtl::OUString aUName = rGroup;
{
@@ -552,8 +542,7 @@ void SwGlossaries::RemoveFileFromList( const String& rGroup )
}
}
- delete *it;
- m_pGlosArr->erase(it);
+ m_GlosArr.erase(it);
break;
}
}
diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx
index c80a663b8517..3ed816f8defd 100644
--- a/sw/source/ui/misc/glossary.cxx
+++ b/sw/source/ui/misc/glossary.cxx
@@ -939,10 +939,10 @@ void SwGlTreeListBox::RequestHelp( const HelpEvent& rHEvt )
if(!GetParent(pEntry))
{
GroupUserData* pData = (GroupUserData*)pEntry->GetUserData();
- const std::vector<String*>* pPathArr = ::GetGlossaries()->GetPathArray();
- if( !pPathArr->empty() )
+ const std::vector<String> & rPathArr = ::GetGlossaries()->GetPathArray();
+ if( !rPathArr.empty() )
{
- sMsg = (*(*pPathArr)[pData->nPathIdx]);
+ sMsg = rPathArr[pData->nPathIdx];
sMsg += INET_PATH_TOKEN;
sMsg += pData->sGroupName;
sMsg += SwGlossaries::GetExtension();
diff --git a/sw/source/ui/uno/unoatxt.cxx b/sw/source/ui/uno/unoatxt.cxx
index 34a7fdc06e14..8914d1d2b4bf 100644
--- a/sw/source/ui/uno/unoatxt.cxx
+++ b/sw/source/ui/uno/unoatxt.cxx
@@ -1073,7 +1073,8 @@ void SwAutoTextEventDescriptor::replaceByName(
(nEvent == SW_EVENT_START_INS_GLOSSARY) ,
"Unknown event ID" );
- const SwGlossaries* pGlossaries = rAutoTextEntry.GetGlossaries();
+ SwGlossaries *const pGlossaries =
+ const_cast<SwGlossaries*>(rAutoTextEntry.GetGlossaries());
SwTextBlocks* pBlocks =
pGlossaries->GetGroupDoc( rAutoTextEntry.GetGroupName() );
OSL_ENSURE( NULL != pBlocks,
@@ -1111,7 +1112,8 @@ void SwAutoTextEventDescriptor::getByName(
(nEvent == SW_EVENT_START_INS_GLOSSARY) ,
"Unknown event ID" );
- const SwGlossaries* pGlossaries = rAutoTextEntry.GetGlossaries();
+ SwGlossaries *const pGlossaries =
+ const_cast<SwGlossaries*>(rAutoTextEntry.GetGlossaries());
SwTextBlocks* pBlocks =
pGlossaries->GetGroupDoc( rAutoTextEntry.GetGroupName() );
OSL_ENSURE( NULL != pBlocks,
diff --git a/sw/source/ui/utlui/gloslst.cxx b/sw/source/ui/utlui/gloslst.cxx
index 485406f3b1cb..cc8704570163 100644
--- a/sw/source/ui/utlui/gloslst.cxx
+++ b/sw/source/ui/utlui/gloslst.cxx
@@ -270,7 +270,7 @@ void SwGlossaryList::Update()
ClearGroups();
}
SwGlossaries* pGlossaries = ::GetGlossaries();
- const std::vector<String*>* pPathArr = pGlossaries->GetPathArray();
+ const std::vector<String> & rPathArr = pGlossaries->GetPathArray();
String sExt( SwGlossaries::GetExtension() );
if(!bFilled)
{
@@ -279,13 +279,13 @@ void SwGlossaryList::Update()
{
String sGrpName = pGlossaries->GetGroupName(i);
sal_uInt16 nPath = (sal_uInt16)sGrpName.GetToken(1, GLOS_DELIM).ToInt32();
- if( static_cast<size_t>(nPath) < pPathArr->size() )
+ if( static_cast<size_t>(nPath) < rPathArr.size() )
{
AutoTextGroup* pGroup = new AutoTextGroup;
pGroup->sName = sGrpName;
FillGroup(pGroup, pGlossaries);
- String sName = *(*pPathArr)[nPath];
+ String sName = rPathArr[nPath];
sName += INET_PATH_TOKEN;
sName += pGroup->sName.GetToken(0, GLOS_DELIM);
sName += sExt;
@@ -301,13 +301,13 @@ void SwGlossaryList::Update()
}
else
{
- for( size_t nPath = 0; nPath < pPathArr->size(); nPath++ )
+ for( size_t nPath = 0; nPath < rPathArr.size(); nPath++ )
{
std::vector<String> aFoundGroupNames;
std::vector<String*> aFiles;
SvPtrarr aDateTimeArr( 16 );
- SWUnoHelper::UCB_GetFileListOfFolder( *(*pPathArr)[nPath], aFiles,
+ SWUnoHelper::UCB_GetFileListOfFolder( rPathArr[nPath], aFiles,
&sExt, &aDateTimeArr );
for( size_t nFiles = 0; nFiles < aFiles.size(); ++nFiles )
{