summaryrefslogtreecommitdiff
path: root/sfx2/source/control/unoctitm.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/control/unoctitm.cxx')
-rw-r--r--sfx2/source/control/unoctitm.cxx572
1 files changed, 310 insertions, 262 deletions
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 984bd83c96c7..976cd48ce152 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -64,6 +64,7 @@
#include <slotserv.hxx>
#include <rtl/ustring.hxx>
#include <sfx2/lokhelper.hxx>
+#include <sfx2/lokunocmdlist.hxx>
#include <memory>
#include <string_view>
@@ -1148,275 +1149,319 @@ OString TableSizePayload(sal_uInt16, SfxViewFrame*, const css::frame::FeatureSta
return aBuffer.makeStringAndClear();
}
-constexpr auto handlers = frozen::make_unordered_map<std::u16string_view, PayloadGetter_t>({
- { u"Bold", IsActivePayload },
- { u"CenterPara", IsActivePayload },
- { u"CharBackgroundExt", IsActivePayload },
- { u"ControlCodes", IsActivePayload },
- { u"DefaultBullet", IsActivePayload },
- { u"DefaultNumbering", IsActivePayload },
- { u"Italic", IsActivePayload },
- { u"JustifyPara", IsActivePayload },
- { u"LeftPara", IsActivePayload },
- { u"OutlineFont", IsActivePayload },
- { u"RightPara", IsActivePayload },
- { u"Shadowed", IsActivePayload },
- { u"SpellOnline", IsActivePayload },
- { u"OnlineAutoFormat", IsActivePayload },
- { u"SubScript", IsActivePayload },
- { u"SuperScript", IsActivePayload },
- { u"Strikeout", IsActivePayload },
- { u"Underline", IsActivePayload },
- { u"ModifiedStatus", IsActivePayload },
- { u"TrackChanges", IsActivePayload },
- { u"ShowTrackedChanges", IsActivePayload },
- { u"AlignLeft", IsActivePayload },
- { u"AlignHorizontalCenter", IsActivePayload },
- { u"AlignRight", IsActivePayload },
- { u"DocumentRepair", IsActivePayload },
- { u"ObjectAlignLeft", IsActivePayload },
- { u"ObjectAlignRight", IsActivePayload },
- { u"AlignCenter", IsActivePayload },
- { u"AlignUp", IsActivePayload },
- { u"AlignMiddle", IsActivePayload },
- { u"AlignDown", IsActivePayload },
- { u"TraceChangeMode", IsActivePayload },
- { u"FormatPaintbrush", IsActivePayload },
- { u"FreezePanes", IsActivePayload },
- { u"Sidebar", IsActivePayload },
- { u"SpacePara1", IsActivePayload },
- { u"SpacePara15", IsActivePayload },
- { u"SpacePara2", IsActivePayload },
- { u"DataFilterAutoFilter", IsActivePayload },
- { u"CellProtection", IsActivePayload },
- { u"NormalMultiPaneGUI", IsActivePayload },
- { u"NotesMode", IsActivePayload },
- { u"SlideMasterPage", IsActivePayload },
-
- { u"CharFontName", FontNamePayload },
-
- { u"FontHeight", FontHeightPayload },
-
- { u"StyleApply", StyleApplyPayload },
-
- { u"BackColor", ColorPayload },
- { u"BackgroundColor", ColorPayload },
- { u"TableCellBackgroundColor", ColorPayload },
- { u"CharBackColor", ColorPayload },
- { u"Color", ColorPayload },
- { u"FontColor", ColorPayload },
- { u"FrameLineColor", ColorPayload },
- { u"GlowColor", ColorPayload },
-
- { u"Undo", UndoRedoPayload },
- { u"Redo", UndoRedoPayload },
-
- { u"Cut", EnabledPayload },
- { u"Copy", EnabledPayload },
- { u"Paste", EnabledPayload },
- { u"SelectAll", EnabledPayload },
- { u"InsertAnnotation", EnabledPayload },
- { u"DeleteAnnotation", EnabledPayload },
- { u"ResolveAnnotation", EnabledPayload },
- { u"ResolveAnnotationThread", EnabledPayload },
- { u"PromoteComment", EnabledPayload },
- { u"InsertRowsBefore", EnabledPayload },
- { u"InsertRowsAfter", EnabledPayload },
- { u"InsertColumnsBefore", EnabledPayload },
- { u"InsertColumnsAfter", EnabledPayload },
- { u"NameGroup", EnabledPayload },
- { u"ObjectTitleDescription", EnabledPayload },
- { u"MergeCells", EnabledPayload },
- { u"InsertObjectChart", EnabledPayload },
- { u"InsertSection", EnabledPayload },
- { u"InsertPagebreak", EnabledPayload },
- { u"InsertColumnBreak", EnabledPayload },
- { u"HyperlinkDialog", EnabledPayload },
- { u"InsertSymbol", EnabledPayload },
- { u"InsertPage", EnabledPayload },
- { u"DeletePage", EnabledPayload },
- { u"DuplicatePage", EnabledPayload },
- { u"DeleteRows", EnabledPayload },
- { u"DeleteColumns", EnabledPayload },
- { u"DeleteTable", EnabledPayload },
- { u"SelectTable", EnabledPayload },
- { u"EntireRow", EnabledPayload },
- { u"EntireColumn", EnabledPayload },
- { u"EntireCell", EnabledPayload },
- { u"SortAscending", EnabledPayload },
- { u"SortDescending", EnabledPayload },
- { u"AcceptAllTrackedChanges", EnabledPayload },
- { u"RejectAllTrackedChanges", EnabledPayload },
- { u"AcceptTrackedChange", EnabledPayload },
- { u"RejectTrackedChange", EnabledPayload },
- { u"AcceptTrackedChangeToNext", EnabledPayload },
- { u"RejectTrackedChangeToNext", EnabledPayload },
- { u"NextTrackedChange", EnabledPayload },
- { u"PreviousTrackedChange", EnabledPayload },
- { u"FormatGroup", EnabledPayload },
- { u"ObjectBackOne", EnabledPayload },
- { u"SendToBack", EnabledPayload },
- { u"ObjectForwardOne", EnabledPayload },
- { u"BringToFront", EnabledPayload },
- { u"WrapRight", EnabledPayload },
- { u"WrapThrough", EnabledPayload },
- { u"WrapLeft", EnabledPayload },
- { u"WrapIdeal", EnabledPayload },
- { u"WrapOn", EnabledPayload },
- { u"WrapOff", EnabledPayload },
- { u"UpdateCurIndex", EnabledPayload },
- { u"InsertCaptionDialog", EnabledPayload },
- { u"SplitTable", EnabledPayload },
- { u"SplitCell", EnabledPayload },
- { u"DeleteNote", EnabledPayload },
- { u"AcceptChanges", EnabledPayload },
- { u"SetDefault", EnabledPayload },
- { u"ParaspaceIncrease", EnabledPayload },
- { u"ParaspaceDecrease", EnabledPayload },
- { u"TableDialog", EnabledPayload },
- { u"FormatCellDialog", EnabledPayload },
- { u"FontDialog", EnabledPayload },
- { u"ParagraphDialog", EnabledPayload },
- { u"OutlineBullet", EnabledPayload },
- { u"InsertIndexesEntry", EnabledPayload },
- { u"TransformDialog", EnabledPayload },
- { u"EditRegion", EnabledPayload },
- { u"ThesaurusDialog", EnabledPayload },
- { u"OutlineRight", EnabledPayload },
- { u"OutlineLeft", EnabledPayload },
- { u"OutlineDown", EnabledPayload },
- { u"OutlineUp", EnabledPayload },
- { u"FormatArea", EnabledPayload },
- { u"FormatLine", EnabledPayload },
- { u"FormatColumns", EnabledPayload },
- { u"Watermark", EnabledPayload },
- { u"InsertBreak", EnabledPayload },
- { u"InsertEndnote", EnabledPayload },
- { u"InsertFootnote", EnabledPayload },
- { u"InsertReferenceField", EnabledPayload },
- { u"InsertBookmark", EnabledPayload },
- { u"InsertAuthoritiesEntry", EnabledPayload },
- { u"InsertMultiIndex", EnabledPayload },
- { u"InsertField", EnabledPayload },
- { u"PageNumberWizard", EnabledPayload },
- { u"InsertPageNumberField", EnabledPayload },
- { u"InsertPageCountField", EnabledPayload },
- { u"InsertDateField", EnabledPayload },
- { u"InsertTitleField", EnabledPayload },
- { u"InsertFieldCtrl", EnabledPayload },
- { u"CharmapControl", EnabledPayload },
- { u"EnterGroup", EnabledPayload },
- { u"LeaveGroup", EnabledPayload },
- { u"Combine", EnabledPayload },
- { u"Merge", EnabledPayload },
- { u"Dismantle", EnabledPayload },
- { u"Substract", EnabledPayload },
- { u"DistributeSelection", EnabledPayload },
- { u"Intersect", EnabledPayload },
- { u"ResetAttributes", EnabledPayload },
- { u"IncrementIndent", EnabledPayload },
- { u"DecrementIndent", EnabledPayload },
- { u"EditHeaderAndFooter", EnabledPayload },
- { u"InsertSparkline", EnabledPayload },
- { u"DeleteSparkline", EnabledPayload },
- { u"DeleteSparklineGroup", EnabledPayload },
- { u"EditSparklineGroup", EnabledPayload },
- { u"EditSparkline", EnabledPayload },
- { u"GroupSparklines", EnabledPayload },
- { u"UngroupSparklines", EnabledPayload },
- { u"FormatSparklineMenu", EnabledPayload },
- { u"DataDataPilotRun", EnabledPayload },
- { u"RecalcPivotTable", EnabledPayload },
- { u"DeletePivotTable", EnabledPayload },
- { u"NumberFormatDecDecimals", EnabledPayload },
- { u"NumberFormatIncDecimals", EnabledPayload },
- { u"Protect", EnabledPayload },
- { u"UnsetCellsReadOnly", EnabledPayload },
- { u"ContentControlProperties", EnabledPayload },
- { u"DeleteContentControl", EnabledPayload },
- { u"InsertCheckboxContentControl", EnabledPayload },
- { u"InsertContentControl", EnabledPayload },
- { u"InsertDateContentControl", EnabledPayload },
- { u"InsertDropdownContentControl", EnabledPayload },
- { u"InsertPlainTextContentControl", EnabledPayload },
- { u"InsertPictureContentControl", EnabledPayload },
- { u"ChangeBezier", EnabledPayload },
- { u"DistributeHorzCenter", EnabledPayload },
- { u"DistributeHorzDistance", EnabledPayload },
- { u"DistributeHorzLeft", EnabledPayload },
- { u"DistributeHorzRight", EnabledPayload },
- { u"DistributeVertBottom", EnabledPayload },
- { u"DistributeVertCenter", EnabledPayload },
- { u"DistributeVertDistance", EnabledPayload },
- { u"DistributeVertTop", EnabledPayload },
- { u"AnimationEffects", EnabledPayload },
- { u"ExecuteAnimationEffect", EnabledPayload },
-
- { u"ParaLeftToRight", ParaDirectionPayload },
- { u"ParaRightToLeft", ParaDirectionPayload },
-
- { u"AssignLayout", Int32Payload },
- { u"StatusSelectionMode", Int32Payload },
- { u"Signature", Int32Payload },
- { u"SelectionMode", Int32Payload },
- { u"StatusBarFunc", Int32Payload },
-
- { u"TransformPosX", TransformPayload },
- { u"TransformPosY", TransformPayload },
- { u"TransformWidth", TransformPayload },
- { u"TransformHeight", TransformPayload },
-
- { u"StatusDocPos", StringPayload },
- { u"StatusPageStyle", StringPayload },
- { u"StateWordCount", StringPayload },
- { u"PageStyleName", StringPayload },
- { u"PageStatus", StringPayload },
- { u"LayoutStatus", StringPayload },
- { u"Scale", StringPayload },
- { u"Context", StringPayload },
-
- { u"RowColSelCount", RowColSelCountPayload },
-
- { u"StateTableCell", StateTableCellPayload },
-
- { u"InsertMode", BooleanPayload },
- { u"WrapText", BooleanPayload },
- { u"NumberFormatCurrency", BooleanPayload },
- { u"NumberFormatPercent", BooleanPayload },
- { u"NumberFormatDecimal", BooleanPayload },
- { u"NumberFormatDate", BooleanPayload },
- { u"ShowResolvedAnnotations", BooleanPayload },
-
- { u"ToggleMergeCells", BooleanOrDisabledPayload },
- { u"SheetRightToLeft", BooleanOrDisabledPayload },
- { u"ToggleSheetGrid", BooleanOrDisabledPayload },
- { u"EditDoc", BooleanOrDisabledPayload },
-
- { u"Position", PointPayload },
- { u"FreezePanesColumn", PointPayload },
- { u"FreezePanesRow", PointPayload },
-
- { u"Size", SizePayload },
-
- { u"LanguageStatus", StringOrStrSeqPayload },
- { u"StatePageNumber", StringOrStrSeqPayload },
-
- { u"InsertPageHeader", StrSeqPayload },
- { u"InsertPageFooter", StrSeqPayload },
-
- { u"TableColumWidth", TableSizePayload },
- { u"TableRowHeight", TableSizePayload },
+constexpr auto enumToPayload = frozen::make_unordered_map<PayloadType, PayloadGetter_t>({
+ { PayloadType::None, nullptr },
+ { PayloadType::IsActivePayload, IsActivePayload },
+ { PayloadType::FontNamePayload, FontNamePayload },
+ { PayloadType::FontHeightPayload, FontHeightPayload },
+ { PayloadType::StyleApplyPayload, StyleApplyPayload },
+ { PayloadType::ColorPayload, ColorPayload },
+ { PayloadType::UndoRedoPayload, UndoRedoPayload },
+ { PayloadType::EnabledPayload, EnabledPayload },
+ { PayloadType::ParaDirectionPayload, ParaDirectionPayload },
+ { PayloadType::Int32Payload, Int32Payload },
+ { PayloadType::TransformPayload, TransformPayload },
+ { PayloadType::StringPayload, StringPayload },
+ { PayloadType::RowColSelCountPayload, RowColSelCountPayload },
+ { PayloadType::StateTableCellPayload, StateTableCellPayload },
+ { PayloadType::BooleanPayload, BooleanPayload },
+ { PayloadType::BooleanOrDisabledPayload, BooleanOrDisabledPayload },
+ { PayloadType::PointPayload, PointPayload },
+ { PayloadType::SizePayload, SizePayload },
+ { PayloadType::StringOrStrSeqPayload, StringOrStrSeqPayload },
+ { PayloadType::StrSeqPayload, StrSeqPayload },
+ { PayloadType::TableSizePayload, TableSizePayload },
});
}
+const std::map<std::u16string_view, KitUnoCommand>& GetKitUnoCommandList()
+{
+ static std::map<std::u16string_view, KitUnoCommand> aUnoCommandList = {
+ { u"Bold", { PayloadType::IsActivePayload, true } },
+ { u"CenterPara", { PayloadType::IsActivePayload, true } },
+
+ { u"CharBackgroundExt", { PayloadType::IsActivePayload, true } },
+ { u"ControlCodes", { PayloadType::IsActivePayload, true } },
+ { u"DefaultBullet", { PayloadType::IsActivePayload, true } },
+ { u"DefaultNumbering", { PayloadType::IsActivePayload, true } },
+ { u"Italic", { PayloadType::IsActivePayload, true } },
+ { u"JustifyPara", { PayloadType::IsActivePayload, true } },
+ { u"LeftPara", { PayloadType::IsActivePayload, true } },
+ { u"OutlineFont", { PayloadType::IsActivePayload, true } },
+ { u"RightPara", { PayloadType::IsActivePayload, true } },
+ { u"Shadowed", { PayloadType::IsActivePayload, true } },
+ { u"SpellOnline", { PayloadType::IsActivePayload, true } },
+ { u"OnlineAutoFormat", { PayloadType::IsActivePayload, true } },
+ { u"SubScript", { PayloadType::IsActivePayload, true } },
+ { u"SuperScript", { PayloadType::IsActivePayload, true } },
+ { u"Strikeout", { PayloadType::IsActivePayload, true } },
+ { u"Underline", { PayloadType::IsActivePayload, true } },
+ { u"ModifiedStatus", { PayloadType::IsActivePayload, true } },
+ { u"TrackChanges", { PayloadType::IsActivePayload, true } },
+ { u"ShowTrackedChanges", { PayloadType::IsActivePayload, true } },
+ { u"AlignLeft", { PayloadType::IsActivePayload, true } },
+ { u"AlignHorizontalCenter", { PayloadType::IsActivePayload, true } },
+ { u"AlignRight", { PayloadType::IsActivePayload, true } },
+ { u"DocumentRepair", { PayloadType::IsActivePayload, true } },
+ { u"ObjectAlignLeft", { PayloadType::IsActivePayload, true } },
+ { u"ObjectAlignRight", { PayloadType::IsActivePayload, true } },
+ { u"AlignCenter", { PayloadType::IsActivePayload, true } },
+ { u"AlignUp", { PayloadType::IsActivePayload, true } },
+ { u"AlignMiddle", { PayloadType::IsActivePayload, true } },
+ { u"AlignDown", { PayloadType::IsActivePayload, true } },
+ { u"TraceChangeMode", { PayloadType::IsActivePayload, true } },
+ { u"FormatPaintbrush", { PayloadType::IsActivePayload, true } },
+ { u"FreezePanes", { PayloadType::IsActivePayload, true } },
+ { u"Sidebar", { PayloadType::IsActivePayload, true } },
+ { u"SpacePara1", { PayloadType::IsActivePayload, true } },
+ { u"SpacePara15", { PayloadType::IsActivePayload, true } },
+ { u"SpacePara2", { PayloadType::IsActivePayload, true } },
+ { u"DataFilterAutoFilter", { PayloadType::IsActivePayload, true } },
+ { u"CellProtection", { PayloadType::IsActivePayload, true } },
+ { u"NormalMultiPaneGUI", { PayloadType::IsActivePayload, false } },
+ { u"NotesMode", { PayloadType::IsActivePayload, false } },
+ { u"SlideMasterPage", { PayloadType::IsActivePayload, false } },
+
+ { u"CharFontName", { PayloadType::FontNamePayload, true } },
+
+ { u"FontHeight", { PayloadType::FontHeightPayload, true } },
+
+ { u"StyleApply", { PayloadType::StyleApplyPayload, true } },
+
+ { u"BackColor", { PayloadType::ColorPayload, false } },
+ { u"BackgroundColor", { PayloadType::ColorPayload, true } },
+ { u"TableCellBackgroundColor", { PayloadType::ColorPayload, true } },
+ { u"CharBackColor", { PayloadType::ColorPayload, true } },
+ { u"Color", { PayloadType::ColorPayload, true } },
+ { u"FontColor", { PayloadType::ColorPayload, true } },
+ { u"FrameLineColor", { PayloadType::ColorPayload, true } },
+ { u"GlowColor", { PayloadType::ColorPayload, false } },
+
+ { u"Undo", { PayloadType::UndoRedoPayload, true } },
+ { u"Redo", { PayloadType::UndoRedoPayload, true } },
+
+ { u"Cut", { PayloadType::EnabledPayload, true } },
+ { u"Copy", { PayloadType::EnabledPayload, true } },
+ { u"Paste", { PayloadType::EnabledPayload, true } },
+ { u"SelectAll", { PayloadType::EnabledPayload, true } },
+ { u"InsertAnnotation", { PayloadType::EnabledPayload, true } },
+ { u"DeleteAnnotation", { PayloadType::EnabledPayload, true } },
+ { u"ResolveAnnotation", { PayloadType::EnabledPayload, false } },
+ { u"ResolveAnnotationThread", { PayloadType::EnabledPayload, false } },
+ { u"PromoteComment", { PayloadType::EnabledPayload, true } },
+ { u"InsertRowsBefore", { PayloadType::EnabledPayload, true } },
+ { u"InsertRowsAfter", { PayloadType::EnabledPayload, true } },
+ { u"InsertColumnsBefore", { PayloadType::EnabledPayload, true } },
+ { u"InsertColumnsAfter", { PayloadType::EnabledPayload, true } },
+ { u"NameGroup", { PayloadType::EnabledPayload, true } },
+ { u"ObjectTitleDescription", { PayloadType::EnabledPayload, true } },
+ { u"MergeCells", { PayloadType::EnabledPayload, true } },
+ { u"InsertObjectChart", { PayloadType::EnabledPayload, true } },
+ { u"InsertSection", { PayloadType::EnabledPayload, true } },
+ { u"InsertPagebreak", { PayloadType::EnabledPayload, true } },
+ { u"InsertColumnBreak", { PayloadType::EnabledPayload, true } },
+ { u"HyperlinkDialog", { PayloadType::EnabledPayload, true } },
+ { u"InsertSymbol", { PayloadType::EnabledPayload, true } },
+ { u"InsertPage", { PayloadType::EnabledPayload, true } },
+ { u"DeletePage", { PayloadType::EnabledPayload, true } },
+ { u"DuplicatePage", { PayloadType::EnabledPayload, true } },
+ { u"DeleteRows", { PayloadType::EnabledPayload, true } },
+ { u"DeleteColumns", { PayloadType::EnabledPayload, true } },
+ { u"DeleteTable", { PayloadType::EnabledPayload, true } },
+ { u"SelectTable", { PayloadType::EnabledPayload, true } },
+ { u"EntireRow", { PayloadType::EnabledPayload, true } },
+ { u"EntireColumn", { PayloadType::EnabledPayload, true } },
+ { u"EntireCell", { PayloadType::EnabledPayload, true } },
+ { u"SortAscending", { PayloadType::EnabledPayload, true } },
+ { u"SortDescending", { PayloadType::EnabledPayload, true } },
+ { u"AcceptAllTrackedChanges", { PayloadType::EnabledPayload, true } },
+ { u"RejectAllTrackedChanges", { PayloadType::EnabledPayload, true } },
+ { u"AcceptTrackedChange", { PayloadType::EnabledPayload, true } },
+ { u"RejectTrackedChange", { PayloadType::EnabledPayload, true } },
+ { u"AcceptTrackedChangeToNext", { PayloadType::EnabledPayload, true } },
+ { u"RejectTrackedChangeToNext", { PayloadType::EnabledPayload, true } },
+ { u"NextTrackedChange", { PayloadType::EnabledPayload, true } },
+ { u"PreviousTrackedChange", { PayloadType::EnabledPayload, true } },
+ { u"FormatGroup", { PayloadType::EnabledPayload, true } },
+ { u"ObjectBackOne", { PayloadType::EnabledPayload, true } },
+ { u"SendToBack", { PayloadType::EnabledPayload, true } },
+ { u"ObjectForwardOne", { PayloadType::EnabledPayload, true } },
+ { u"BringToFront", { PayloadType::EnabledPayload, true } },
+ { u"WrapRight", { PayloadType::EnabledPayload, true } },
+ { u"WrapThrough", { PayloadType::EnabledPayload, true } },
+ { u"WrapLeft", { PayloadType::EnabledPayload, true } },
+ { u"WrapIdeal", { PayloadType::EnabledPayload, true } },
+ { u"WrapOn", { PayloadType::EnabledPayload, true } },
+ { u"WrapOff", { PayloadType::EnabledPayload, true } },
+ { u"UpdateCurIndex", { PayloadType::EnabledPayload, true } },
+ { u"InsertCaptionDialog", { PayloadType::EnabledPayload, true } },
+ { u"SplitTable", { PayloadType::EnabledPayload, true } },
+ { u"SplitCell", { PayloadType::EnabledPayload, true } },
+ { u"DeleteNote", { PayloadType::EnabledPayload, true } },
+ { u"AcceptChanges", { PayloadType::EnabledPayload, true } },
+ { u"SetDefault", { PayloadType::EnabledPayload, true } },
+ { u"ParaspaceIncrease", { PayloadType::EnabledPayload, true } },
+ { u"ParaspaceDecrease", { PayloadType::EnabledPayload, true } },
+ { u"TableDialog", { PayloadType::EnabledPayload, true } },
+ { u"FormatCellDialog", { PayloadType::EnabledPayload, true } },
+ { u"FontDialog", { PayloadType::EnabledPayload, true } },
+ { u"ParagraphDialog", { PayloadType::EnabledPayload, true } },
+ { u"OutlineBullet", { PayloadType::EnabledPayload, true } },
+ { u"InsertIndexesEntry", { PayloadType::EnabledPayload, true } },
+ { u"TransformDialog", { PayloadType::EnabledPayload, true } },
+ { u"EditRegion", { PayloadType::EnabledPayload, true } },
+ { u"ThesaurusDialog", { PayloadType::EnabledPayload, true } },
+ { u"OutlineRight", { PayloadType::EnabledPayload, false } },
+ { u"OutlineLeft", { PayloadType::EnabledPayload, false } },
+ { u"OutlineDown", { PayloadType::EnabledPayload, false } },
+ { u"OutlineUp", { PayloadType::EnabledPayload, false } },
+ { u"FormatArea", { PayloadType::EnabledPayload, true } },
+ { u"FormatLine", { PayloadType::EnabledPayload, true } },
+ { u"FormatColumns", { PayloadType::EnabledPayload, true } },
+ { u"Watermark", { PayloadType::EnabledPayload, true } },
+ { u"InsertBreak", { PayloadType::EnabledPayload, true } },
+ { u"InsertEndnote", { PayloadType::EnabledPayload, true } },
+ { u"InsertFootnote", { PayloadType::EnabledPayload, true } },
+ { u"InsertReferenceField", { PayloadType::EnabledPayload, true } },
+ { u"InsertBookmark", { PayloadType::EnabledPayload, true } },
+ { u"InsertAuthoritiesEntry", { PayloadType::EnabledPayload, true } },
+ { u"InsertMultiIndex", { PayloadType::EnabledPayload, true } },
+ { u"InsertField", { PayloadType::EnabledPayload, true } },
+ { u"PageNumberWizard", { PayloadType::EnabledPayload, true } },
+ { u"InsertPageNumberField", { PayloadType::EnabledPayload, true } },
+ { u"InsertPageCountField", { PayloadType::EnabledPayload, true } },
+ { u"InsertDateField", { PayloadType::EnabledPayload, true } },
+ { u"InsertTitleField", { PayloadType::EnabledPayload, true } },
+ { u"InsertFieldCtrl", { PayloadType::EnabledPayload, true } },
+ { u"CharmapControl", { PayloadType::EnabledPayload, true } },
+ { u"EnterGroup", { PayloadType::EnabledPayload, true } },
+ { u"LeaveGroup", { PayloadType::EnabledPayload, true } },
+ { u"Combine", { PayloadType::EnabledPayload, true } },
+ { u"Merge", { PayloadType::EnabledPayload, true } },
+ { u"Dismantle", { PayloadType::EnabledPayload, true } },
+ { u"Substract", { PayloadType::EnabledPayload, true } },
+ { u"DistributeSelection", { PayloadType::EnabledPayload, true } },
+ { u"Intersect", { PayloadType::EnabledPayload, true } },
+ { u"ResetAttributes", { PayloadType::EnabledPayload, true } },
+ { u"IncrementIndent", { PayloadType::EnabledPayload, true } },
+ { u"DecrementIndent", { PayloadType::EnabledPayload, true } },
+ { u"EditHeaderAndFooter", { PayloadType::EnabledPayload, true } },
+ { u"InsertSparkline", { PayloadType::EnabledPayload, true } },
+ { u"DeleteSparkline", { PayloadType::EnabledPayload, true } },
+ { u"DeleteSparklineGroup", { PayloadType::EnabledPayload, true } },
+ { u"EditSparklineGroup", { PayloadType::EnabledPayload, true } },
+ { u"EditSparkline", { PayloadType::EnabledPayload, true } },
+ { u"GroupSparklines", { PayloadType::EnabledPayload, true } },
+ { u"UngroupSparklines", { PayloadType::EnabledPayload, true } },
+ { u"FormatSparklineMenu", { PayloadType::EnabledPayload, true } },
+ { u"DataDataPilotRun", { PayloadType::EnabledPayload, true } },
+ { u"RecalcPivotTable", { PayloadType::EnabledPayload, true } },
+ { u"DeletePivotTable", { PayloadType::EnabledPayload, true } },
+ { u"NumberFormatDecDecimals", { PayloadType::EnabledPayload, true } },
+ { u"NumberFormatIncDecimals", { PayloadType::EnabledPayload, true } },
+ { u"Protect", { PayloadType::EnabledPayload, true } },
+ { u"UnsetCellsReadOnly", { PayloadType::EnabledPayload, true } },
+ { u"ContentControlProperties", { PayloadType::EnabledPayload, true } },
+ { u"DeleteContentControl", { PayloadType::EnabledPayload, true } },
+ { u"InsertCheckboxContentControl", { PayloadType::EnabledPayload, true } },
+ { u"InsertContentControl", { PayloadType::EnabledPayload, true } },
+ { u"InsertDateContentControl", { PayloadType::EnabledPayload, true } },
+ { u"InsertDropdownContentControl", { PayloadType::EnabledPayload, true } },
+ { u"InsertPlainTextContentControl", { PayloadType::EnabledPayload, true } },
+ { u"InsertPictureContentControl", { PayloadType::EnabledPayload, true } },
+ { u"ChangeBezier", { PayloadType::EnabledPayload, true } },
+ { u"DistributeHorzCenter", { PayloadType::EnabledPayload, true } },
+ { u"DistributeHorzDistance", { PayloadType::EnabledPayload, true } },
+ { u"DistributeHorzLeft", { PayloadType::EnabledPayload, true } },
+ { u"DistributeHorzRight", { PayloadType::EnabledPayload, true } },
+ { u"DistributeVertBottom", { PayloadType::EnabledPayload, true } },
+ { u"DistributeVertCenter", { PayloadType::EnabledPayload, true } },
+ { u"DistributeVertDistance", { PayloadType::EnabledPayload, true } },
+ { u"DistributeVertTop", { PayloadType::EnabledPayload, true } },
+ { u"AnimationEffects", { PayloadType::EnabledPayload, true } },
+ { u"ExecuteAnimationEffect", { PayloadType::EnabledPayload, true } },
+
+ { u"ParaLeftToRight", { PayloadType::ParaDirectionPayload, true } },
+ { u"ParaRightToLeft", { PayloadType::ParaDirectionPayload, true } },
+
+ { u"AssignLayout", { PayloadType::Int32Payload, true } },
+ { u"StatusSelectionMode", { PayloadType::Int32Payload, true } },
+ { u"Signature", { PayloadType::Int32Payload, false } },
+ { u"SelectionMode", { PayloadType::Int32Payload, true } },
+ { u"StatusBarFunc", { PayloadType::Int32Payload, true } },
+
+ { u"TransformPosX", { PayloadType::TransformPayload, true } },
+ { u"TransformPosY", { PayloadType::TransformPayload, true } },
+ { u"TransformWidth", { PayloadType::TransformPayload, true } },
+ { u"TransformHeight", { PayloadType::TransformPayload, true } },
+
+ { u"StatusDocPos", { PayloadType::StringPayload, true } },
+ { u"StatusPageStyle", { PayloadType::StringPayload, true } },
+ { u"StateWordCount", { PayloadType::StringPayload, true } },
+ { u"PageStyleName", { PayloadType::StringPayload, false } },
+ { u"PageStatus", { PayloadType::StringPayload, true } },
+ { u"LayoutStatus", { PayloadType::StringPayload, true } },
+ { u"Scale", { PayloadType::StringPayload, true } },
+ { u"Context", { PayloadType::StringPayload, true } },
+
+ { u"RowColSelCount", { PayloadType::RowColSelCountPayload, true } },
+
+ { u"StateTableCell", { PayloadType::StateTableCellPayload, true } },
+
+ { u"InsertMode", { PayloadType::BooleanPayload, true } },
+ { u"WrapText", { PayloadType::BooleanPayload, true } },
+ { u"NumberFormatCurrency", { PayloadType::BooleanPayload, true } },
+ { u"NumberFormatPercent", { PayloadType::BooleanPayload, true } },
+ { u"NumberFormatDecimal", { PayloadType::BooleanPayload, true } },
+ { u"NumberFormatDate", { PayloadType::BooleanPayload, true } },
+ { u"ShowResolvedAnnotations", { PayloadType::BooleanPayload, true } },
+
+ { u"ToggleMergeCells", { PayloadType::BooleanOrDisabledPayload, true } },
+ { u"SheetRightToLeft", { PayloadType::BooleanOrDisabledPayload, true } },
+ { u"ToggleSheetGrid", { PayloadType::BooleanOrDisabledPayload, true } },
+ { u"EditDoc", { PayloadType::BooleanOrDisabledPayload, true } },
+
+ { u"Position", { PayloadType::PointPayload, false } },
+ { u"FreezePanesColumn", { PayloadType::PointPayload, true } },
+ { u"FreezePanesRow", { PayloadType::PointPayload, true } },
+
+ { u"Size", { PayloadType::SizePayload, false } },
+
+ { u"LanguageStatus", { PayloadType::StringOrStrSeqPayload, true } },
+ { u"StatePageNumber", { PayloadType::StringOrStrSeqPayload, true } },
+
+ { u"InsertPageHeader", { PayloadType::StrSeqPayload, true } },
+ { u"InsertPageFooter", { PayloadType::StrSeqPayload, true } },
+
+ { u"TableColumWidth", { PayloadType::TableSizePayload, false } },
+ { u"TableRowHeight", { PayloadType::TableSizePayload, false } },
+
+ { u"BorderInner", { PayloadType::None, true } },
+ { u"BorderOuter", { PayloadType::None, true } },
+ { u"ChangeTheme", { PayloadType::None, true } },
+ { u"DeleteSlide", { PayloadType::None, true } },
+ { u"DuplicateSlide", { PayloadType::None, true } },
+ { u"InsertSlide", { PayloadType::None, true } },
+ { u"JumpToMark", { PayloadType::None, true } },
+ { u"MoveKeepInsertMode", { PayloadType::None, true } },
+ { u"Orientation", { PayloadType::None, true } },
+ { u"ReplyComment", { PayloadType::None, true } },
+ { u"ResolveComment", { PayloadType::None, true } },
+ { u"ResolveCommentThread", { PayloadType::None, true } },
+ { u"RunMacro", { PayloadType::None, true } },
+ };
+ return aUnoCommandList;
+}
+
static void InterceptLOKStateChangeEvent(sal_uInt16 nSID, SfxViewFrame* pViewFrame, const css::frame::FeatureStateEvent& aEvent, const SfxPoolItem* pState)
{
const SfxViewShell* pViewShell = pViewFrame->GetViewShell();
if (!comphelper::LibreOfficeKit::isActive() || !pViewShell)
return;
- auto handler = handlers.find(aEvent.FeatureURL.Path);
- if (handler == handlers.end())
+ const std::map<std::u16string_view, KitUnoCommand>& rUnoCommandList = GetKitUnoCommandList();
+ auto handler = rUnoCommandList.find(aEvent.FeatureURL.Path);
+ if (handler == rUnoCommandList.end())
{
// Try to send JSON state version
SfxLokHelper::sendUnoStatus(pViewShell, pState);
@@ -1424,8 +1469,11 @@ static void InterceptLOKStateChangeEvent(sal_uInt16 nSID, SfxViewFrame* pViewFra
return;
}
- pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED,
- handler->second(nSID, pViewFrame, aEvent, pState));
+ auto payloadIter = enumToPayload.find(handler->second.payloadType);
+ PayloadGetter_t pFunct = payloadIter != enumToPayload.end() ? payloadIter->second : nullptr;
+ if (pFunct != nullptr)
+ pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED,
+ pFunct(nSID, pViewFrame, aEvent, pState));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */