summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/source/lib/init.cxx1
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu14
-rw-r--r--sfx2/source/control/unoctitm.cxx1
-rw-r--r--sw/inc/cmdid.h1
-rw-r--r--sw/sdi/_textsh.sdi6
-rw-r--r--sw/sdi/swriter.sdi14
-rw-r--r--sw/source/uibase/shells/textsh1.cxx21
-rw-r--r--sw/uiconfig/sglobal/popupmenu/text.xml1
-rw-r--r--sw/uiconfig/sweb/popupmenu/text.xml1
-rw-r--r--sw/uiconfig/swform/popupmenu/text.xml1
-rw-r--r--sw/uiconfig/swreport/popupmenu/text.xml1
-rw-r--r--sw/uiconfig/swriter/popupmenu/text.xml1
-rw-r--r--sw/uiconfig/swxform/popupmenu/text.xml1
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"/>