include/sfx2/thumbnailviewitem.hxx | 8 ++++++-- sfx2/source/control/thumbnailview.cxx | 12 ++++++------ sfx2/source/control/thumbnailviewitem.cxx | 4 ++-- 3 files changed, 14 insertions(+), 10 deletions(-)
New commits: commit dbe8597ce4f8c503ac10836570a76a607b2ebb9c Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Aug 30 13:42:09 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Aug 30 21:33:35 2023 +0200 use concrete type for ThumbnailViewItem::mxAcc avoid some unnecessary casting Change-Id: I86d48cb463f4e9a1661025fa6e1f4f8c03d61eaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156287 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/sfx2/thumbnailviewitem.hxx b/include/sfx2/thumbnailviewitem.hxx index 64644b772d64..7c84b344a8a0 100644 --- a/include/sfx2/thumbnailviewitem.hxx +++ b/include/sfx2/thumbnailviewitem.hxx @@ -27,6 +27,7 @@ namespace com::sun::star::accessibility { class XAccessible; } namespace drawinglayer::primitive2d { class Primitive2DContainer; } +class ThumbnailViewItemAcc; #define THUMBNAILVIEW_ITEM_NONEITEM 0xFFFE @@ -76,7 +77,7 @@ public: BitmapEx maPreview1; OUString maTitle; OUString maHelpText; - css::uno::Reference< css::accessibility::XAccessible > mxAcc; + rtl::Reference< ThumbnailViewItemAcc > mxAcc; bool mbPinnedDocumentHighlighted; BitmapEx maPinnedDocumentBitmap; @@ -86,6 +87,9 @@ public: virtual ~ThumbnailViewItem (); + ThumbnailViewItem& operator=( ThumbnailViewItem const & ) = delete; // MSVC workaround + ThumbnailViewItem( ThumbnailViewItem const & ) = delete; // MSVC workaround + bool isVisible () const { return mbVisible; } void show (bool bVisible); @@ -115,7 +119,7 @@ public: void setTitle (const OUString& rTitle); - css::uno::Reference< css::accessibility::XAccessible > const & + rtl::Reference< ThumbnailViewItemAcc > const & GetAccessible( bool bIsTransientChildrenDisabled ); void setDrawArea (const tools::Rectangle &area); diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index ca839162f0a2..12bfcb327143 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -294,7 +294,7 @@ void ThumbnailView::ImplDeleteItems() { css::uno::Any aOldAny, aNewAny; - aOldAny <<= pItem->GetAccessible( false ); + aOldAny <<= css::uno::Reference<css::accessibility::XAccessible>(pItem->GetAccessible( false )); ImplFireAccessibleEvent( css::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny ); } @@ -438,7 +438,7 @@ void ThumbnailView::CalculateItemPositions(bool bScrollBarUsed) { css::uno::Any aOldAny, aNewAny; - aNewAny <<= pItem->GetAccessible( false ); + aNewAny <<= css::uno::Reference<css::accessibility::XAccessible>(pItem->GetAccessible( false )); ImplFireAccessibleEvent( css::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny ); } @@ -466,7 +466,7 @@ void ThumbnailView::CalculateItemPositions(bool bScrollBarUsed) { css::uno::Any aOldAny, aNewAny; - aOldAny <<= pItem->GetAccessible( false ); + aOldAny <<= css::uno::Reference<css::accessibility::XAccessible>(pItem->GetAccessible( false )); ImplFireAccessibleEvent( css::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny ); } @@ -1124,12 +1124,12 @@ void ThumbnailView::SelectItem( sal_uInt16 nItemId ) return; // focus event (select) - ThumbnailViewItemAcc* pItemAcc = ThumbnailViewItemAcc::getImplementation( pItem->GetAccessible( false ) ); + const rtl::Reference<ThumbnailViewItemAcc> & pItemAcc = pItem->GetAccessible( false ); if( pItemAcc ) { css::uno::Any aOldAny, aNewAny; - aNewAny <<= css::uno::Reference(getXWeak( pItemAcc )); + aNewAny <<= css::uno::Reference<css::accessibility::XAccessible>( pItemAcc ); ImplFireAccessibleEvent( css::accessibility::AccessibleEventId::ACTIVE_DESCENDANT_CHANGED, aOldAny, aNewAny ); } @@ -1207,7 +1207,7 @@ void ThumbnailView::filterItems(const std::function<bool (const ThumbnailViewIte { css::uno::Any aOldAny, aNewAny; - aOldAny <<= pItem->GetAccessible( false ); + aOldAny <<= css::uno::Reference<css::accessibility::XAccessible>(pItem->GetAccessible( false )); ImplFireAccessibleEvent( css::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny ); } diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx index ca8920acafd2..9579889e7e9a 100644 --- a/sfx2/source/control/thumbnailviewitem.cxx +++ b/sfx2/source/control/thumbnailviewitem.cxx @@ -67,7 +67,7 @@ ThumbnailViewItem::~ThumbnailViewItem() { if( mxAcc.is() ) { - static_cast< ThumbnailViewItemAcc* >( mxAcc.get() )->ParentDestroyed(); + mxAcc->ParentDestroyed(); } } @@ -129,7 +129,7 @@ void ThumbnailViewItem::setTitle (const OUString& rTitle) maTitle = rTitle; } -uno::Reference< accessibility::XAccessible > const & ThumbnailViewItem::GetAccessible( bool bIsTransientChildrenDisabled ) +const rtl::Reference< ThumbnailViewItemAcc > & ThumbnailViewItem::GetAccessible( bool bIsTransientChildrenDisabled ) { if( !mxAcc.is() ) mxAcc = new ThumbnailViewItemAcc( this, bIsTransientChildrenDisabled );