diff options
-rw-r--r-- | desktop/source/lib/init.cxx | 1 | ||||
-rw-r--r-- | officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu | 14 | ||||
-rw-r--r-- | sfx2/source/control/unoctitm.cxx | 1 | ||||
-rw-r--r-- | sw/inc/cmdid.h | 1 | ||||
-rw-r--r-- | sw/sdi/_textsh.sdi | 6 | ||||
-rw-r--r-- | sw/sdi/swriter.sdi | 14 | ||||
-rw-r--r-- | sw/source/uibase/shells/textsh1.cxx | 21 | ||||
-rw-r--r-- | sw/uiconfig/sglobal/popupmenu/text.xml | 1 | ||||
-rw-r--r-- | sw/uiconfig/sweb/popupmenu/text.xml | 1 | ||||
-rw-r--r-- | sw/uiconfig/swform/popupmenu/text.xml | 1 | ||||
-rw-r--r-- | sw/uiconfig/swreport/popupmenu/text.xml | 1 | ||||
-rw-r--r-- | sw/uiconfig/swriter/popupmenu/text.xml | 1 | ||||
-rw-r--r-- | sw/uiconfig/swxform/popupmenu/text.xml | 1 |
13 files changed, 64 insertions, 0 deletions
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 7f804585813e..9400a9bc6ce9 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -4020,6 +4020,7 @@ static void doc_iniUnoCommands () u".uno:Protect"_ustr, u".uno:UnsetCellsReadOnly"_ustr, u".uno:ContentControlProperties"_ustr, + u".uno:DeleteContentControl"_ustr, u".uno:InsertCheckboxContentControl"_ustr, u".uno:InsertContentControl"_ustr, u".uno:InsertDateContentControl"_ustr, diff --git a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu index 3e378f8a8f3b..d75dd6c83946 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu @@ -567,6 +567,20 @@ <value>1</value> </prop> </node> + <node oor:name=".uno:DeleteContentControl" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Delete Content Control</value> + </prop> + <prop oor:name="ContextLabel" oor:type="xs:string"> + <value xml:lang="en-US">Delete Content Control</value> + </prop> + <prop oor:name="PopupLabel" oor:type="xs:string"> + <value xml:lang="en-US">Delete Content Control</value> + </prop> + <prop oor:name="Properties" oor:type="xs:int"> + <value>1</value> + </prop> + </node> <node oor:name=".uno:SetReminder" oor:op="replace"> <prop oor:name="Label" oor:type="xs:string"> <value xml:lang="en-US">Set Reminder</value> diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx index 30cf78a710f5..6fd2196f583a 100644 --- a/sfx2/source/control/unoctitm.cxx +++ b/sfx2/source/control/unoctitm.cxx @@ -1333,6 +1333,7 @@ constexpr auto handlers = frozen::make_unordered_map<std::u16string_view, Payloa { u"Protect", EnabledPayload }, { u"UnsetCellsReadOnly", EnabledPayload }, { u"ContentControlProperties", EnabledPayload }, + { u"DeleteContentControl", EnabledPayload }, { u"InsertCheckboxContentControl", EnabledPayload }, { u"InsertContentControl", EnabledPayload }, { u"InsertDateContentControl", EnabledPayload }, diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h index 395bf663deec..02d06446328b 100644 --- a/sw/inc/cmdid.h +++ b/sw/inc/cmdid.h @@ -334,6 +334,7 @@ class SwUINumRuleItem; #define FN_DELETE_BOOKMARKS (FN_INSERT2 + 39) #define FN_DELETE_FIELDS (FN_INSERT2 + 40) #define FN_DELETE_SECTIONS (FN_INSERT2 + 41) +#define FN_DELETE_CONTENT_CONTROL (FN_INSERT2 + 42) /* Delete content control formatting */ // Region: Format #define FN_AUTOFORMAT_APPLY (FN_FORMAT + 1 ) /* apply autoformat options */ diff --git a/sw/sdi/_textsh.sdi b/sw/sdi/_textsh.sdi index d5e25007ef13..b0dd57ed8b3a 100644 --- a/sw/sdi/_textsh.sdi +++ b/sw/sdi/_textsh.sdi @@ -1885,6 +1885,12 @@ interface BaseText DisableFlags="SfxDisableFlags::SwOnProtectedCursor"; ] + FN_DELETE_CONTENT_CONTROL + [ + ExecMethod = Execute ; + StateMethod = GetState ; + ] + FN_DELETE_FIELDS [ ExecMethod = Execute ; diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi index ec808db28b46..0bc5e6e58952 100644 --- a/sw/sdi/swriter.sdi +++ b/sw/sdi/swriter.sdi @@ -2651,6 +2651,20 @@ SfxVoidItem DeleteSections FN_DELETE_SECTIONS GroupId = SfxGroupId::Controls; ] +SfxVoidItem DeleteContentControl FN_DELETE_CONTENT_CONTROL + +[ + AutoUpdate = FALSE, + FastCall = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + + GroupId = SfxGroupId::Controls; +] + SfxVoidItem DeleteFields FN_DELETE_FIELDS (SfxStringItem TypeName FN_PARAM_1, SfxStringItem NamePrefix FN_PARAM_2) [ diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index 8942e812fd29..0376bef49da9 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -70,6 +70,8 @@ #include <swdtflvr.hxx> #include <swundo.hxx> #include <reffld.hxx> +#include <textcontentcontrol.hxx> +#include <txatbase.hxx> #include <docsh.hxx> #include <inputwin.hxx> #include <chrdlgmodes.hxx> @@ -81,6 +83,7 @@ #include <strings.hrc> #include <txatbase.hxx> #include <paratr.hxx> +#include <ndtxt.hxx> #include <vcl/svapp.hxx> #include <sfx2/app.hxx> #include <breakit.hxx> @@ -532,6 +535,18 @@ void DeleteSections(SfxRequest& rReq, SwWrtShell& rWrtSh) } } +void DeleteContentControl( SwWrtShell& rWrtSh ) +{ + SwTextContentControl* pTextContentControl = rWrtSh.CursorInsideContentControl(); + if (pTextContentControl) { + const SwFormatContentControl& rFormatContentControl = pTextContentControl->GetContentControl(); + const std::shared_ptr<SwContentControl>& pContentControl = rFormatContentControl.GetContentControl(); + pContentControl->SetReadWrite(true); + pTextContentControl->Delete(true); + } +} + + void UpdateBookmarks(SfxRequest& rReq, SwWrtShell& rWrtSh) { if (rWrtSh.getIDocumentSettingAccess().get(DocumentSettingId::PROTECT_BOOKMARKS)) @@ -1341,6 +1356,11 @@ void SwTextShell::Execute(SfxRequest &rReq) DeleteSections(rReq, rWrtSh); break; } + case FN_DELETE_CONTENT_CONTROL: + { + DeleteContentControl( rWrtSh ); + break; + } case FN_SET_REMINDER: { // collect and sort navigator reminder names @@ -3878,6 +3898,7 @@ void SwTextShell::GetState( SfxItemSet &rSet ) rSet.Put(SfxBoolItem(nWhich, bProtected)); } break; + case FN_DELETE_CONTENT_CONTROL: case FN_CONTENT_CONTROL_PROPERTIES: { if (!GetShell().CursorInsideContentControl()) diff --git a/sw/uiconfig/sglobal/popupmenu/text.xml b/sw/uiconfig/sglobal/popupmenu/text.xml index 7170b7db12aa..209510f5fe6c 100644 --- a/sw/uiconfig/sglobal/popupmenu/text.xml +++ b/sw/uiconfig/sglobal/popupmenu/text.xml @@ -24,6 +24,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:FieldDialog"/> <menu:menuitem menu:id=".uno:ContentControlProperties"/> + <menu:menuitem menu:id=".uno:DeleteContentControl"/> <menu:menuitem menu:id=".uno:EditFootnote"/> <menu:menuitem menu:id=".uno:IndexEntryDialog"/> <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/> diff --git a/sw/uiconfig/sweb/popupmenu/text.xml b/sw/uiconfig/sweb/popupmenu/text.xml index 7170b7db12aa..209510f5fe6c 100644 --- a/sw/uiconfig/sweb/popupmenu/text.xml +++ b/sw/uiconfig/sweb/popupmenu/text.xml @@ -24,6 +24,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:FieldDialog"/> <menu:menuitem menu:id=".uno:ContentControlProperties"/> + <menu:menuitem menu:id=".uno:DeleteContentControl"/> <menu:menuitem menu:id=".uno:EditFootnote"/> <menu:menuitem menu:id=".uno:IndexEntryDialog"/> <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/> diff --git a/sw/uiconfig/swform/popupmenu/text.xml b/sw/uiconfig/swform/popupmenu/text.xml index 7170b7db12aa..209510f5fe6c 100644 --- a/sw/uiconfig/swform/popupmenu/text.xml +++ b/sw/uiconfig/swform/popupmenu/text.xml @@ -24,6 +24,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:FieldDialog"/> <menu:menuitem menu:id=".uno:ContentControlProperties"/> + <menu:menuitem menu:id=".uno:DeleteContentControl"/> <menu:menuitem menu:id=".uno:EditFootnote"/> <menu:menuitem menu:id=".uno:IndexEntryDialog"/> <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/> diff --git a/sw/uiconfig/swreport/popupmenu/text.xml b/sw/uiconfig/swreport/popupmenu/text.xml index 4b31d6d34f7d..e99e2653a3a1 100644 --- a/sw/uiconfig/swreport/popupmenu/text.xml +++ b/sw/uiconfig/swreport/popupmenu/text.xml @@ -29,6 +29,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:FieldDialog"/> <menu:menuitem menu:id=".uno:ContentControlProperties"/> + <menu:menuitem menu:id=".uno:DeleteContentControl"/> <menu:menuitem menu:id=".uno:EditFootnote"/> <menu:menuitem menu:id=".uno:IndexEntryDialog"/> <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/> diff --git a/sw/uiconfig/swriter/popupmenu/text.xml b/sw/uiconfig/swriter/popupmenu/text.xml index 4c68f99524f2..e9a559e43db4 100644 --- a/sw/uiconfig/swriter/popupmenu/text.xml +++ b/sw/uiconfig/swriter/popupmenu/text.xml @@ -27,6 +27,7 @@ <menu:menuitem menu:id=".uno:UpdateSelectedField"/> <menu:menuitem menu:id=".uno:FieldDialog"/> <menu:menuitem menu:id=".uno:ContentControlProperties"/> + <menu:menuitem menu:id=".uno:DeleteContentControl"/> <menu:menuitem menu:id=".uno:EditFootnote"/> <menu:menuitem menu:id=".uno:IndexEntryDialog"/> <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/> diff --git a/sw/uiconfig/swxform/popupmenu/text.xml b/sw/uiconfig/swxform/popupmenu/text.xml index 199f69eac465..004b2f3717f2 100644 --- a/sw/uiconfig/swxform/popupmenu/text.xml +++ b/sw/uiconfig/swxform/popupmenu/text.xml @@ -24,6 +24,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:FieldDialog"/> <menu:menuitem menu:id=".uno:ContentControlProperties"/> + <menu:menuitem menu:id=".uno:DeleteContentControl"/> <menu:menuitem menu:id=".uno:EditFootnote"/> <menu:menuitem menu:id=".uno:IndexEntryDialog"/> <menu:menuitem menu:id=".uno:AuthoritiesEntryDialog"/> |