summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-03 14:48:35 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-10-31 10:27:12 +0100
commit12ed60bc8cc391811b9447300b0d06bba8e18975 (patch)
tree3a9bd7a73ae05b281e2447ca3e5a85eca8489751 /include
parent4ca51f7f34c820873fe423c132d97cabf846f59e (diff)
Resolves: tdf#120277 special character dialog not appearing in Online
the magic smoke connecting the dialog to the viewshell was in SfxModalDialog, so not inheriting from that drops the connection add a SfxDialogController to enable setting up the connection Change-Id: I29c45cd43e05295309fc647b039db0c6565ca0d1 Reviewed-on: https://gerrit.libreoffice.org/61311 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r--include/sfx2/basedlgs.hxx12
-rw-r--r--include/vcl/dialog.hxx2
-rw-r--r--include/vcl/weld.hxx8
3 files changed, 21 insertions, 1 deletions
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx
index 58657fc58e8b..14bdad25b075 100644
--- a/include/sfx2/basedlgs.hxx
+++ b/include/sfx2/basedlgs.hxx
@@ -27,6 +27,7 @@
#include <vcl/dialog.hxx>
#include <vcl/floatwin.hxx>
#include <vcl/timer.hxx>
+#include <vcl/weld.hxx>
class TabPage;
class SfxTabPage;
@@ -55,6 +56,7 @@ private:
SAL_DLLPRIVATE void SetDialogData_Impl();
SAL_DLLPRIVATE void GetDialogData_Impl();
+ DECL_DLLPRIVATE_LINK(InstallLOKNotifierHdl, void*, vcl::ILibreOfficeKitNotifier*);
protected:
SfxModalDialog(vcl::Window *pParent, const OUString& rID, const OUString& rUIXMLDescription);
@@ -86,6 +88,7 @@ class SFX2_DLLPUBLIC SfxModelessDialog: public ModelessDialog
void Init(SfxBindings *pBindinx, SfxChildWindow *pCW);
+ DECL_DLLPRIVATE_LINK(InstallLOKNotifierHdl, void*, vcl::ILibreOfficeKitNotifier*);
protected:
SfxModelessDialog( SfxBindings*, SfxChildWindow*,
vcl::Window*, const OUString& rID, const OUString& rUIXMLDescription );
@@ -104,7 +107,6 @@ public:
{ return *pBindings; }
DECL_LINK(TimerHdl, Timer *, void);
-
};
// class SfxFloatingWindow --------------------------------------------------
@@ -189,6 +191,14 @@ private:
std::unique_ptr<SingleTabDlgImpl> pImpl;
};
+class SFX2_DLLPUBLIC SfxDialogController : public weld::GenericDialogController
+{
+private:
+ DECL_DLLPRIVATE_LINK(InstallLOKNotifierHdl, void*, vcl::ILibreOfficeKitNotifier*);
+public:
+ SfxDialogController(weld::Widget* pParent, const OUString& rUIFile, const OString& rDialogId);
+};
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 36f88b8feb45..8c952c9b668a 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -176,6 +176,8 @@ public:
void GrabFocusToFirstControl();
virtual void Resize() override;
+ void SetInstallLOKNotifierHdl(const Link<void*, vcl::ILibreOfficeKitNotifier*>& rLink);
+
void add_button(PushButton* pButton, int nResponse, bool bTransferOwnership);
void set_default_response(int nResponse);
vcl::Window* get_widget_for_response(int nResponse);
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 17f2b5119049..98f2b7394a7d 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -23,6 +23,11 @@
typedef css::uno::Reference<css::accessibility::XAccessible> a11yref;
typedef css::uno::Reference<css::accessibility::XAccessibleRelationSet> a11yrelationset;
+namespace vcl
+{
+class ILibreOfficeKitNotifier;
+}
+
namespace weld
{
class Container;
@@ -225,6 +230,9 @@ public:
virtual void set_default_response(int response) = 0;
virtual Button* get_widget_for_response(int response) = 0;
virtual Container* weld_content_area() = 0;
+
+ virtual void SetInstallLOKNotifierHdl(const Link<void*, vcl::ILibreOfficeKitNotifier*>& rLink)
+ = 0;
};
class VCL_DLLPUBLIC MessageDialog : virtual public Dialog