diff options
author | Michael Stahl <mstahl@redhat.com> | 2015-10-05 22:32:50 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-10-05 23:28:07 +0200 |
commit | 68daf1e8ebf44af3f5bf86306e592f6d03a07dab (patch) | |
tree | a2cecc351b2a16ae45094f0311e2affd99f21cb1 /sw/source/uibase | |
parent | b6b3251683d5a3bfbf038127f8bd226e23698bce (diff) |
sw: replace boost::ptr_vector with std::vector<std::unique_ptr>
Change-Id: I44f3ff3779ea9c35fadc02ae6f2970d33aeb2f25
Diffstat (limited to 'sw/source/uibase')
-rw-r--r-- | sw/source/uibase/inc/redlndlg.hxx | 6 | ||||
-rw-r--r-- | sw/source/uibase/misc/redlndlg.cxx | 40 |
2 files changed, 24 insertions, 22 deletions
diff --git a/sw/source/uibase/inc/redlndlg.hxx b/sw/source/uibase/inc/redlndlg.hxx index db8128f869ff..ea78d6426f55 100644 --- a/sw/source/uibase/inc/redlndlg.hxx +++ b/sw/source/uibase/inc/redlndlg.hxx @@ -33,6 +33,9 @@ #include <boost/ptr_container/ptr_vector.hpp> #include <o3tl/sorted_vector.hxx> +#include <memory> +#include <vector> + class SwChildWinWrapper; struct SwRedlineDataChild @@ -62,8 +65,7 @@ typedef boost::ptr_vector<SwRedlineDataChild> SwRedlineDataChildArr; class SW_DLLPUBLIC SwRedlineAcceptDlg { VclPtr<vcl::Window> pParentDlg; - boost::ptr_vector<SwRedlineDataParent> - aRedlineParents; + std::vector<std::unique_ptr<SwRedlineDataParent>> m_RedlineParents; SwRedlineDataChildArr aRedlineChildren; SwRedlineDataParentSortArr aUsedSeqNo; VclPtr<SvxAcceptChgCtr> aTabPagesCTRL; diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx index adc80f534b63..0b143b234449 100644 --- a/sw/source/uibase/misc/redlndlg.cxx +++ b/sw/source/uibase/misc/redlndlg.cxx @@ -231,12 +231,12 @@ void SwRedlineAcceptDlg::Init(sal_uInt16 nStart) aUsedSeqNo.clear(); if (nStart) - RemoveParents(nStart, aRedlineParents.size() - 1); + RemoveParents(nStart, m_RedlineParents.size() - 1); else { pTable->Clear(); aRedlineChildren.clear(); - aRedlineParents.erase(aRedlineParents.begin() + nStart, aRedlineParents.end()); + m_RedlineParents.erase(m_RedlineParents.begin() + nStart, m_RedlineParents.end()); } // insert parents @@ -400,21 +400,20 @@ void SwRedlineAcceptDlg::Activate() sal_uInt16 nCount = pSh->GetRedlineCount(); // check the number of pointers - SwRedlineDataParent *pParent = 0; sal_uInt16 i; for ( i = 0; i < nCount; i++) { const SwRangeRedline& rRedln = pSh->GetRedline(i); - if (i >= aRedlineParents.size()) + if (i >= m_RedlineParents.size()) { // new entries have been appended Init(i); return; } - pParent = &aRedlineParents[i]; + SwRedlineDataParent *const pParent = m_RedlineParents[i].get(); if (&rRedln.GetRedlineData() != pParent->pData) { // Redline-Parents were inserted, changed or deleted @@ -450,7 +449,7 @@ void SwRedlineAcceptDlg::Activate() } } - if (nCount != aRedlineParents.size()) + if (nCount != m_RedlineParents.size()) { // Redlines were deleted at the end Init(nCount); @@ -461,7 +460,7 @@ void SwRedlineAcceptDlg::Activate() for (i = 0; i < nCount; i++) { const SwRangeRedline& rRedln = pSh->GetRedline(i); - pParent = &aRedlineParents[i]; + SwRedlineDataParent *const pParent = m_RedlineParents[i].get(); if(rRedln.GetComment() != pParent->sComment) { @@ -490,7 +489,7 @@ sal_uInt16 SwRedlineAcceptDlg::CalcDiff(sal_uInt16 nStart, bool bChild) SwView *pView = ::GetActiveView(); SwWrtShell* pSh = pView->GetWrtShellPtr(); sal_uInt16 nAutoFormat = HasRedlineAutoFormat() ? nsRedlineType_t::REDLINE_FORM_AUTOFMT : 0; - SwRedlineDataParent *pParent = &aRedlineParents[nStart]; + SwRedlineDataParent *const pParent = m_RedlineParents[nStart].get(); const SwRangeRedline& rRedln = pSh->GetRedline(nStart); if (bChild) // should actually never happen, but just in case... @@ -525,10 +524,9 @@ sal_uInt16 SwRedlineAcceptDlg::CalcDiff(sal_uInt16 nStart, bool bChild) // have entries been deleted? const SwRedlineData *pRedlineData = &rRedln.GetRedlineData(); - sal_uInt16 i; - for ( i = nStart + 1; i < aRedlineParents.size(); i++) + for (sal_uInt16 i = nStart + 1; i < m_RedlineParents.size(); i++) { - if (aRedlineParents[i].pData == pRedlineData) + if (m_RedlineParents[i]->pData == pRedlineData) { // remove entries from nStart to i-1 RemoveParents(nStart, i - 1); @@ -539,9 +537,9 @@ sal_uInt16 SwRedlineAcceptDlg::CalcDiff(sal_uInt16 nStart, bool bChild) // entries been inserted? sal_uInt16 nCount = pSh->GetRedlineCount(); - pRedlineData = aRedlineParents[nStart].pData; + pRedlineData = m_RedlineParents[nStart]->pData; - for (i = nStart + 1; i < nCount; i++) + for (sal_uInt16 i = nStart + 1; i < nCount; i++) { if (&pSh->GetRedline(i).GetRedlineData() == pRedlineData) { @@ -657,12 +655,12 @@ void SwRedlineAcceptDlg::RemoveParents(sal_uInt16 nStart, sal_uInt16 nEnd) // set the cursor after the last entry because otherwise performance problem in TLB. // TLB would otherwise reset the cursor at every Remove (expensive) - sal_uInt16 nPos = std::min((sal_uInt16)nCount, (sal_uInt16)aRedlineParents.size()); + sal_uInt16 nPos = std::min((sal_uInt16)nCount, (sal_uInt16)m_RedlineParents.size()); SvTreeListEntry *pCurEntry = NULL; while( ( pCurEntry == NULL ) && ( nPos > 0 ) ) { --nPos; - pCurEntry = aRedlineParents[nPos].pTLBParent; + pCurEntry = m_RedlineParents[nPos]->pTLBParent; } if (pCurEntry) @@ -672,9 +670,10 @@ void SwRedlineAcceptDlg::RemoveParents(sal_uInt16 nStart, sal_uInt16 nEnd) for (sal_uInt16 i = nStart; i <= nEnd; i++) { - if (!bChildrenRemoved && aRedlineParents[i].pNext) + if (!bChildrenRemoved && m_RedlineParents[i]->pNext) { - SwRedlineDataChild* pChildPtr = const_cast<SwRedlineDataChild*>(aRedlineParents[i].pNext); + SwRedlineDataChild * pChildPtr = + const_cast<SwRedlineDataChild*>(m_RedlineParents[i]->pNext); for( SwRedlineDataChildArr::iterator it = aRedlineChildren.begin(); it != aRedlineChildren.end(); ++it) if (&*it == pChildPtr) @@ -691,7 +690,7 @@ void SwRedlineAcceptDlg::RemoveParents(sal_uInt16 nStart, sal_uInt16 nEnd) break; } } - SvTreeListEntry *pEntry = aRedlineParents[i].pTLBParent; + SvTreeListEntry *const pEntry = m_RedlineParents[i]->pTLBParent; if (pEntry) { long nIdx = aLBoxArr.size() - 1L; @@ -713,7 +712,7 @@ void SwRedlineAcceptDlg::RemoveParents(sal_uInt16 nStart, sal_uInt16 nEnd) // unfortunately by Remove it was selected from the TLB always again ... pTable->SelectAll(false); - aRedlineParents.erase( aRedlineParents.begin() + nStart, aRedlineParents.begin() + nEnd + 1); + m_RedlineParents.erase(m_RedlineParents.begin() + nStart, m_RedlineParents.begin() + nEnd + 1); } void SwRedlineAcceptDlg::InsertParents(sal_uInt16 nStart, sal_uInt16 nEnd) @@ -756,7 +755,8 @@ void SwRedlineAcceptDlg::InsertParents(sal_uInt16 nStart, sal_uInt16 nEnd) pRedlineParent->pNext = 0; OUString sComment(rRedln.GetComment()); pRedlineParent->sComment = sComment.replace('\n', ' '); - aRedlineParents.insert(aRedlineParents.begin() + i, pRedlineParent); + m_RedlineParents.insert(m_RedlineParents.begin() + i, + std::unique_ptr<SwRedlineDataParent>(pRedlineParent)); RedlinData *pData = new RedlinData; pData->pData = pRedlineParent; |