libreofficekit: send show/hide messages for dialogs
Change-Id: I2b3ff5e5122b2be099be500ac544bf81f8d1b2ae
Reviewed-on: https://gerrit.libreoffice.org/71544
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
diff --git a/include/LibreOfficeKit/LibreOfficeKitEnums.h b/include/LibreOfficeKit/LibreOfficeKitEnums.h
index 33d235a..af49525 100644
--- a/include/LibreOfficeKit/LibreOfficeKitEnums.h
+++ b/include/LibreOfficeKit/LibreOfficeKitEnums.h
@@ -575,6 +575,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 e34ff81..1219b31 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -799,6 +799,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 )