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 )