summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-09-17 15:58:34 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-09-25 14:28:26 +0200
commitadd7d506b9ef9b799aefbbae1270642991b15668 (patch)
tree59bec8482d832a8bbcf8abd13c8529161b904cb3
parent191dda3eca5518aa866ddada48bc8465c8aba1ba (diff)
loplugin:useuniqueptr in SvImpLBox
Change-Id: I59aa026217ed250fab68afc4aa0086d4d1300eac Reviewed-on: https://gerrit.libreoffice.org/60627 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--basctl/source/basicide/baside2b.cxx2
-rw-r--r--cui/source/options/fontsubs.cxx4
-rw-r--r--cui/source/options/optfltr.cxx4
-rw-r--r--cui/source/tabpages/autocdlg.cxx4
-rw-r--r--include/svtools/treelistbox.hxx2
-rw-r--r--svtools/source/contnr/svimpbox.cxx6
-rw-r--r--svtools/source/contnr/treelistbox.cxx39
7 files changed, 28 insertions, 33 deletions
diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index f2ccbc6e3812..4cbd2fe8c6b0 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -2096,7 +2096,7 @@ void WatchTreeListBox::SetTabs()
sal_uInt16 nTabCount_ = aTabs.size();
for( sal_uInt16 i = 0 ; i < nTabCount_ ; i++ )
{
- SvLBoxTab* pTab = aTabs[i];
+ SvLBoxTab* pTab = aTabs[i].get();
if( i == 2 )
pTab->nFlags |= SvLBoxTabFlags::EDITABLE;
else
diff --git a/cui/source/options/fontsubs.cxx b/cui/source/options/fontsubs.cxx
index ce5dd9668c30..228632262dfa 100644
--- a/cui/source/options/fontsubs.cxx
+++ b/cui/source/options/fontsubs.cxx
@@ -435,11 +435,11 @@ void SvxFontSubstCheckListBox::SetTabs()
SvSimpleTable::SetTabs();
SvLBoxTabFlags nAdjust = SvLBoxTabFlags::ADJUST_RIGHT|SvLBoxTabFlags::ADJUST_LEFT|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::ADJUST_NUMERIC|SvLBoxTabFlags::FORCE;
- SvLBoxTab* pTab = aTabs[1];
+ SvLBoxTab* pTab = aTabs[1].get();
pTab->nFlags &= ~nAdjust;
pTab->nFlags |= SvLBoxTabFlags::PUSHABLE|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE;
- pTab = aTabs[2];
+ pTab = aTabs[2].get();
pTab->nFlags &= ~nAdjust;
pTab->nFlags |= SvLBoxTabFlags::PUSHABLE|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE;
}
diff --git a/cui/source/options/optfltr.cxx b/cui/source/options/optfltr.cxx
index 9ec7a56ed481..2e917cf10b4c 100644
--- a/cui/source/options/optfltr.cxx
+++ b/cui/source/options/optfltr.cxx
@@ -368,13 +368,13 @@ void OfaMSFilterTabPage2::MSFltrSimpleTable::SetTabs()
if( aTabs.size() > 1 )
{
- SvLBoxTab* pTab = aTabs[1];
+ SvLBoxTab* pTab = aTabs[1].get();
pTab->nFlags &= ~nAdjust;
pTab->nFlags |= SvLBoxTabFlags::PUSHABLE|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE;
}
if( aTabs.size() > 2 )
{
- SvLBoxTab* pTab = aTabs[2];
+ SvLBoxTab* pTab = aTabs[2].get();
pTab->nFlags &= ~nAdjust;
pTab->nFlags |= SvLBoxTabFlags::PUSHABLE|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE;
}
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index f221bb9da9e7..2fdb140df21c 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -761,13 +761,13 @@ void OfaACorrCheckListBox::SetTabs()
if( aTabs.size() > 1 )
{
- SvLBoxTab* pTab = aTabs[1];
+ SvLBoxTab* pTab = aTabs[1].get();
pTab->nFlags &= ~nAdjust;
pTab->nFlags |= SvLBoxTabFlags::PUSHABLE|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE;
}
if( aTabs.size() > 2 )
{
- SvLBoxTab* pTab = aTabs[2];
+ SvLBoxTab* pTab = aTabs[2].get();
pTab->nFlags &= ~nAdjust;
pTab->nFlags |= SvLBoxTabFlags::PUSHABLE|SvLBoxTabFlags::ADJUST_CENTER|SvLBoxTabFlags::FORCE;
}
diff --git a/include/svtools/treelistbox.hxx b/include/svtools/treelistbox.hxx
index ee6fff1a7d91..abaf5adb3e75 100644
--- a/include/svtools/treelistbox.hxx
+++ b/include/svtools/treelistbox.hxx
@@ -251,7 +251,7 @@ protected:
Link<SvTreeListBox*,bool> aDoubleClickHdl;
SvTreeListEntry* pTargetEntry;
SvLBoxButtonData* pCheckButtonData;
- std::vector<SvLBoxTab*> aTabs;
+ std::vector<std::unique_ptr<SvLBoxTab>> aTabs;
SvTreeFlags nTreeFlags;
SvTreeListBoxFlags nImpFlags;
// Move/CopySelection: Position of the current Entry in SelectionList
diff --git a/svtools/source/contnr/svimpbox.cxx b/svtools/source/contnr/svimpbox.cxx
index 0ae2d0caf635..551122ad913d 100644
--- a/svtools/source/contnr/svimpbox.cxx
+++ b/svtools/source/contnr/svimpbox.cxx
@@ -3161,8 +3161,8 @@ SvLBoxTab* SvImpLBox::NextTab( SvLBoxTab const * pTab )
return nullptr;
for( int nTab=0; nTab < (nTabCount-1); nTab++)
{
- if( pView->aTabs[nTab]==pTab )
- return pView->aTabs[nTab+1];
+ if( pView->aTabs[nTab].get() == pTab )
+ return pView->aTabs[nTab+1].get();
}
return nullptr;
}
@@ -3199,7 +3199,7 @@ bool SvImpLBox::SetMostRight( SvTreeListEntry* pEntry )
if( nLastItem < nLastTab )
nLastTab = nLastItem;
- SvLBoxTab* pTab = pView->aTabs[ nLastTab ];
+ SvLBoxTab* pTab = pView->aTabs[ nLastTab ].get();
SvLBoxItem& rItem = pEntry->GetItem( nLastTab );
long nTabPos = pView->GetTabPos( pEntry, pTab );
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index bbc4e4c71024..d3a667d5abb4 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -2460,10 +2460,12 @@ void SvTreeListBox::EditItemText(SvTreeListEntry* pEntry, SvLBoxString* pItem, c
aPos.setX( GetTabPos( pEntry, pTab ) );
long nOutputWidth = pImpl->GetOutputSize().Width();
Size aSize( nOutputWidth - aPos.X(), aItemSize.Height() );
- sal_uInt16 nPos = std::find( aTabs.begin(), aTabs.end(), pTab ) - aTabs.begin();
+ sal_uInt16 nPos = std::find_if( aTabs.begin(), aTabs.end(),
+ [pTab](const std::unique_ptr<SvLBoxTab>& p) { return p.get() == pTab; })
+ - aTabs.begin();
if( nPos+1 < static_cast<sal_uInt16>(aTabs.size()) )
{
- SvLBoxTab* pRightTab = aTabs[ nPos + 1 ];
+ SvLBoxTab* pRightTab = aTabs[ nPos + 1 ].get();
long nRight = GetTabPos( pEntry, pRightTab );
if( nRight <= nOutputWidth )
aSize.setWidth( nRight - aPos.X() );
@@ -2685,9 +2687,9 @@ void SvTreeListBox::PaintEntry1(SvTreeListEntry& rEntry, long nLine, vcl::Render
while (nCurTab < nTabCount && nCurItem < nItemCount)
{
- SvLBoxTab* pTab = aTabs[nCurTab];
+ SvLBoxTab* pTab = aTabs[nCurTab].get();
sal_uInt16 nNextTab = nCurTab + 1;
- SvLBoxTab* pNextTab = nNextTab < nTabCount ? aTabs[nNextTab] : nullptr;
+ SvLBoxTab* pNextTab = nNextTab < nTabCount ? aTabs[nNextTab].get() : nullptr;
SvLBoxItem* pItem = nCurItem < nItemCount ? &rEntry.GetItem(nCurItem) : nullptr;
SvLBoxTabFlags nFlags = pTab->nFlags;
@@ -2854,7 +2856,7 @@ void SvTreeListBox::PaintEntry1(SvTreeListEntry& rEntry, long nLine, vcl::Render
do
{
nNextTab++;
- pNextTab = nNextTab < nTabCount ? aTabs[nNextTab] : nullptr;
+ pNextTab = nNextTab < nTabCount ? aTabs[nNextTab].get() : nullptr;
} while (pNextTab && pNextTab->IsDynamic());
if (!(!pNextTab || (GetTabPos( &rEntry, pNextTab ) > nDynTabPos)))
@@ -2949,7 +2951,7 @@ tools::Rectangle SvTreeListBox::GetFocusRect( SvTreeListEntry* pEntry, long nLin
long nNextTabPos;
if( pTab && nCurTab < aTabs.size() - 1 )
{
- SvLBoxTab* pNextTab = aTabs[ nCurTab + 1 ];
+ SvLBoxTab* pNextTab = aTabs[ nCurTab + 1 ].get();
nNextTabPos = GetTabPos( pEntry, pNextTab );
}
else
@@ -2990,7 +2992,7 @@ tools::Rectangle SvTreeListBox::GetFocusRect( SvTreeListEntry* pEntry, long nLin
GetLastTab(SvLBoxTabFlags::SHOW_SELECTION,nLastTab);
nLastTab++;
if( nLastTab < aTabs.size() ) // is there another one?
- pLastTab = aTabs[ nLastTab ];
+ pLastTab = aTabs[ nLastTab ].get();
aSize.setWidth( pLastTab ? pLastTab->GetPos() : 0x0fffffff );
nFocusWidth = static_cast<short>(aSize.Width());
@@ -3045,7 +3047,7 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvTreeListEntry* pEntry, long nX,
SvLBoxItem* pItemClicked = nullptr;
sal_uInt16 nTabCount = aTabs.size();
sal_uInt16 nItemCount = pEntry->ItemCount();
- SvLBoxTab* pTab = aTabs.front();
+ SvLBoxTab* pTab = aTabs.front().get();
SvLBoxItem* pItem = &pEntry->GetItem(0);
sal_uInt16 nNextItem = 1;
nX -= GetMapMode().GetOrigin().X();
@@ -3054,7 +3056,7 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvTreeListEntry* pEntry, long nX,
while( true )
{
- SvLBoxTab* pNextTab=nNextItem<nTabCount ? aTabs[nNextItem] : nullptr;
+ SvLBoxTab* pNextTab=nNextItem<nTabCount ? aTabs[nNextItem].get() : nullptr;
long nStart = GetTabPos( pEntry, pTab );
long nNextTabPos;
@@ -3088,7 +3090,7 @@ SvLBoxItem* SvTreeListBox::GetItem_Impl( SvTreeListEntry* pEntry, long nX,
}
if( nNextItem >= nItemCount || nNextItem >= nTabCount)
break;
- pTab = aTabs[ nNextItem ];
+ pTab = aTabs[ nNextItem ].get();
pItem = &pEntry->GetItem( nNextItem );
nNextItem++;
}
@@ -3195,7 +3197,7 @@ void SvTreeListBox::AddTab(long nTabPos, SvLBoxTabFlags nFlags )
{
nFocusWidth = -1;
SvLBoxTab* pTab = new SvLBoxTab( nTabPos, nFlags );
- aTabs.push_back( pTab );
+ aTabs.emplace_back( pTab );
if( nTreeFlags & SvTreeFlags::USESEL )
{
sal_uInt16 nPos = aTabs.size() - 1;
@@ -3215,7 +3217,7 @@ SvLBoxTab* SvTreeListBox::GetFirstDynamicTab( sal_uInt16& rPos ) const
sal_uInt16 nTabCount = aTabs.size();
while( nCurTab < nTabCount )
{
- SvLBoxTab* pTab = aTabs[nCurTab];
+ SvLBoxTab* pTab = aTabs[nCurTab].get();
if( pTab->nFlags & SvLBoxTabFlags::DYNAMIC )
{
rPos = nCurTab;
@@ -3235,18 +3237,11 @@ SvLBoxTab* SvTreeListBox::GetFirstDynamicTab() const
SvLBoxTab* SvTreeListBox::GetTab( SvTreeListEntry const * pEntry, SvLBoxItem const * pItem) const
{
sal_uInt16 nPos = pEntry->GetPos( pItem );
- return aTabs[ nPos ];
+ return aTabs[ nPos ].get();
}
void SvTreeListBox::ClearTabList()
{
- sal_uInt16 nTabCount = aTabs.size();
- while( nTabCount )
- {
- nTabCount--;
- SvLBoxTab* pDelTab = aTabs[ nTabCount ];
- delete pDelTab;
- }
aTabs.clear();
}
@@ -3335,7 +3330,7 @@ SvLBoxTab* SvTreeListBox::GetFirstTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rPo
sal_uInt16 nTabCount = aTabs.size();
for( sal_uInt16 nPos = 0; nPos < nTabCount; nPos++ )
{
- SvLBoxTab* pTab = aTabs[ nPos ];
+ SvLBoxTab* pTab = aTabs[ nPos ].get();
if( pTab->nFlags & nFlagMask )
{
rPos = nPos;
@@ -3352,7 +3347,7 @@ void SvTreeListBox::GetLastTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rTabPos )
while( nPos )
{
--nPos;
- SvLBoxTab* pTab = aTabs[ nPos ];
+ SvLBoxTab* pTab = aTabs[ nPos ].get();
if( pTab->nFlags & nFlagMask )
{
rTabPos = nPos;