summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2020-03-31 15:42:28 +0200
committerSzymon Kłos <eszkadev@gmail.com>2020-05-21 10:07:04 +0200
commit72f8a10f7afa9919f943cbda144e465f1e8746f1 (patch)
tree361d83c06a50ad75f2d8d4c1a40ab7b3a9212fb6 /include
parentec17eb370b427f8ffa8078f6860ab4dd4b2968ca (diff)
jsdialog: use Idle timer to send updates
Change-Id: Ib4f18bab1279c622b576dca53169b40c4a2526bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94482 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'include')
-rw-r--r--include/vcl/jsdialog/jsdialogbuilder.hxx17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/vcl/jsdialog/jsdialogbuilder.hxx b/include/vcl/jsdialog/jsdialogbuilder.hxx
index 6921384c9386..4c2173a7f009 100644
--- a/include/vcl/jsdialog/jsdialogbuilder.hxx
+++ b/include/vcl/jsdialog/jsdialogbuilder.hxx
@@ -22,13 +22,24 @@
typedef std::map<OString, weld::Widget*> WidgetMap;
-class JSDialogSender
+class JSDialogNotifyIdle : public Idle
{
- VclPtr<vcl::Window> m_aOwnedToplevel;
+ VclPtr<vcl::Window> m_aWindow;
+ std::string m_LastNotificationMessage;
+
+public:
+ JSDialogNotifyIdle(VclPtr<vcl::Window> aWindow);
+
+ void Invoke() override;
+};
+
+class VCL_DLLPUBLIC JSDialogSender
+{
+ std::unique_ptr<JSDialogNotifyIdle> mpIdleNotify;
public:
JSDialogSender(VclPtr<vcl::Window> aOwnedToplevel)
- : m_aOwnedToplevel(aOwnedToplevel)
+ : mpIdleNotify(new JSDialogNotifyIdle(aOwnedToplevel))
{
}