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())
             {

Reply via email to