include/sfx2/templatedlg.hxx | 2 +- include/sfx2/templatelocalview.hxx | 4 ++-- sfx2/source/control/templatelocalview.cxx | 8 +++----- sfx2/source/dialog/backingwindow.cxx | 6 ++---- sfx2/source/dialog/backingwindow.hxx | 2 +- sfx2/source/doc/templatedlg.cxx | 7 +++---- 6 files changed, 12 insertions(+), 17 deletions(-)
New commits: commit 2c5d9dbe46cb39935cff8c53874b295ecb1ad65c Author: Michael Weghorn <[email protected]> AuthorDate: Wed Dec 31 13:11:20 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Jan 3 08:10:51 2026 +0100 Pass TemplateViewItem in context menu hdl Pass the more specific subclass as a param. This gets rid of the need for some casting. Change-Id: I2174c2b8bdb0456b40eae9b223ab744d3b5334ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196382 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/include/sfx2/templatedlg.hxx b/include/sfx2/templatedlg.hxx index b04fff15a214..e779bd0807fc 100644 --- a/include/sfx2/templatedlg.hxx +++ b/include/sfx2/templatedlg.hxx @@ -71,7 +71,7 @@ protected: SAL_DLLPRIVATE void DefaultTemplateMenuSelectHdl(std::u16string_view rIdent); DECL_DLLPRIVATE_LINK(OpenRegionHdl, void*, void); - DECL_DLLPRIVATE_LINK(CreateContextMenuHdl, ThumbnailViewItem*, void); + DECL_DLLPRIVATE_LINK(CreateContextMenuHdl, TemplateViewItem*, void); DECL_DLLPRIVATE_LINK(OpenTemplateHdl, const OUString&, void); DECL_DLLPRIVATE_LINK(EditTemplateHdl, const OUString&, void); DECL_DLLPRIVATE_LINK(DeleteTemplateHdl, void*, void); diff --git a/include/sfx2/templatelocalview.hxx b/include/sfx2/templatelocalview.hxx index b2f4dad68b38..c88ee0bd22b2 100644 --- a/include/sfx2/templatelocalview.hxx +++ b/include/sfx2/templatelocalview.hxx @@ -131,7 +131,7 @@ public: void setOpenRegionHdl(const Link<void*,void> &rLink); - void setCreateContextMenuHdl(const Link<ThumbnailViewItem*,void> &rLink); + void setCreateContextMenuHdl(const Link<TemplateViewItem*, void>& rLink); void setOpenTemplateHdl(const Link<const OUString&, void>& rLink); @@ -174,7 +174,7 @@ protected: Point maPosition; //store the point of click event Link<void*,void> maOpenRegionHdl; - Link<ThumbnailViewItem*,void> maCreateContextMenuHdl; + Link<TemplateViewItem*, void> maCreateContextMenuHdl; Link<const OUString&, void> maOpenTemplateHdl; Link<const OUString&, void> maEditTemplateHdl; Link<void*,void> maDeleteTemplateHdl; diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 80ffeb7306c4..f69a48a6d255 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -726,7 +726,7 @@ bool TemplateLocalView::Command(const CommandEvent& rCEvt) tools::Rectangle aRect = pItem->getDrawArea(); maPosition = aRect.Center(); maSelectedItem = dynamic_cast<TemplateViewItem*>(pItem); - maCreateContextMenuHdl.Call(pItem); + maCreateContextMenuHdl.Call(maSelectedItem); break; } } @@ -781,7 +781,7 @@ void TemplateLocalView::setOpenRegionHdl(const Link<void*,void> &rLink) maOpenRegionHdl = rLink; } -void TemplateLocalView::setCreateContextMenuHdl(const Link<ThumbnailViewItem*,void> &rLink) +void TemplateLocalView::setCreateContextMenuHdl(const Link<TemplateViewItem*, void>& rLink) { maCreateContextMenuHdl = rLink; } diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index ec9275f07ee7..b1e5c7e81bdc 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -675,11 +675,9 @@ IMPL_LINK (BackingWindow, MenuSelectHdl, const OUString&, rId, void) } } -IMPL_LINK(BackingWindow, CreateContextMenuHdl, ThumbnailViewItem*, pItem, void) +IMPL_LINK(BackingWindow, CreateContextMenuHdl, TemplateViewItem*, pItem, void) { - const TemplateViewItem *pViewItem = dynamic_cast<TemplateViewItem*>(pItem); - - if (pViewItem) + if (pItem) mxLocalView->createContextMenu(); } diff --git a/sfx2/source/dialog/backingwindow.hxx b/sfx2/source/dialog/backingwindow.hxx index 7989d49753da..11ea3cb17ed5 100644 --- a/sfx2/source/dialog/backingwindow.hxx +++ b/sfx2/source/dialog/backingwindow.hxx @@ -97,7 +97,7 @@ class BackingWindow : public InterimItemWindow DECL_LINK(ClickHelpHdl, weld::Button&, void); DECL_LINK(MenuSelectHdl, const OUString&, void); DECL_STATIC_LINK(BackingWindow, ExtLinkClickHdl, weld::Button&, void); - DECL_LINK(CreateContextMenuHdl, ThumbnailViewItem*, void); + DECL_LINK(CreateContextMenuHdl, TemplateViewItem*, void); DECL_LINK(OpenTemplateHdl, const OUString&, void); DECL_LINK(EditTemplateHdl, const OUString&, void); diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index d6023e5e8593..294ad7bee074 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -652,9 +652,8 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg, OpenRegionHdl, void*, void) mxActionBar->show(); } -IMPL_LINK(SfxTemplateManagerDlg, CreateContextMenuHdl, ThumbnailViewItem*, pItem, void) +IMPL_LINK(SfxTemplateManagerDlg, CreateContextMenuHdl, TemplateViewItem*, pItem, void) { - const TemplateViewItem *pViewItem = dynamic_cast<TemplateViewItem*>(pItem); bool bIsDefault = false; bool bIsInternal = false; @@ -670,12 +669,12 @@ IMPL_LINK(SfxTemplateManagerDlg, CreateContextMenuHdl, ThumbnailViewItem*, pItem } } - if (!pViewItem) + if (!pItem) return; bool bIsSingleSel = maSelTemplates.size() == 1; OUString aDefaultImg; - INetURLObject aUrl(pViewItem->getPath()); + INetURLObject aUrl(pItem->getPath()); if (ViewFilter_Application::isFilteredExtension(FILTER_APPLICATION::WRITER, aUrl.getExtension())) aDefaultImg = BMP_ACTION_DEFAULT_WRITER; else if (ViewFilter_Application::isFilteredExtension(FILTER_APPLICATION::CALC, aUrl.getExtension())) commit 08da522317bd52f2960944c4c6d7b8d630d0894f Author: Michael Weghorn <[email protected]> AuthorDate: Thu Jan 1 12:45:47 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Jan 3 08:10:43 2026 +0100 sfx2: Reduce variable scope Change-Id: I365d7a272a39f470e113af19a05929af01ad46b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196388 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 50c0a12b9867..80ffeb7306c4 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -705,9 +705,7 @@ bool TemplateLocalView::Command(const CommandEvent& rCEvt) Point aPosition(rCEvt.GetMousePosPixel()); maPosition = aPosition; ThumbnailViewItem* pItem = ImplGetItem(nPos); - TemplateViewItem* pViewItem = dynamic_cast<TemplateViewItem*>(pItem); - - if(pViewItem) + if (TemplateViewItem* pViewItem = dynamic_cast<TemplateViewItem*>(pItem)) { if (!pViewItem->isSelected()) {
