[Libreoffice-commits] core.git: sw/inc sw/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Aug 17 08:40:02 UTC 2018


 sw/inc/accmap.hxx                         |    4 -
 sw/inc/pagepreviewlayout.hxx              |    2 
 sw/source/core/access/accmap.cxx          |   20 +++-----
 sw/source/core/inc/viewimp.hxx            |    2 
 sw/source/core/view/pagepreviewlayout.cxx |   68 ++++++++++++------------------
 sw/source/core/view/viewimp.cxx           |    3 -
 sw/source/core/view/viewsh.cxx            |    1 
 sw/source/uibase/uiview/pview.cxx         |    1 
 8 files changed, 45 insertions(+), 56 deletions(-)

New commits:
commit 99aad471716bfd212e29eebdcbdfb260627f1ae1
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Thu Aug 16 11:40:54 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Fri Aug 17 10:39:38 2018 +0200

    loplugin:useuniqueptr in SwPagePreviewLayout
    
    Change-Id: Iecec5b3d4651eb6a1d8fe0b29a691c945a3eb19c
    Reviewed-on: https://gerrit.libreoffice.org/59228
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

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")


More information about the Libreoffice-commits mailing list