diff options
author | Aditya <adityasahu1511@gmail.com> | 2020-07-30 15:04:27 +0530 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2020-07-31 19:02:41 +0200 |
commit | 6e717f4552aa937cd2609a79199a5b40b38789a4 (patch) | |
tree | 8ad965abe938efa688996fae062a28116ac491ff | |
parent | 3295afc91226ef1c395fd1eb289fa588a9a8c6d5 (diff) |
svx:Move functions from GalleryTheme that belong to GalleryObjectCollection
Move 3 functions from ImplGetObjectURL(sal_uInt32 nPos), ImplGetObjectURL(const
INetURLObject& rURL) and ImplGetObjectPos(const GalleryObject* pObj) to
GalleryObjectCollection as they deal with the m_aObjectList directly, and
rename them respectively.
Change-Id: I1e02b345d706c57db8801441fc955af9157cf565
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99789
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
-rw-r--r-- | include/svx/galleryobjectcollection.hxx | 13 | ||||
-rw-r--r-- | include/svx/galtheme.hxx | 19 | ||||
-rw-r--r-- | svx/source/gallery2/galleryobjectcollection.cxx | 25 | ||||
-rw-r--r-- | svx/source/gallery2/galtheme.cxx | 20 | ||||
-rw-r--r-- | svx/source/unogallery/unogalitem.cxx | 8 | ||||
-rw-r--r-- | svx/source/unogallery/unogaltheme.cxx | 6 |
6 files changed, 52 insertions, 39 deletions
diff --git a/include/svx/galleryobjectcollection.hxx b/include/svx/galleryobjectcollection.hxx index 266d263e8b14..311434ec0352 100644 --- a/include/svx/galleryobjectcollection.hxx +++ b/include/svx/galleryobjectcollection.hxx @@ -19,23 +19,34 @@ #pragma once +#include <svx/svxdllapi.h> + +#include <tools/urlobj.hxx> #include <memory> #include <vector> struct GalleryObject; -class GalleryObjectCollection +class SVXCORE_DLLPUBLIC GalleryObjectCollection { private: std::vector<std::unique_ptr<GalleryObject>> m_aObjectList; public: + GalleryObjectCollection(); std::vector<std::unique_ptr<GalleryObject>>& getObjectList() { return m_aObjectList; } std::unique_ptr<GalleryObject>& get(sal_uInt32 nPos) { return m_aObjectList[nPos]; } const std::unique_ptr<GalleryObject>& get(sal_uInt32 nPos) const { return m_aObjectList[nPos]; } sal_uInt32 size() const { return m_aObjectList.size(); } + const GalleryObject* searchObjectWithURL(const INetURLObject& rURL); + const GalleryObject* getForPosition(sal_uInt32 nPos) const; + sal_uInt32 searchPosWithObject(const GalleryObject* pObj); + void clear(); + + GalleryObjectCollection(GalleryObjectCollection const&) = delete; + void operator=(GalleryObjectCollection const&) = delete; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/svx/galtheme.hxx b/include/svx/galtheme.hxx index 5c3f537c2107..c0c1bf260670 100644 --- a/include/svx/galtheme.hxx +++ b/include/svx/galtheme.hxx @@ -89,21 +89,6 @@ private: std::unique_ptr<GalleryBinaryEngine> createGalleryBinaryEngine(bool bReadOnly); const std::unique_ptr<GalleryBinaryEngine>& getGalleryBinaryEngine() const { return mpGalleryBinaryEngine; } - SAL_DLLPRIVATE const GalleryObject* ImplGetGalleryObject(sal_uInt32 nPos) const - { - if (nPos < maGalleryObjectCollection.size()) - return maGalleryObjectCollection.get(nPos).get(); - return nullptr; - } - const GalleryObject* ImplGetGalleryObject(const INetURLObject& rURL); - - SAL_DLLPRIVATE sal_uInt32 ImplGetGalleryObjectPos( const GalleryObject* pObj ) - { - for (sal_uInt32 i = 0, n = maGalleryObjectCollection.size(); i < n; ++i) - if ( pObj == maGalleryObjectCollection.get(i).get() ) - return i; - return SAL_MAX_UINT32; - } SAL_DLLPRIVATE void ImplSetModified( bool bModified ); SAL_DLLPRIVATE void ImplBroadcast(sal_uInt32 nUpdatePos); @@ -164,14 +149,14 @@ public: SAL_DLLPRIVATE SgaObjKind GetObjectKind(sal_uInt32 nPos) const { if (nPos < GetObjectCount()) - return ImplGetGalleryObject( nPos )->eObjKind; + return maGalleryObjectCollection.getForPosition( nPos )->eObjKind; return SgaObjKind::NONE; } SAL_DLLPRIVATE const INetURLObject& GetObjectURL(sal_uInt32 nPos) const { DBG_ASSERT( nPos < GetObjectCount(), "Position out of range" ); - return ImplGetGalleryObject( nPos )->aURL; + return maGalleryObjectCollection.getForPosition( nPos )->aURL; } SAL_DLLPRIVATE bool GetThumb(sal_uInt32 nPos, BitmapEx& rBmp); diff --git a/svx/source/gallery2/galleryobjectcollection.cxx b/svx/source/gallery2/galleryobjectcollection.cxx index 0ab69de1a0a4..5080ed334916 100644 --- a/svx/source/gallery2/galleryobjectcollection.cxx +++ b/svx/source/gallery2/galleryobjectcollection.cxx @@ -20,6 +20,31 @@ #include <galobj.hxx> #include <svx/galleryobjectcollection.hxx> +GalleryObjectCollection::GalleryObjectCollection() {} + void GalleryObjectCollection::clear() { m_aObjectList.clear(); } +const GalleryObject* GalleryObjectCollection::searchObjectWithURL(const INetURLObject& rURL) +{ + for (auto const& i : m_aObjectList) + if (i->aURL == rURL) + return i.get(); + return nullptr; +} + +sal_uInt32 GalleryObjectCollection::searchPosWithObject(const GalleryObject* pObj) +{ + for (sal_uInt32 i = 0, n = size(); i < n; ++i) + if (pObj == get(i).get()) + return i; + return SAL_MAX_UINT32; +} + +const GalleryObject* GalleryObjectCollection::getForPosition(sal_uInt32 nPos) const +{ + if (nPos < size()) + return get(nPos).get(); + return nullptr; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/svx/source/gallery2/galtheme.cxx b/svx/source/gallery2/galtheme.cxx index 3c2bb6cc78c0..2bb71540cf29 100644 --- a/svx/source/gallery2/galtheme.cxx +++ b/svx/source/gallery2/galtheme.cxx @@ -94,14 +94,6 @@ std::unique_ptr<GalleryBinaryEngine> GalleryTheme::createGalleryBinaryEngine(boo return pGalleryBinaryEngine; } -const GalleryObject* GalleryTheme::ImplGetGalleryObject(const INetURLObject& rURL) -{ - for (auto const& i : maGalleryObjectCollection.getObjectList()) - if (i->aURL == rURL) - return i.get(); - return nullptr; -} - void GalleryTheme::ImplBroadcast(sal_uInt32 nUpdatePos) { if( !IsBroadcasterLocked() ) @@ -162,7 +154,7 @@ bool GalleryTheme::InsertObject(const SgaObject& rObj, sal_uInt32 nInsertPos) std::unique_ptr<SgaObject> GalleryTheme::AcquireObject(sal_uInt32 nPos) { - return mpGalleryBinaryEngine->implReadSgaObject(ImplGetGalleryObject(nPos)); + return mpGalleryBinaryEngine->implReadSgaObject(maGalleryObjectCollection.getForPosition(nPos)); } void GalleryTheme::GetPreviewBitmapExAndStrings(sal_uInt32 nPos, BitmapEx& rBitmapEx, Size& rSize, OUString& rTitle, OUString& rPath) @@ -335,7 +327,7 @@ bool GalleryTheme::GetThumb(sal_uInt32 nPos, BitmapEx& rBmp) bool GalleryTheme::GetGraphic(sal_uInt32 nPos, Graphic& rGraphic) { - const GalleryObject* pObject = ImplGetGalleryObject( nPos ); + const GalleryObject* pObject = maGalleryObjectCollection.getForPosition( nPos ); bool bRet = false; if( pObject ) @@ -460,7 +452,7 @@ bool GalleryTheme::InsertGraphic(const Graphic& rGraphic, sal_uInt32 nInsertPos) bool GalleryTheme::GetModel(sal_uInt32 nPos, SdrModel& rModel) { - const GalleryObject* pObject = ImplGetGalleryObject( nPos ); + const GalleryObject* pObject = maGalleryObjectCollection.getForPosition( nPos ); bool bRet = false; if( pObject && ( SgaObjKind::SvDraw == pObject->eObjKind ) ) @@ -482,7 +474,7 @@ bool GalleryTheme::InsertModel(const FmFormModel& rModel, sal_uInt32 nInsertPos) bool GalleryTheme::GetModelStream(sal_uInt32 nPos, tools::SvRef<SotStorageStream> const & rxModelStream) { - const GalleryObject* pObject = ImplGetGalleryObject( nPos ); + const GalleryObject* pObject = maGalleryObjectCollection.getForPosition( nPos ); bool bRet = false; if( pObject && ( SgaObjKind::SvDraw == pObject->eObjKind ) ) @@ -506,7 +498,7 @@ bool GalleryTheme::InsertModelStream(const tools::SvRef<SotStorageStream>& rxMod bool GalleryTheme::GetURL(sal_uInt32 nPos, INetURLObject& rURL) { - const GalleryObject* pObject = ImplGetGalleryObject( nPos ); + const GalleryObject* pObject = maGalleryObjectCollection.getForPosition( nPos ); bool bRet = false; if( pObject ) @@ -671,7 +663,7 @@ SvStream& GalleryTheme::WriteData( SvStream& rOStm ) const for( sal_uInt32 i = 0; i < nCount; i++ ) { - const GalleryObject* pObj = ImplGetGalleryObject( i ); + const GalleryObject* pObj = maGalleryObjectCollection.getForPosition( i ); OUString aPath; if( SgaObjKind::SvDraw == pObj->eObjKind ) diff --git a/svx/source/unogallery/unogalitem.cxx b/svx/source/unogallery/unogalitem.cxx index 48fb9e0da18c..0749dfdd2f44 100644 --- a/svx/source/unogallery/unogalitem.cxx +++ b/svx/source/unogallery/unogalitem.cxx @@ -268,7 +268,7 @@ void GalleryItem::_getPropertyValues( const comphelper::PropertyMapEntry** ppEnt if( pGalTheme ) { - std::unique_ptr<SgaObject> pObj = pGalTheme->AcquireObject( pGalTheme->ImplGetGalleryObjectPos( implGetObject() ) ); + std::unique_ptr<SgaObject> pObj = pGalTheme->AcquireObject( pGalTheme->maGalleryObjectCollection.searchPosWithObject( implGetObject() ) ); if( pObj ) { @@ -284,7 +284,7 @@ void GalleryItem::_getPropertyValues( const comphelper::PropertyMapEntry** ppEnt if( pGalTheme ) { - std::unique_ptr<SgaObject> pObj = pGalTheme->AcquireObject( pGalTheme->ImplGetGalleryObjectPos( implGetObject() ) ); + std::unique_ptr<SgaObject> pObj = pGalTheme->AcquireObject( pGalTheme->maGalleryObjectCollection.searchPosWithObject( implGetObject() ) ); if( pObj ) { @@ -306,7 +306,7 @@ void GalleryItem::_getPropertyValues( const comphelper::PropertyMapEntry** ppEnt ::GalleryTheme* pGalTheme = ( isValid() ? mpTheme->implGetTheme() : nullptr ); Graphic aGraphic; - if( pGalTheme && pGalTheme->GetGraphic( pGalTheme->ImplGetGalleryObjectPos( implGetObject() ), aGraphic ) ) + if( pGalTheme && pGalTheme->GetGraphic( pGalTheme->maGalleryObjectCollection.searchPosWithObject( implGetObject() ), aGraphic ) ) *pValue <<= aGraphic.GetXGraphic(); } break; @@ -320,7 +320,7 @@ void GalleryItem::_getPropertyValues( const comphelper::PropertyMapEntry** ppEnt pModel->GetItemPool().FreezeIdRanges(); - if( pGalTheme && pGalTheme->GetModel( pGalTheme->ImplGetGalleryObjectPos( implGetObject() ), *pModel ) ) + if( pGalTheme && pGalTheme->GetModel( pGalTheme->maGalleryObjectCollection.searchPosWithObject( implGetObject() ), *pModel ) ) { uno::Reference< lang::XComponent > xDrawing( new GalleryDrawingModel( pModel ) ); diff --git a/svx/source/unogallery/unogaltheme.cxx b/svx/source/unogallery/unogaltheme.cxx index d5b084f13cfa..e2fa7b93bc12 100644 --- a/svx/source/unogallery/unogaltheme.cxx +++ b/svx/source/unogallery/unogaltheme.cxx @@ -130,7 +130,7 @@ uno::Any SAL_CALL GalleryTheme::getByIndex( ::sal_Int32 nIndex ) { throw lang::IndexOutOfBoundsException(); } - const GalleryObject* pObj = mpTheme->ImplGetGalleryObject( nIndex ); + const GalleryObject* pObj = mpTheme->maGalleryObjectCollection.getForPosition( nIndex ); if( pObj ) aRet <<= uno::Reference< gallery::XGalleryItem >( new GalleryItem( *this, *pObj ) ); @@ -180,10 +180,10 @@ void SAL_CALL GalleryTheme::update( ) if( ( aURL.GetProtocol() != INetProtocol::NotValid ) && mpTheme->InsertURL( aURL, nIndex ) ) { - const GalleryObject* pObj = mpTheme->ImplGetGalleryObject( aURL ); + const GalleryObject* pObj = mpTheme->maGalleryObjectCollection.searchObjectWithURL( aURL ); if( pObj ) - nRet = mpTheme->ImplGetGalleryObjectPos( pObj ); + nRet = mpTheme->maGalleryObjectCollection.searchPosWithObject( pObj ); } } catch( ... ) |