summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/LibreOfficeKit/LibreOfficeKitEnums.h2
-rw-r--r--vcl/source/window/dialog.cxx10
2 files changed, 12 insertions, 0 deletions
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h
index 5a7782566a06..c34ed86e8f59 100644
--- a/include/LibreOfficeKit/LibreOfficeKitEnums.h
+++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h
@@ -616,6 +616,8 @@ typedef enum
* - "cursor_visible" - cursor visible status is changed. Status is available
* in "visible" field
* - "close" - window is closed
+ * - "show" - show the window
+ * - "hide" - hide the window
*/
LOK_CALLBACK_WINDOW = 36,
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 314d135d973b..a90d0c022513 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -779,6 +779,16 @@ void Dialog::StateChanged( StateChangedType nType )
ImplInitSettings();
Invalidate();
}
+
+ if (!mbModalMode && nType == StateChangedType::Visible)
+ {
+ if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier())
+ {
+ std::vector<vcl::LOKPayloadItem> aPayload;
+ aPayload.emplace_back("title", GetText().toUtf8());
+ pNotifier->notifyWindow(GetLOKWindowId(), IsVisible()? OUString("show"): OUString("hide"), aPayload);
+ }
+ }
}
void Dialog::DataChanged( const DataChangedEvent& rDCEvt )