Related: tdf#144389: merge ThumbnailView and ThumbnailViewBase
only ThumbnailView inherits directly from ThumbnailViewBase and it will
simplify a11y if ThumbnailView instead of ThumbnailViewBase is available
Change-Id: I715faa3f9b2cec68c1de07479b7d1dbbd9ddbcc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121848
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/include/sfx2/thumbnailview.hxx b/include/sfx2/thumbnailview.hxx
index c50b7bb..a8c61ab 100644
--- a/include/sfx2/thumbnailview.hxx
+++ b/include/sfx2/thumbnailview.hxx
@@ -159,29 +159,11 @@ public:
*
**/
class SFX2_DLLPUBLIC ThumbnailViewBase
class SFX2_DLLPUBLIC ThumbnailView : public weld::CustomWidgetController
{
friend class ThumbnailViewAcc;
friend class ThumbnailViewItemAcc;
virtual sal_uInt16 ImplGetVisibleItemCount() const = 0;
virtual ThumbnailViewItem* ImplGetVisibleItem(sal_uInt16 nVisiblePos) = 0;
virtual css::uno::Reference<css::accessibility::XAccessible> getAccessible() = 0;
public:
/// Updates information in the view; used only in RecentDocsView ATM.
virtual void Reload() {}
virtual bool renameItem(ThumbnailViewItem* pItem, const OUString& sNewTitle);
virtual bool isDrawMnemonic() const = 0;
virtual ~ThumbnailViewBase();
};
class SFX2_DLLPUBLIC ThumbnailView : public weld::CustomWidgetController, public ThumbnailViewBase
{
public:
ThumbnailView(std::unique_ptr<weld::ScrolledWindow> xWindow, std::unique_ptr<weld::Menu> xMenu);
@@ -189,6 +171,9 @@ public:
virtual bool MouseMove(const MouseEvent& rMEvt) override;
/// Updates information in the view; used only in RecentDocsView ATM.
virtual void Reload() {}
void AppendItem(std::unique_ptr<ThumbnailViewItem> pItem);
void RemoveItem(sal_uInt16 nItemId);
@@ -206,7 +191,9 @@ public:
sal_uInt16 getNextItemId () const;
virtual bool isDrawMnemonic() const override { return mbDrawMnemonics; }
virtual bool renameItem(ThumbnailViewItem* pItem, const OUString& sNewTitle);
virtual bool isDrawMnemonic() const { return mbDrawMnemonics; }
void setItemMaxTextLength (sal_uInt32 nLength);
@@ -271,7 +258,7 @@ protected:
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override;
virtual css::uno::Reference<css::accessibility::XAccessible> getAccessible() override;
virtual css::uno::Reference<css::accessibility::XAccessible> getAccessible();
protected:
@@ -297,8 +284,8 @@ protected:
void ImplDeleteItems();
size_t ImplGetItem( const Point& rPoint ) const;
ThumbnailViewItem* ImplGetItem( size_t nPos );
virtual sal_uInt16 ImplGetVisibleItemCount() const override;
virtual ThumbnailViewItem* ImplGetVisibleItem(sal_uInt16 nVisiblePos) override;
virtual sal_uInt16 ImplGetVisibleItemCount() const;
virtual ThumbnailViewItem* ImplGetVisibleItem(sal_uInt16 nVisiblePos);
void ImplFireAccessibleEvent( short nEventId, const css::uno::Any& rOldValue, const css::uno::Any& rNewValue );
bool ImplHasAccessibleListeners();
DECL_LINK( ImplScrollHdl, weld::ScrolledWindow&, void );
diff --git a/include/sfx2/thumbnailviewitem.hxx b/include/sfx2/thumbnailviewitem.hxx
index 82c98e2..d0da2ed 100644
--- a/include/sfx2/thumbnailviewitem.hxx
+++ b/include/sfx2/thumbnailviewitem.hxx
@@ -32,7 +32,7 @@ namespace drawinglayer::primitive2d { class Primitive2DContainer; }
const int THUMBNAILVIEW_ITEM_CORNER = 5;
class ThumbnailViewBase;
class ThumbnailView;
class MouseEvent;
namespace basegfx {
@@ -66,7 +66,7 @@ class SFX2_DLLPUBLIC ThumbnailViewItem
{
public:
ThumbnailViewBase &mrParent;
ThumbnailView& mrParent;
sal_uInt16 mnId;
bool mbVisible;
bool mbBorder;
@@ -77,7 +77,7 @@ public:
OUString maHelpText;
css::uno::Reference< css::accessibility::XAccessible > mxAcc;
ThumbnailViewItem (ThumbnailViewBase &rView, sal_uInt16 nId);
ThumbnailViewItem(ThumbnailView& rView, sal_uInt16 nId);
virtual ~ThumbnailViewItem ();
diff --git a/sfx2/inc/emojiviewitem.hxx b/sfx2/inc/emojiviewitem.hxx
index b5a614f..61a3306 100644
--- a/sfx2/inc/emojiviewitem.hxx
+++ b/sfx2/inc/emojiviewitem.hxx
@@ -14,7 +14,7 @@
class EmojiViewItem final : public ThumbnailViewItem
{
public:
EmojiViewItem (ThumbnailViewBase &rView, sal_uInt16 nId);
EmojiViewItem(ThumbnailView& rView, sal_uInt16 nId);
virtual ~EmojiViewItem () override;
diff --git a/sfx2/inc/templateviewitem.hxx b/sfx2/inc/templateviewitem.hxx
index 36d433b..41c77b06 100644
--- a/sfx2/inc/templateviewitem.hxx
+++ b/sfx2/inc/templateviewitem.hxx
@@ -15,7 +15,7 @@ class TemplateViewItem : public ThumbnailViewItem
{
public:
TemplateViewItem (ThumbnailViewBase &rView, sal_uInt16 nId);
TemplateViewItem(ThumbnailView& rView, sal_uInt16 nId);
virtual ~TemplateViewItem () override;
diff --git a/sfx2/source/control/emojiviewitem.cxx b/sfx2/source/control/emojiviewitem.cxx
index f9394ea..1e6ec06 100644
--- a/sfx2/source/control/emojiviewitem.cxx
+++ b/sfx2/source/control/emojiviewitem.cxx
@@ -22,7 +22,7 @@ using namespace basegfx::utils;
using namespace drawinglayer::attribute;
using namespace drawinglayer::primitive2d;
EmojiViewItem::EmojiViewItem (ThumbnailViewBase &rView, sal_uInt16 nId)
EmojiViewItem::EmojiViewItem(ThumbnailView& rView, sal_uInt16 nId)
: ThumbnailViewItem(rView, nId)
{
}
@@ -31,7 +31,6 @@ EmojiViewItem::~EmojiViewItem ()
{
}
void EmojiViewItem::calculateItemsPosition (const tools::Long /*nThumbnailHeight*/,
const tools::Long /*nPadding*/, sal_uInt32 nMaxTextLength,
const ThumbnailItemAttributes *pAttrs)
diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx
index 3dd20a3..2d6c9d0 100644
--- a/sfx2/source/control/templateviewitem.cxx
+++ b/sfx2/source/control/templateviewitem.cxx
@@ -28,7 +28,7 @@ using namespace basegfx::utils;
using namespace drawinglayer::attribute;
using namespace drawinglayer::primitive2d;
TemplateViewItem::TemplateViewItem (ThumbnailViewBase &rView, sal_uInt16 nId)
TemplateViewItem::TemplateViewItem(ThumbnailView& rView, sal_uInt16 nId)
: ThumbnailViewItem(rView, nId),
mnRegionId(USHRT_MAX),
mnDocId(USHRT_MAX),
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index c8cd25e..7c445b9 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -47,16 +47,12 @@ using namespace drawinglayer::primitive2d;
constexpr int gnFineness = 5;
bool ThumbnailViewBase::renameItem(ThumbnailViewItem*, const OUString&)
bool ThumbnailView::renameItem(ThumbnailViewItem*, const OUString&)
{
// Do nothing by default
return false;
}
ThumbnailViewBase::~ThumbnailViewBase()
{
}
BitmapEx ThumbnailView::readThumbnail(const OUString &msURL)
{
using namespace ::com::sun::star;
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index e5ed6e3..0f3eb5c 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -40,7 +40,7 @@ using namespace ::com::sun::star;
using namespace drawinglayer::attribute;
using namespace drawinglayer::primitive2d;
ThumbnailViewItem::ThumbnailViewItem(ThumbnailViewBase &rView, sal_uInt16 nId)
ThumbnailViewItem::ThumbnailViewItem(ThumbnailView& rView, sal_uInt16 nId)
: mrParent(rView)
, mnId(nId)
, mbVisible(true)
diff --git a/sfx2/source/inc/templatesearchviewitem.hxx b/sfx2/source/inc/templatesearchviewitem.hxx
index 093b6ad..c99c169 100644
--- a/sfx2/source/inc/templatesearchviewitem.hxx
+++ b/sfx2/source/inc/templatesearchviewitem.hxx
@@ -14,7 +14,7 @@
struct TemplateSearchViewItem : public TemplateViewItem
{
TemplateSearchViewItem(ThumbnailViewBase& rView, sal_uInt16 nId)
TemplateSearchViewItem(ThumbnailView& rView, sal_uInt16 nId)
: TemplateViewItem(rView, nId)
, mnAssocId(0)
{