sfx2/inc/templatedefaultview.hxx | 2 +- sfx2/source/control/templatedefaultview.cxx | 8 +++++++- sfx2/source/control/templatedlglocalview.cxx | 1 + sfx2/source/dialog/backingwindow.cxx | 9 +++++++-- 4 files changed, 16 insertions(+), 4 deletions(-)
New commits: commit cca3498787f5657986eec61411d5b2ae6f1f1098 Author: Tejas Shukla <[email protected]> AuthorDate: Sat Jan 10 15:01:24 2026 +0530 Commit: Heiko Tietze <[email protected]> CommitDate: Thu Jan 22 08:54:40 2026 +0100 tdf#138246 Disable edit contextmenu item for built-in templates Change-Id: Ib263df6e3e798b38e3e75bb597f43dec5c91cc14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197335 Tested-by: Jenkins Reviewed-by: Heiko Tietze <[email protected]> diff --git a/sfx2/inc/templatedefaultview.hxx b/sfx2/inc/templatedefaultview.hxx index 286d5355c30d..88a42b0152a2 100644 --- a/sfx2/inc/templatedefaultview.hxx +++ b/sfx2/inc/templatedefaultview.hxx @@ -23,7 +23,7 @@ public: virtual bool MouseButtonDown(const MouseEvent& rMEvt) override; - void createContextMenu(); + void createContextMenu(const bool bIsInternal); protected: void UpdateColors(const StyleSettings& rSettings) override; diff --git a/sfx2/source/control/templatedefaultview.cxx b/sfx2/source/control/templatedefaultview.cxx index d4c2d0fb7893..d45196736f59 100644 --- a/sfx2/source/control/templatedefaultview.cxx +++ b/sfx2/source/control/templatedefaultview.cxx @@ -75,11 +75,17 @@ bool TemplateDefaultView::MouseButtonDown( const MouseEvent& rMEvt ) return TemplateLocalView::MouseButtonDown(rMEvt); } -void TemplateDefaultView::createContextMenu() +void TemplateDefaultView::createContextMenu(const bool bIsBuiltIn) { mxContextMenu->clear(); mxContextMenu->append(u"open"_ustr,SfxResId(STR_OPEN)); mxContextMenu->append(u"edit"_ustr,SfxResId(STR_EDIT_TEMPLATE)); + + if (bIsBuiltIn) + { + mxContextMenu->set_sensitive(u"edit"_ustr, false); + } + deselectItems(); mpSelectedItem->setSelection(true); maItemStateHdl.Call(mpSelectedItem); diff --git a/sfx2/source/control/templatedlglocalview.cxx b/sfx2/source/control/templatedlglocalview.cxx index 1bd21f0a0a10..f3439c814de8 100644 --- a/sfx2/source/control/templatedlglocalview.cxx +++ b/sfx2/source/control/templatedlglocalview.cxx @@ -132,6 +132,7 @@ void TemplateDlgLocalView::createContextMenu(const bool bIsDefault, const bool b } if (bIsBuiltIn) { + mxContextMenu->set_sensitive(u"edit"_ustr, false); mxContextMenu->set_sensitive(u"rename"_ustr, false); mxContextMenu->set_sensitive(u"delete"_ustr, false); } diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index 29a9753e4ec1..bfd021b5ec49 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -676,8 +676,13 @@ IMPL_LINK (BackingWindow, MenuSelectHdl, const OUString&, rId, void) IMPL_LINK(BackingWindow, CreateContextMenuHdl, TemplateViewItem*, pItem, void) { - if (pItem) - mxLocalView->createContextMenu(); + if (!pItem) + return; + + bool bIsInternal = TemplateLocalView::IsInternalTemplate(pItem->getPath()); + + mxLocalView->createContextMenu(bIsInternal); + } IMPL_LINK(BackingWindow, OpenTemplateHdl, const OUString&, rTemplatePath, void)
