summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-08-22 11:15:57 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-08-22 18:26:41 +0200
commitd661cb17610af93b1607025284f23187c6d2fc06 (patch)
tree855cf44dd6d3cb6232b0aaa2087da770350d202a /vcl
parent38001018fa06f721cf87edae923b54ce9a5ab5a7 (diff)
weld chart CreationWizard
Change-Id: I7ee88c1e1b0eca5c2510a4bbba8b60c0d8a4e3e8 Reviewed-on: https://gerrit.libreoffice.org/77954 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/UIConfig_vcl.mk1
-rw-r--r--vcl/source/app/salvtables.cxx5
-rw-r--r--vcl/source/control/roadmapwizard.cxx6
-rw-r--r--vcl/source/control/wizardmachine.cxx4
-rw-r--r--vcl/uiconfig/ui/wizard.ui17
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx17
6 files changed, 43 insertions, 7 deletions
diff --git a/vcl/UIConfig_vcl.mk b/vcl/UIConfig_vcl.mk
index 3184aaee5293..638fc9a537ae 100644
--- a/vcl/UIConfig_vcl.mk
+++ b/vcl/UIConfig_vcl.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_UIConfig_UIConfig,vcl))
$(eval $(call gb_UIConfig_add_uifiles,vcl,\
vcl/uiconfig/ui/aboutbox \
+ vcl/uiconfig/ui/wizard \
vcl/uiconfig/ui/cupspassworddialog \
vcl/uiconfig/ui/editmenu \
vcl/uiconfig/ui/errornocontentdialog \
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index e0f3ad3f35c3..547bac4170c1 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -1653,6 +1653,11 @@ public:
}
}
+ virtual void set_page_side_help_id(const OString& rHelpId) override
+ {
+ m_xWizard->SetRoadmapHelpId(rHelpId);
+ }
+
weld::Button* weld_widget_for_response(int nResponse) override;
virtual ~SalInstanceAssistant() override
diff --git a/vcl/source/control/roadmapwizard.cxx b/vcl/source/control/roadmapwizard.cxx
index 2d29a71aa47a..66f098e31cb9 100644
--- a/vcl/source/control/roadmapwizard.cxx
+++ b/vcl/source/control/roadmapwizard.cxx
@@ -170,12 +170,12 @@ namespace vcl
m_pImpl->pRoadmap->SetHelpId( _rId );
}
- void RoadmapWizard::SetRoadmapInteractive( bool _bInteractive )
+ void RoadmapWizardMachine::SetRoadmapHelpId(const OString& rId)
{
- m_pImpl->pRoadmap->SetRoadmapInteractive( _bInteractive );
+ m_xAssistant->set_page_side_help_id(rId);
}
- void RoadmapWizardMachine::SetRoadmapInteractive( bool _bInteractive )
+ void RoadmapWizard::SetRoadmapInteractive( bool _bInteractive )
{
m_pImpl->pRoadmap->SetRoadmapInteractive( _bInteractive );
}
diff --git a/vcl/source/control/wizardmachine.cxx b/vcl/source/control/wizardmachine.cxx
index 8a1a92a707f2..8f291ce40c38 100644
--- a/vcl/source/control/wizardmachine.cxx
+++ b/vcl/source/control/wizardmachine.cxx
@@ -685,7 +685,7 @@ namespace vcl
}
WizardMachine::WizardMachine(weld::Window* pParent, WizardButtonFlags nButtonFlags)
- : AssistantController(pParent, "dbaccess/ui/databasewizard.ui", "DatabaseWizard")
+ : AssistantController(pParent, "vcl/ui/wizard.ui", "Wizard")
, m_nCurState(0)
, m_pFirstPage(nullptr)
, m_xFinish(m_xAssistant->weld_widget_for_response(static_cast<int>(WizardButtonFlags::FINISH)))
@@ -892,7 +892,7 @@ namespace vcl
bool WizardMachine::onFinish()
{
- return Finish( RET_OK );
+ return Finish(static_cast<int>(WizardButtonFlags::FINISH));
}
IMPL_LINK_NOARG(WizardMachine, OnFinish, weld::Button&, void)
diff --git a/vcl/uiconfig/ui/wizard.ui b/vcl/uiconfig/ui/wizard.ui
new file mode 100644
index 000000000000..e1f68da9e66a
--- /dev/null
+++ b/vcl/uiconfig/ui/wizard.ui
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
+<interface domain="vcl">
+ <requires lib="gtk+" version="3.20"/>
+ <object class="GtkAssistant" id="Wizard">
+ <property name="can_focus">True</property>
+ <property name="border_width">6</property>
+ <property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
+ <property name="type_hint">dialog</property>
+ <property name="use_header_bar">0</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+</interface>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 45f6ae5a9813..4045e1c3c91c 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -3012,10 +3012,16 @@ struct DialogRunner
static void signal_response(GtkDialog*, gint nResponseId, gpointer data);
static void signal_cancel(GtkDialog*, gpointer data);
- static gboolean signal_delete(GtkDialog*, GdkEventAny*, gpointer data)
+ static gboolean signal_delete(GtkDialog* pDialog, GdkEventAny*, gpointer data)
{
DialogRunner* pThis = static_cast<DialogRunner*>(data);
- pThis->loop_quit();
+ if (GTK_IS_ASSISTANT(pThis->m_pDialog))
+ {
+ // An assistant isn't a dialog, but we want to treat it like one
+ signal_response(pDialog, GTK_RESPONSE_DELETE_EVENT, data);
+ }
+ else
+ pThis->loop_quit();
return true; /* Do not destroy */
}
@@ -3835,6 +3841,13 @@ public:
return m_aPages.back().get();
}
+ virtual void set_page_side_help_id(const OString& rHelpId) override
+ {
+ if (!m_pSidebar)
+ return;
+ ::set_help_id(m_pSidebar, rHelpId);
+ }
+
virtual GtkButton* get_widget_for_response(int nGtkResponse) override
{
GtkButton* pButton = nullptr;