From 89f8b55eb469fc35afeabd1b1193582cc3e9b71a Mon Sep 17 00:00:00 2001 From: Szymon Kłos Date: Mon, 29 Apr 2019 16:58:03 +0200 Subject: libreofficekit: send show/hide messages for dialogs Change-Id: I2b3ff5e5122b2be099be500ac544bf81f8d1b2ae Reviewed-on: https://gerrit.libreoffice.org/71544 Tested-by: Jenkins Reviewed-by: Jan Holesovsky (cherry picked from commit e575a5e8f89beb3ce1df5a1d83edc0f9d1d8ac43) Reviewed-on: https://gerrit.libreoffice.org/79091 Tested-by: Jenkins CollaboraOffice Reviewed-by: Andras Timar --- include/LibreOfficeKit/LibreOfficeKitEnums.h | 2 ++ vcl/source/window/dialog.cxx | 10 ++++++++++ 2 files changed, 12 insertions(+) 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 aPayload; + aPayload.emplace_back("title", GetText().toUtf8()); + pNotifier->notifyWindow(GetLOKWindowId(), IsVisible()? OUString("show"): OUString("hide"), aPayload); + } + } } void Dialog::DataChanged( const DataChangedEvent& rDCEvt ) -- cgit