include/sfx2/templatedlg.hxx                 |    2 +-
 sfx2/source/control/templatedlglocalview.cxx |   10 ++++------
 sfx2/source/doc/templatedlg.cxx              |    8 +++-----
 3 files changed, 8 insertions(+), 12 deletions(-)

New commits:
commit 365c44c6d886a844600a21c7d6f03e32102897e3
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Dec 31 11:27:58 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Jan 3 08:09:40 2026 +0100

    sfx2: Pass TemplateViewItem to SfxTemplateManagerDlg::OnTemplateState
    
    Switch param to use the more concrete subclass, which will
    also allow reducing casting elsewhere in an upcoming commit.
    
    Change-Id: I753f13b92554ab37c8dfe4303f53318916c471d0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196374
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/include/sfx2/templatedlg.hxx b/include/sfx2/templatedlg.hxx
index 0b771fca7b5f..59241d7abb96 100644
--- a/include/sfx2/templatedlg.hxx
+++ b/include/sfx2/templatedlg.hxx
@@ -96,7 +96,7 @@ protected:
     SAL_DLLPRIVATE void OnTemplateOpen();
     SAL_DLLPRIVATE void OnTemplateExport();
 
-    SAL_DLLPRIVATE void OnTemplateState(const ThumbnailViewItem* pItem);
+    SAL_DLLPRIVATE void OnTemplateState(const TemplateViewItem* pItem);
 
     SAL_DLLPRIVATE void OnCategoryNew();
     SAL_DLLPRIVATE void OnCategoryRename();
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index b872bde661b6..96a300f47d53 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -499,10 +499,8 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg, SelectRegionHdl, 
weld::ComboBox&, void)
 
 IMPL_LINK(SfxTemplateManagerDlg, TVItemStateHdl, const ThumbnailViewItem*, 
pItem, void)
 {
-    const TemplateViewItem *pViewItem = dynamic_cast<const 
TemplateViewItem*>(pItem);
-
-    if (pViewItem)
-        OnTemplateState(pItem);
+    if (const TemplateViewItem* pViewItem = dynamic_cast<const 
TemplateViewItem*>(pItem))
+        OnTemplateState(pViewItem);
 }
 
 IMPL_LINK(SfxTemplateManagerDlg, MenuSelectHdl, const OUString&, rIdent, void)
@@ -858,7 +856,7 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg, GetFocusHdl, 
weld::Widget&, void)
     maSelTemplates.clear();
 }
 
-void SfxTemplateManagerDlg::OnTemplateState (const ThumbnailViewItem *pItem)
+void SfxTemplateManagerDlg::OnTemplateState (const TemplateViewItem* pItem)
 {
     bool bInSelection = maSelTemplates.find(pItem) != maSelTemplates.end();
 
commit 3f9013aa8ffe1448404297ea54ba1e7ac1eef11d
Author:     Michael Weghorn <[email protected]>
AuthorDate: Wed Dec 31 11:17:13 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Jan 3 08:09:31 2026 +0100

    sfx2: Reduce casting in TemplateDlgLocalView
    
    Use the result of the previous dynamic_cast instead
    of casting again.
    
    Change-Id: I7bc6bc416a4f106390c6463f950620aab5f489c7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196373
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/sfx2/source/control/templatedlglocalview.cxx 
b/sfx2/source/control/templatedlglocalview.cxx
index 128b59b1d932..0e8ae712185a 100644
--- a/sfx2/source/control/templatedlglocalview.cxx
+++ b/sfx2/source/control/templatedlglocalview.cxx
@@ -308,9 +308,8 @@ void TemplateDlgLocalView::syncCursor()
 
         size_t nPos = GetItemPos(nCursorId);
         ThumbnailViewItem* pItem = ImplGetItem(nPos);
-        const TemplateViewItem* pViewItem = dynamic_cast<const 
TemplateViewItem*>(pItem);
-        if (pViewItem)
-            maSelectedItem = dynamic_cast<TemplateViewItem*>(pItem);
+        if (TemplateViewItem* pViewItem = 
dynamic_cast<TemplateViewItem*>(pItem))
+            maSelectedItem = pViewItem;
     }
 }
 
@@ -329,9 +328,8 @@ void TemplateDlgLocalView::updateSelection()
     sal_uInt16 nCursorId = get_nId(nCursorIndex);
     size_t nPos = GetItemPos(nCursorId);
     ThumbnailViewItem* pItem = ImplGetItem(nPos);
-    const TemplateViewItem* pViewItem = dynamic_cast<const 
TemplateViewItem*>(pItem);
-    if (pViewItem)
-        maSelectedItem = dynamic_cast<TemplateViewItem*>(pItem);
+    if (TemplateViewItem* pViewItem = dynamic_cast<TemplateViewItem*>(pItem))
+        maSelectedItem = pViewItem;
 }
 
 IMPL_LINK_NOARG(TemplateDlgLocalView, RowActivatedHdl, weld::TreeView&, bool)

Reply via email to