summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-10-03 14:48:35 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-10-03 21:03:18 +0200
commit349d0e679a4ee296c703145afe73e65efc5d2bff (patch)
tree0366283ed5245f10315eae53e518bea7299d65b1 /include
parent19ec881034dbabbdc72779eb9382d0deb17ac569 (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/61304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/sfx2/basedlgs.hxx14
-rw-r--r--include/vcl/dialog.hxx2
-rw-r--r--include/vcl/weld.hxx8
3 files changed, 21 insertions, 3 deletions
diff --git a/include/sfx2/basedlgs.hxx b/include/sfx2/basedlgs.hxx
index 39f74dc024e8..bb861366f9d7 100644
--- a/include/sfx2/basedlgs.hxx
+++ b/include/sfx2/basedlgs.hxx
@@ -56,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);
@@ -71,7 +72,6 @@ public:
const SfxItemSet* GetOutputItemSet() const { return pOutputSet.get(); }
const SfxItemSet* GetInputItemSet() const { return pInputSet; }
- void StateChanged( StateChangedType nStateChange ) override;
};
// class SfxModelessDialog --------------------------------------------------
@@ -87,6 +87,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 );
@@ -105,7 +106,6 @@ public:
{ return *pBindings; }
DECL_LINK(TimerHdl, Timer *, void);
-
};
// class SfxFloatingWindow --------------------------------------------------
@@ -190,7 +190,15 @@ private:
std::unique_ptr<SingleTabDlgImpl> pImpl;
};
-class SFX2_DLLPUBLIC SfxSingleTabDialogController : public weld::GenericDialogController
+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);
+};
+
+class SFX2_DLLPUBLIC SfxSingleTabDialogController : public SfxDialogController
{
private:
VclPtr<SfxTabPage> m_xSfxPage;
diff --git a/include/vcl/dialog.hxx b/include/vcl/dialog.hxx
index 1996ac8651e4..66d6e2bccd6f 100644
--- a/include/vcl/dialog.hxx
+++ b/include/vcl/dialog.hxx
@@ -179,6 +179,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 3d8b8fa2a049..e35befc64168 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -24,6 +24,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;
@@ -232,6 +237,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