diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-19 12:11:38 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-09-25 11:03:47 +0200 |
commit | 72c191e046112df73c66be8dc8d1bec5a546fa60 (patch) | |
tree | 325904a6dc3482b02da2e9bdaac566a554bdccda | |
parent | daf44342ca82c5b0e79da88b7f9dbf28f6d43a8b (diff) |
loplugin:useuniqueptr in ThumbnailView
Change-Id: I95817a03afedbee4ffb28041a9834e591356102d
Reviewed-on: https://gerrit.libreoffice.org/60953
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | include/sfx2/thumbnailview.hxx | 6 | ||||
-rw-r--r-- | sfx2/source/control/emojiview.cxx | 4 | ||||
-rw-r--r-- | sfx2/source/control/recentdocsview.cxx | 5 | ||||
-rw-r--r-- | sfx2/source/control/templatelocalview.cxx | 26 | ||||
-rw-r--r-- | sfx2/source/control/templatesearchview.cxx | 4 | ||||
-rw-r--r-- | sfx2/source/control/thumbnailview.cxx | 26 |
6 files changed, 36 insertions, 35 deletions
diff --git a/include/sfx2/thumbnailview.hxx b/include/sfx2/thumbnailview.hxx index c628d38a2eb1..2ea319b36c3d 100644 --- a/include/sfx2/thumbnailview.hxx +++ b/include/sfx2/thumbnailview.hxx @@ -185,7 +185,7 @@ public: virtual void MouseMove(const MouseEvent& rMEvt) override; - void AppendItem(ThumbnailViewItem *pItem); + void AppendItem(std::unique_ptr<ThumbnailViewItem> pItem); void RemoveItem(sal_uInt16 nItemId); @@ -195,7 +195,7 @@ public: virtual void Reload() {} // Change current thumbnail item list with new one (invalidates all pointers to a thumbnail item) - void updateItems(const std::vector<ThumbnailViewItem *> &items); + void updateItems(std::vector<std::unique_ptr<ThumbnailViewItem>> items); size_t GetItemPos( sal_uInt16 nItemId ) const; @@ -288,7 +288,7 @@ protected: protected: - ThumbnailValueItemList mItemList; + std::vector< std::unique_ptr<ThumbnailViewItem> > mItemList; ThumbnailValueItemList mFilteredItemList; ///< Cache to store the filtered items ThumbnailValueItemList::iterator mpStartSelRange; VclPtr<ScrollBar> mpScrBar; diff --git a/sfx2/source/control/emojiview.cxx b/sfx2/source/control/emojiview.cxx index 2175d42c37b3..f0003cc1ebad 100644 --- a/sfx2/source/control/emojiview.cxx +++ b/sfx2/source/control/emojiview.cxx @@ -209,13 +209,13 @@ void EmojiView::setInsertEmojiHdl(const Link<ThumbnailViewItem*, void> &rLink) void EmojiView::AppendItem(const OUString &rTitle, const OUString &rCategory, const OUString &rName) { - EmojiViewItem *pItem = new EmojiViewItem(*this, getNextItemId()); + std::unique_ptr<EmojiViewItem> pItem(new EmojiViewItem(*this, getNextItemId())); pItem->maTitle = rTitle; pItem->setCategory(rCategory); pItem->setHelpText(rName); - ThumbnailView::AppendItem(pItem); + ThumbnailView::AppendItem(std::move(pItem)); CalculateItemPositions(); } diff --git a/sfx2/source/control/recentdocsview.cxx b/sfx2/source/control/recentdocsview.cxx index d8d2a833e9c6..2c4ad0bc4ebc 100644 --- a/sfx2/source/control/recentdocsview.cxx +++ b/sfx2/source/control/recentdocsview.cxx @@ -38,6 +38,7 @@ #include <bitmaps.hlst> #include <officecfg/Office/Common.hxx> +#include <o3tl/make_unique.hxx> using namespace ::com::sun::star; using namespace com::sun::star::uno; @@ -216,9 +217,7 @@ BitmapEx RecentDocsView::getDefaultThumbnail(const OUString &rURL) void RecentDocsView::insertItem(const OUString &rURL, const OUString &rTitle, const BitmapEx &rThumbnail, sal_uInt16 nId) { - RecentDocsViewItem *pChild = new RecentDocsViewItem(*this, rURL, rTitle, rThumbnail, nId, mnItemMaxSize); - - AppendItem(pChild); + AppendItem( o3tl::make_unique<RecentDocsViewItem>(*this, rURL, rTitle, rThumbnail, nId, mnItemMaxSize) ); } void RecentDocsView::Reload() diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index efc66dda09ab..3218fc97453e 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -548,8 +548,9 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_ // Keep view document id synchronized with SfxDocumentTemplates for (auto const& item : mItemList) { - if (static_cast<TemplateViewItem*>(item)->mnDocId > pViewItem->mnDocId) - --static_cast<TemplateViewItem*>(item)->mnDocId; + auto pTemplateViewItem = static_cast<TemplateViewItem*>(item.get()); + if (pTemplateViewItem->mnDocId > pViewItem->mnDocId) + --pTemplateViewItem->mnDocId; } } @@ -658,8 +659,9 @@ void TemplateLocalView::moveTemplates(const std::set<const ThumbnailViewItem*, s // Keep view document id synchronized with SfxDocumentTemplates for (auto const& item : mItemList) { - if (static_cast<TemplateViewItem*>(item)->mnDocId > pViewItem->mnDocId) - --static_cast<TemplateViewItem*>(item)->mnDocId; + auto pTemplateViewItem = static_cast<TemplateViewItem*>(item.get()); + if (pTemplateViewItem->mnDocId > pViewItem->mnDocId) + --pTemplateViewItem->mnDocId; } } } @@ -753,16 +755,16 @@ bool TemplateLocalView::renameItem(ThumbnailViewItem* pItem, const OUString& sNe void TemplateLocalView::insertItems(const std::vector<TemplateItemProperties> &rTemplates, bool isRegionSelected, bool bShowCategoryInTooltip) { - std::vector<ThumbnailViewItem*> aItems(rTemplates.size()); + std::vector<std::unique_ptr<ThumbnailViewItem>> aItems(rTemplates.size()); for (size_t i = 0, n = rTemplates.size(); i < n; ++i ) { const TemplateItemProperties *pCur = &rTemplates[i]; - TemplateViewItem *pChild; + std::unique_ptr<TemplateViewItem> pChild; if(isRegionSelected) - pChild = new TemplateViewItem(*this, pCur->nId); + pChild.reset(new TemplateViewItem(*this, pCur->nId)); else - pChild = new TemplateViewItem(*this, i+1); + pChild.reset(new TemplateViewItem(*this, i+1)); pChild->mnDocId = pCur->nDocId; pChild->mnRegionId = pCur->nRegionId; @@ -789,10 +791,10 @@ void TemplateLocalView::insertItems(const std::vector<TemplateItemProperties> &r pChild->maPreview1 = TemplateLocalView::getDefaultThumbnail(pCur->aPath); } - aItems[i] = pChild; + aItems[i] = std::move(pChild); } - updateItems(aItems); + updateItems(std::move(aItems)); } void TemplateLocalView::updateThumbnailDimensions(long itemMaxSize) @@ -976,9 +978,9 @@ bool TemplateLocalView::IsDefaultTemplate(const OUString& rPath) void TemplateLocalView::RemoveDefaultTemplateIcon(const OUString& rPath) { - for (ThumbnailViewItem* pItem : mItemList) + for (std::unique_ptr<ThumbnailViewItem>& pItem : mItemList) { - TemplateViewItem* pViewItem = dynamic_cast<TemplateViewItem*>(pItem); + TemplateViewItem* pViewItem = dynamic_cast<TemplateViewItem*>(pItem.get()); if (pViewItem && pViewItem->getPath().match(rPath)) { pViewItem->showDefaultIcon(false); diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx index ace6b4fcb32e..3f891ae2c1bb 100644 --- a/sfx2/source/control/templatesearchview.cxx +++ b/sfx2/source/control/templatesearchview.cxx @@ -216,7 +216,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nAssocItemId, sal_uInt16 nRegionI const OUString &rPath, const BitmapEx &rImage) { - TemplateSearchViewItem *pItem = new TemplateSearchViewItem(*this, getNextItemId()); + std::unique_ptr<TemplateSearchViewItem> pItem(new TemplateSearchViewItem(*this, getNextItemId())); pItem->mnAssocId = nAssocItemId; pItem->mnDocId = nIdx; pItem->mnRegionId = nRegionId; @@ -233,7 +233,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nAssocItemId, sal_uInt16 nRegionI if(TemplateLocalView::IsDefaultTemplate(rPath)) pItem->showDefaultIcon(true); - ThumbnailView::AppendItem(pItem); + ThumbnailView::AppendItem(std::move(pItem)); CalculateItemPositions(); } diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 81a5021c2766..13435a923627 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -101,9 +101,9 @@ void ThumbnailView::MouseMove(const MouseEvent& rMEvt) SetQuickHelpText(aHelp); } -void ThumbnailView::AppendItem(ThumbnailViewItem *pItem) +void ThumbnailView::AppendItem(std::unique_ptr<ThumbnailViewItem> pItem) { - if (maFilterFunc(pItem)) + if (maFilterFunc(pItem.get())) { // Save current start,end range, iterator might get invalidated size_t nSelStartPos = 0; @@ -115,11 +115,11 @@ void ThumbnailView::AppendItem(ThumbnailViewItem *pItem) nSelStartPos = mpStartSelRange - mFilteredItemList.begin(); } - mFilteredItemList.push_back(pItem); + mFilteredItemList.push_back(pItem.get()); mpStartSelRange = pSelStartItem != nullptr ? mFilteredItemList.begin() + nSelStartPos : mFilteredItemList.end(); } - mItemList.push_back(pItem); + mItemList.push_back(std::move(pItem)); } void ThumbnailView::ImplInit() @@ -159,7 +159,7 @@ void ThumbnailView::ImplDeleteItems() for ( size_t i = 0; i < n; ++i ) { - ThumbnailViewItem *const pItem = mItemList[i]; + ThumbnailViewItem *const pItem = mItemList[i].get(); // deselect all current selected items and fire events if (pItem->isSelected()) @@ -178,7 +178,7 @@ void ThumbnailView::ImplDeleteItems() ImplFireAccessibleEvent( css::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny ); } - delete pItem; + mItemList[i].reset(); } mItemList.clear(); @@ -456,7 +456,7 @@ ThumbnailViewItem* ThumbnailView::ImplGetVisibleItem( sal_uInt16 nVisiblePos ) for ( size_t n = 0; n < nItemCount; ++n ) { - ThumbnailViewItem *const pItem = mItemList[n]; + ThumbnailViewItem *const pItem = mItemList[n].get(); if ( pItem->isVisible() && !nVisiblePos-- ) return pItem; @@ -848,7 +848,7 @@ void ThumbnailView::Paint(vcl::RenderContext& rRenderContext, const ::tools::Rec // draw items for (size_t i = 0; i < nItemCount; i++) { - ThumbnailViewItem *const pItem = mItemList[i]; + ThumbnailViewItem *const pItem = mItemList[i].get(); if (pItem->isVisible()) { @@ -1005,14 +1005,14 @@ void ThumbnailView::Clear() Invalidate(); } -void ThumbnailView::updateItems (const std::vector<ThumbnailViewItem*> &items) +void ThumbnailView::updateItems (std::vector<std::unique_ptr<ThumbnailViewItem>> items) { ImplDeleteItems(); // reset variables mnFirstLine = 0; - mItemList = items; + mItemList = std::move(items); filterItems(maFilterFunc); } @@ -1137,13 +1137,13 @@ bool ThumbnailView::IsItemSelected( sal_uInt16 nItemId ) const void ThumbnailView::deselectItems() { - for (ThumbnailViewItem* p : mItemList) + for (std::unique_ptr<ThumbnailViewItem>& p : mItemList) { if (p->isSelected()) { p->setSelection(false); - maItemStateHdl.Call(p); + maItemStateHdl.Call(p.get()); } } @@ -1174,7 +1174,7 @@ void ThumbnailView::filterItems(const std::function<bool (const ThumbnailViewIte for (size_t i = 0, n = mItemList.size(); i < n; ++i) { - ThumbnailViewItem *const pItem = mItemList[i]; + ThumbnailViewItem *const pItem = mItemList[i].get(); if (maFilterFunc(pItem)) { |