diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2024-06-20 13:06:47 +0500 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2024-06-21 15:46:17 +0200 |
commit | bbd32b39eae24e99d135ed5c48586db8c9b0fb23 (patch) | |
tree | efe77a6e20a922ea56681284bed135534d2731bc | |
parent | 319e62915b35d7129a13e069d1a4213b254ce389 (diff) |
LOK: Introduce LOK_CALLBACK_STATUS_UPDATE
This allows to send status messages separately from statechanged;
this is needed in Impress to notify about any mode update, not only
masterview-related.
Also send SlideMasterPage updates automatically from core.
Change-Id: I0a50dbe61a5f2f28cd418eb4416819a6a76810b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169314
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
-rw-r--r-- | include/LibreOfficeKit/LibreOfficeKitEnums.h | 9 | ||||
-rw-r--r-- | libreofficekit/source/gtk/lokdocview.cxx | 1 | ||||
-rw-r--r-- | sd/source/ui/view/drviews1.cxx | 6 | ||||
-rw-r--r-- | sd/source/ui/view/drviewse.cxx | 9 | ||||
-rw-r--r-- | sfx2/source/control/unoctitm.cxx | 1 |
5 files changed, 13 insertions, 13 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h index 516622722bb9..dff64a584fdc 100644 --- a/include/LibreOfficeKit/LibreOfficeKitEnums.h +++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h @@ -1067,7 +1067,12 @@ typedef enum * * Here all aproperties are same as described in svxruler. */ - LOK_CALLBACK_VERTICAL_RULER_UPDATE = 73 + LOK_CALLBACK_VERTICAL_RULER_UPDATE = 73, + + /** + * Status of the document has changed notification + */ + LOK_CALLBACK_STATUS_UPDATE = 74, } LibreOfficeKitCallbackType; @@ -1245,6 +1250,8 @@ static inline const char* lokCallbackTypeToString(int nType) return "LOK_CALLBACK_TOOLTIP"; case LOK_CALLBACK_SHAPE_INNER_TEXT: return "LOK_CALLBACK_SHAPE_INNER_TEXT"; + case LOK_CALLBACK_STATUS_UPDATE: + return "LOK_CALLBACK_STATUS_UPDATE"; } assert(!"Unknown LibreOfficeKitCallbackType type."); diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx index 5dddaa2d0e37..3eddb009c242 100644 --- a/libreofficekit/source/gtk/lokdocview.cxx +++ b/libreofficekit/source/gtk/lokdocview.cxx @@ -1502,6 +1502,7 @@ callback (gpointer pData) case LOK_CALLBACK_CORE_LOG: case LOK_CALLBACK_TOOLTIP: case LOK_CALLBACK_SHAPE_INNER_TEXT: + case LOK_CALLBACK_STATUS_UPDATE: { // TODO: Implement me break; diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index df004aa0610e..00560836cb7f 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -405,6 +405,9 @@ void DrawViewShell::ChangeEditMode(EditMode eEMode, bool bIsLayerModeActive) pTitledDockingWindow->SetTitle(SdResId(aId)); }; + if (comphelper::LibreOfficeKit::isActive()) + GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATUS_UPDATE, {}); + if (meEditMode == EditMode::Page) { /****************************************************************** @@ -451,9 +454,6 @@ void DrawViewShell::ChangeEditMode(EditMode eEMode, bool bIsLayerModeActive) setLeftPaneTitleIfPaneExists(SID_LEFT_PANE_DRAW, STR_LEFT_PANE_DRAW_TITLE_MASTER); setLeftPaneTitleIfPaneExists(SID_LEFT_PANE_IMPRESS, STR_LEFT_PANE_IMPRESS_TITLE_MASTER); - if (comphelper::LibreOfficeKit::isActive()) - GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, - ".uno:SlideMasterPage=true"_ostr); if (!mpActualPage) { // as long as there is no mpActualPage, take first diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx index f594fb1f7fcf..622dd2cad93c 100644 --- a/sd/source/ui/view/drviewse.cxx +++ b/sd/source/ui/view/drviewse.cxx @@ -1036,10 +1036,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) case SID_MASTERPAGE: // BASIC { - if (comphelper::LibreOfficeKit::isActive()) - GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, - ".uno:SlideMasterPage=true"_ostr); - // AutoLayouts needs to be finished GetDoc()->StopWorkStartupDelay(); @@ -1074,11 +1070,6 @@ void DrawViewShell::FuSupport(SfxRequest& rReq) case SID_CLOSE_MASTER_VIEW: { - // Notify of disabling master view, which is enabled in DrawViewShell::ChangeEditMode. - if (comphelper::LibreOfficeKit::isActive()) - GetViewShell()->libreOfficeKitViewCallback(LOK_CALLBACK_STATE_CHANGED, - ".uno:SlideMasterPage=false"_ostr); - Broadcast ( ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_START)); diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx index a64f297aaf0c..2cc5bbb422b3 100644 --- a/sfx2/source/control/unoctitm.cxx +++ b/sfx2/source/control/unoctitm.cxx @@ -1151,6 +1151,7 @@ constexpr auto handlers = frozen::make_unordered_map<std::u16string_view, Payloa { u"CellProtection", IsActivePayload }, { u"NormalMultiPaneGUI", IsActivePayload }, { u"NotesMode", IsActivePayload }, + { u"SlideMasterPage", IsActivePayload }, { u"CharFontName", FontNamePayload }, |