summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-12-18 17:03:46 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-12-19 07:05:27 +0100
commit06942d373560cd84246df03a404cebfba4f7d28f (patch)
tree392f9b1e37a130804606ac14779425e7929dcdcd /cui
parent6e3b75649383b877b46dd13dbe28c36115671d21 (diff)
simplify HangulHanjaEditDictDialog::m_vElements
no need to store a ref-counted thing like OUString using the heap Change-Id: I372417f1a60d120e867f4f4b3b9335b73693accb Reviewed-on: https://gerrit.libreoffice.org/65348 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/dialogs/hangulhanjadlg.cxx68
1 files changed, 19 insertions, 49 deletions
diff --git a/cui/source/dialogs/hangulhanjadlg.cxx b/cui/source/dialogs/hangulhanjadlg.cxx
index f22866b0bea3..18338fa0f79c 100644
--- a/cui/source/dialogs/hangulhanjadlg.cxx
+++ b/cui/source/dialogs/hangulhanjadlg.cxx
@@ -1222,7 +1222,7 @@ namespace svx
{
private:
protected:
- std::vector<OUString*> m_vElements;
+ std::vector<OUString> m_vElements;
sal_uInt16 m_nNumOfEntries;
// index of the internal iterator, used for First() and Next() methods
sal_uInt16 m_nAct;
@@ -1233,8 +1233,8 @@ namespace svx
~SuggestionList();
void Set( const OUString& _rElement, sal_uInt16 _nNumOfElement );
- bool Reset( sal_uInt16 _nNumOfElement );
- const OUString* Get( sal_uInt16 _nNumOfElement ) const;
+ void Reset( sal_uInt16 _nNumOfElement );
+ const OUString & Get( sal_uInt16 _nNumOfElement ) const;
void Clear();
const OUString* First();
@@ -1244,7 +1244,7 @@ namespace svx
};
SuggestionList::SuggestionList() :
- m_vElements(MAXNUM_SUGGESTIONS, static_cast<OUString*>(nullptr))
+ m_vElements(MAXNUM_SUGGESTIONS)
{
m_nAct = m_nNumOfEntries = 0;
}
@@ -1256,40 +1256,19 @@ namespace svx
void SuggestionList::Set( const OUString& _rElement, sal_uInt16 _nNumOfElement )
{
- bool bRet = _nNumOfElement < m_vElements.size();
- if( bRet )
- {
- if( m_vElements[_nNumOfElement] != nullptr )
- *(m_vElements[_nNumOfElement]) = _rElement;
- else
- {
- m_vElements[_nNumOfElement] = new OUString( _rElement );
- ++m_nNumOfEntries;
- }
- }
+ m_vElements[_nNumOfElement] = _rElement;
+ ++m_nNumOfEntries;
}
- bool SuggestionList::Reset( sal_uInt16 _nNumOfElement )
+ void SuggestionList::Reset( sal_uInt16 _nNumOfElement )
{
- bool bRet = _nNumOfElement < m_vElements.size();
- if( bRet )
- {
- if( m_vElements[_nNumOfElement] != nullptr )
- {
- delete m_vElements[_nNumOfElement];
- m_vElements[_nNumOfElement] = nullptr;
- --m_nNumOfEntries;
- }
- }
-
- return bRet;
+ m_vElements[_nNumOfElement].clear();
+ --m_nNumOfEntries;
}
- const OUString* SuggestionList::Get( sal_uInt16 _nNumOfElement ) const
+ const OUString& SuggestionList::Get( sal_uInt16 _nNumOfElement ) const
{
- if( _nNumOfElement < m_vElements.size())
- return m_vElements[_nNumOfElement];
- return nullptr;
+ return m_vElements[_nNumOfElement];
}
void SuggestionList::Clear()
@@ -1297,29 +1276,22 @@ namespace svx
if( m_nNumOfEntries )
{
for (auto & vElement : m_vElements)
- {
- if( vElement != nullptr )
- {
- delete vElement;
- vElement = nullptr;
- }
- }
-
+ vElement.clear();
m_nNumOfEntries = m_nAct = 0;
}
}
const OUString* SuggestionList::Next_()
{
- const OUString* pRet = nullptr;
- while( m_nAct < m_vElements.size() && !pRet )
+ while( m_nAct < m_vElements.size() )
{
- pRet = m_vElements[ m_nAct ];
- if( !pRet )
- ++m_nAct;
+ auto & s = m_vElements[ m_nAct ];
+ if (!s.isEmpty())
+ return &s;
+ ++m_nAct;
}
- return pRet;
+ return nullptr;
}
const OUString* SuggestionList::First()
@@ -1688,9 +1660,7 @@ namespace svx
OUString aStr;
if( m_pSuggestions )
{
- const OUString* p = m_pSuggestions->Get( _nEntryNum );
- if( p )
- aStr = *p;
+ aStr = m_pSuggestions->Get( _nEntryNum );
}
_rEdit.SetText( aStr );