summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-08-16 11:40:54 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-08-17 10:39:38 +0200
commit99aad471716bfd212e29eebdcbdfb260627f1ae1 (patch)
tree641e05013c24713019e35fb64b75969dec5f4105
parentd94ec445b7377062a5b6503c2dc4a3182612cd0e (diff)
loplugin:useuniqueptr in SwPagePreviewLayout
Change-Id: Iecec5b3d4651eb6a1d8fe0b29a691c945a3eb19c Reviewed-on: https://gerrit.libreoffice.org/59228 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/inc/accmap.hxx4
-rw-r--r--sw/inc/pagepreviewlayout.hxx2
-rw-r--r--sw/source/core/access/accmap.cxx20
-rw-r--r--sw/source/core/inc/viewimp.hxx2
-rw-r--r--sw/source/core/view/pagepreviewlayout.cxx68
-rw-r--r--sw/source/core/view/viewimp.cxx3
-rw-r--r--sw/source/core/view/viewsh.cxx1
-rw-r--r--sw/source/uibase/uiview/pview.cxx1
8 files changed, 45 insertions, 56 deletions
diff --git a/sw/inc/accmap.hxx b/sw/inc/accmap.hxx
index 330c4436d613..6e2e0e2b7984 100644
--- a/sw/inc/accmap.hxx
+++ b/sw/inc/accmap.hxx
@@ -145,7 +145,7 @@ public:
css::uno::Reference<css::accessibility::XAccessible> GetDocumentView();
css::uno::Reference<css::accessibility::XAccessible> GetDocumentPreview(
- const std::vector<PreviewPage*>& _rPreviewPages,
+ const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize );
@@ -242,7 +242,7 @@ public:
vcl::Window& rChild ) const;
// update preview data (and fire events if necessary)
- void UpdatePreview( const std::vector<PreviewPage*>& _rPreviewPages,
+ void UpdatePreview( const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize );
diff --git a/sw/inc/pagepreviewlayout.hxx b/sw/inc/pagepreviewlayout.hxx
index efe7ed892310..69e3de6fea54 100644
--- a/sw/inc/pagepreviewlayout.hxx
+++ b/sw/inc/pagepreviewlayout.hxx
@@ -90,7 +90,7 @@ private:
tools::Rectangle maPaintedPreviewDocRect;
sal_uInt16 mnSelectedPageNum;
- std::vector<PreviewPage*> maPreviewPages;
+ std::vector<std::unique_ptr<PreviewPage>> maPreviewPages;
/** #i22014# - internal booleans to indicate, that a new print
preview layout has been created during a paint. */
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx
index f9db5a32527a..0181b1db1f7b 100644
--- a/sw/source/core/access/accmap.cxx
+++ b/sw/source/core/access/accmap.cxx
@@ -671,7 +671,7 @@ public:
SwAccPreviewData();
void Update( const SwAccessibleMap& rAccMap,
- const std::vector<PreviewPage*>& _rPreviewPages,
+ const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize );
@@ -698,7 +698,7 @@ SwAccPreviewData::SwAccPreviewData() :
}
void SwAccPreviewData::Update( const SwAccessibleMap& rAccMap,
- const std::vector<PreviewPage*>& _rPreviewPages,
+ const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize )
@@ -715,14 +715,12 @@ void SwAccPreviewData::Update( const SwAccessibleMap& rAccMap,
// loop on preview pages to calculate <maPreviewRects>, <maLogicRects> and
// <maVisArea>
- for ( std::vector<PreviewPage*>::const_iterator aPageIter = _rPreviewPages.begin();
- aPageIter != _rPreviewPages.end();
- ++aPageIter )
+ for ( auto & rpPreviewPage : _rPreviewPages )
{
- aPage = (*aPageIter)->pPage;
+ aPage = rpPreviewPage->pPage;
// add preview page rectangle to <maPreviewRects>
- tools::Rectangle aPreviewPgRect( (*aPageIter)->aPreviewWinPos, (*aPageIter)->aPageSize );
+ tools::Rectangle aPreviewPgRect( rpPreviewPage->aPreviewWinPos, rpPreviewPage->aPageSize );
maPreviewRects.push_back( aPreviewPgRect );
// add logic page rectangle to <maLogicRects>
@@ -730,9 +728,9 @@ void SwAccPreviewData::Update( const SwAccessibleMap& rAccMap,
tools::Rectangle aLogicPgRect( aLogicPgSwRect.SVRect() );
maLogicRects.push_back( aLogicPgRect );
// union visible area with visible part of logic page rectangle
- if ( (*aPageIter)->bVisible )
+ if ( rpPreviewPage->bVisible )
{
- if ( !(*aPageIter)->pPage->IsEmptyPage() )
+ if ( !rpPreviewPage->pPage->IsEmptyPage() )
{
AdjustLogicPgRectToVisibleArea( aLogicPgSwRect,
SwRect( aPreviewPgRect ),
@@ -1781,7 +1779,7 @@ uno::Reference< XAccessible > SwAccessibleMap::GetDocumentView( )
}
uno::Reference<XAccessible> SwAccessibleMap::GetDocumentPreview(
- const std::vector<PreviewPage*>& _rPreviewPages,
+ const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize )
@@ -2920,7 +2918,7 @@ sal_Int32 SwAccessibleMap::GetChildIndex( const SwFrame& rParentFrame,
return nIndex;
}
-void SwAccessibleMap::UpdatePreview( const std::vector<PreviewPage*>& _rPreviewPages,
+void SwAccessibleMap::UpdatePreview( const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize )
diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx
index 3ec09cc16118..929f6cbad638 100644
--- a/sw/source/core/inc/viewimp.hxx
+++ b/sw/source/core/inc/viewimp.hxx
@@ -260,7 +260,7 @@ public:
/// update data for accessible preview
/// change method signature due to new page preview functionality
- void UpdateAccessiblePreview( const std::vector<PreviewPage*>& _rPreviewPages,
+ void UpdateAccessiblePreview( const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize );
diff --git a/sw/source/core/view/pagepreviewlayout.cxx b/sw/source/core/view/pagepreviewlayout.cxx
index f7fdcc0efae4..9d102290b617 100644
--- a/sw/source/core/view/pagepreviewlayout.cxx
+++ b/sw/source/core/view/pagepreviewlayout.cxx
@@ -107,12 +107,6 @@ void SwPagePreviewLayout::ClearPreviewLayoutSizes()
void SwPagePreviewLayout::ClearPreviewPageData()
{
- for ( std::vector<PreviewPage*>::iterator aPageDelIter = maPreviewPages.begin();
- aPageDelIter != maPreviewPages.end();
- ++aPageDelIter )
- {
- delete *aPageDelIter;
- }
maPreviewPages.clear();
}
@@ -582,12 +576,12 @@ void SwPagePreviewLayout::CalcPreviewPages()
if ( nCurrCol < mnPaintStartCol )
{
// calculate data of unvisible page needed for accessibility
- PreviewPage* pPreviewPage = new PreviewPage;
+ std::unique_ptr<PreviewPage> pPreviewPage(new PreviewPage);
Point aCurrAccOffset = aCurrPaintOffset -
Point( (mnPaintStartCol-nCurrCol) * mnColWidth, 0 );
- CalcPreviewDataForPage( *pPage, aCurrAccOffset, pPreviewPage );
+ CalcPreviewDataForPage( *pPage, aCurrAccOffset, pPreviewPage.get() );
pPreviewPage->bVisible = false;
- maPreviewPages.push_back( pPreviewPage );
+ maPreviewPages.push_back( std::move(pPreviewPage) );
// continue with next page and next column
pPage = static_cast<const SwPageFrame*>(pPage->GetNext());
++nCurrCol;
@@ -611,18 +605,18 @@ void SwPagePreviewLayout::CalcPreviewPages()
}
// calculate data of visible page
- PreviewPage* pPreviewPage = new PreviewPage;
- CalcPreviewDataForPage( *pPage, aCurrPaintOffset, pPreviewPage );
+ std::unique_ptr<PreviewPage> pPreviewPage(new PreviewPage);
+ CalcPreviewDataForPage( *pPage, aCurrPaintOffset, pPreviewPage.get() );
pPreviewPage->bVisible = true;
- maPreviewPages.push_back( pPreviewPage );
+ maPreviewPages.push_back( std::move(pPreviewPage) );
}
else
{
// calculate data of unvisible page needed for accessibility
- PreviewPage* pPreviewPage = new PreviewPage;
- CalcPreviewDataForPage( *pPage, aCurrPaintOffset, pPreviewPage );
+ std::unique_ptr<PreviewPage> pPreviewPage(new PreviewPage);
+ CalcPreviewDataForPage( *pPage, aCurrPaintOffset, pPreviewPage.get() );
pPreviewPage->bVisible = false;
- maPreviewPages.push_back( pPreviewPage );
+ maPreviewPages.push_back( std::move(pPreviewPage) );
}
// prepare data for next loop
@@ -882,7 +876,7 @@ struct PreviewPosInsidePagePred
explicit PreviewPosInsidePagePred(const Point& rPreviewPos)
: mnPreviewPos( rPreviewPos )
{}
- bool operator() ( const PreviewPage* _pPreviewPage )
+ bool operator() ( const std::unique_ptr<PreviewPage> & _pPreviewPage )
{
if ( _pPreviewPage->bVisible )
{
@@ -904,7 +898,7 @@ bool SwPagePreviewLayout::IsPreviewPosInDocPreviewPage( const Point& rPreviewPo
_obPosInEmptyPage = false;
_onPageNum = 0;
- std::vector<PreviewPage*>::const_iterator aFoundPreviewPageIter =
+ auto aFoundPreviewPageIter =
std::find_if( maPreviewPages.begin(), maPreviewPages.end(),
PreviewPosInsidePagePred( rPreviewPos ) );
@@ -1035,14 +1029,12 @@ bool SwPagePreviewLayout::Paint(vcl::RenderContext& rRenderContext, const tools:
{
SwRegionRects aPreviewBackgrdRegion(rOutRect);
// calculate preview background rectangles
- for ( std::vector<PreviewPage*>::const_iterator aPageIter = maPreviewPages.begin();
- aPageIter != maPreviewPages.end();
- ++aPageIter )
+ for ( auto & rpPreviewPage : maPreviewPages )
{
- if ( (*aPageIter)->bVisible )
+ if ( rpPreviewPage->bVisible )
{
aPreviewBackgrdRegion -=
- SwRect( (*aPageIter)->aPreviewWinPos, (*aPageIter)->aPageSize );
+ SwRect( rpPreviewPage->aPreviewWinPos, rpPreviewPage->aPageSize );
}
}
// paint preview background rectangles
@@ -1057,20 +1049,18 @@ bool SwPagePreviewLayout::Paint(vcl::RenderContext& rRenderContext, const tools:
const vcl::Font& rEmptyPgFont = SwPageFrame::GetEmptyPageFont();
- for ( std::vector<PreviewPage*>::const_iterator aPageIter = maPreviewPages.begin();
- aPageIter != maPreviewPages.end();
- ++aPageIter )
+ for ( auto & rpPreviewPage : maPreviewPages )
{
- if ( !(*aPageIter)->bVisible )
+ if ( !rpPreviewPage->bVisible )
continue;
- tools::Rectangle aPageRect( (*aPageIter)->aLogicPos, (*aPageIter)->aPageSize );
- aMapMode.SetOrigin( (*aPageIter)->aMapOffset );
+ tools::Rectangle aPageRect( rpPreviewPage->aLogicPos, rpPreviewPage->aPageSize );
+ aMapMode.SetOrigin( rpPreviewPage->aMapOffset );
pOutputDev->SetMapMode( aMapMode );
tools::Rectangle aPxPaintRect = pOutputDev->LogicToPixel( aPageRect );
if ( aPxOutRect.IsOver( aPxPaintRect) )
{
- const SwPageFrame* pPage = (*aPageIter)->pPage;
+ const SwPageFrame* pPage = rpPreviewPage->pPage;
if (pPage->IsEmptyPage())
{
@@ -1130,7 +1120,7 @@ bool SwPagePreviewLayout::Paint(vcl::RenderContext& rRenderContext, const tools:
if (pPage->GetPhyPageNum() == mnSelectedPageNum)
{
- PaintSelectMarkAtPage(rRenderContext, *aPageIter);
+ PaintSelectMarkAtPage(rRenderContext, rpPreviewPage.get());
}
}
}
@@ -1186,21 +1176,19 @@ void SwPagePreviewLayout::Repaint( const tools::Rectangle& rInvalidCoreRect ) co
}
// invalidate visible pages, which overlap the invalid core rectangle
- for ( std::vector<PreviewPage*>::const_iterator aPageIter = maPreviewPages.begin();
- aPageIter != maPreviewPages.end();
- ++aPageIter )
+ for ( auto & rpPreviewPage : maPreviewPages )
{
- if ( !(*aPageIter)->bVisible )
+ if ( !rpPreviewPage->bVisible )
continue;
- tools::Rectangle aPageRect( (*aPageIter)->aLogicPos, (*aPageIter)->aPageSize );
+ tools::Rectangle aPageRect( rpPreviewPage->aLogicPos, rpPreviewPage->aPageSize );
if ( rInvalidCoreRect.IsOver( aPageRect ) )
{
aPageRect.Intersection(rInvalidCoreRect);
tools::Rectangle aInvalidPreviewRect = aPageRect;
aInvalidPreviewRect.SetPos( aInvalidPreviewRect.TopLeft() -
- (*aPageIter)->aLogicPos +
- (*aPageIter)->aPreviewWinPos );
+ rpPreviewPage->aLogicPos +
+ rpPreviewPage->aPreviewWinPos );
mrParentViewShell.GetWin()->Invalidate( aInvalidPreviewRect );
}
}
@@ -1326,7 +1314,7 @@ struct EqualsPageNumPred
explicit EqualsPageNumPred(const sal_uInt16 _nPageNum)
: mnPageNum( _nPageNum )
{}
- bool operator() ( const PreviewPage* _pPreviewPage )
+ bool operator() ( const std::unique_ptr<PreviewPage> & _pPreviewPage )
{
return _pPreviewPage->pPage->GetPhyPageNum() == mnPageNum;
}
@@ -1334,14 +1322,14 @@ struct EqualsPageNumPred
const PreviewPage* SwPagePreviewLayout::GetPreviewPageByPageNum( const sal_uInt16 _nPageNum ) const
{
- std::vector<PreviewPage*>::const_iterator aFoundPreviewPageIter =
+ auto aFoundPreviewPageIter =
std::find_if( maPreviewPages.begin(), maPreviewPages.end(),
EqualsPageNumPred( _nPageNum ) );
if ( aFoundPreviewPageIter == maPreviewPages.end() )
return nullptr;
- return (*aFoundPreviewPageIter);
+ return aFoundPreviewPageIter->get();
}
/** determine row the page with the given number is in
diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx
index c8c427105e6f..4788190c5cda 100644
--- a/sw/source/core/view/viewimp.cxx
+++ b/sw/source/core/view/viewimp.cxx
@@ -41,6 +41,7 @@
#include <IDocumentDeviceAccess.hxx>
#include <IDocumentSettingAccess.hxx>
#include <drawdoc.hxx>
+#include <prevwpage.hxx>
void SwViewShellImp::Init( const SwViewOption *pNewOpt )
{
@@ -433,7 +434,7 @@ void SwViewShellImp::InvalidateAccessibleParaAttrs_( const SwTextFrame& rTextFra
}
}
-void SwViewShellImp::UpdateAccessiblePreview( const std::vector<PreviewPage*>& _rPreviewPages,
+void SwViewShellImp::UpdateAccessiblePreview( const std::vector<std::unique_ptr<PreviewPage>>& _rPreviewPages,
const Fraction& _rScale,
const SwPageFrame* _pSelectedPageFrame,
const Size& _rPreviewWinSize )
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index de050752bdce..c3d04941164c 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -84,6 +84,7 @@
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <LibreOfficeKit/LibreOfficeKitEnums.h>
#include <comphelper/lok.hxx>
+#include <prevwpage.hxx>
#if !HAVE_FEATURE_DESKTOP
#include <vcl/sysdata.hxx>
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index 14fd822e1bf4..c4a2055bc218 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -80,6 +80,7 @@
#include <memory>
#include <vcl/EnumContext.hxx>
#include <vcl/notebookbar.hxx>
+#include <prevwpage.hxx>
using namespace ::com::sun::star;
SFX_IMPL_NAMED_VIEWFACTORY(SwPagePreview, "PrintPreview")