diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-03 17:13:53 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-03-03 21:48:38 +0100 |
commit | 66bed5a89d3418c5f634f0dc3213ca600a3abd60 (patch) | |
tree | 5492f4f1a3750294fbe46183e83b4090da6152e1 /sfx2 | |
parent | 102c0cc175602d1bca654813cc184f52e80f94cb (diff) |
weld SafeMode dialog
and rework as an explicit MessageDialog
Change-Id: I1f99bf30d70b309d3f46f818f83bdbd759f97f45
Reviewed-on: https://gerrit.libreoffice.org/50683
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/appl/appserv.cxx | 44 | ||||
-rw-r--r-- | sfx2/uiconfig/ui/safemodequerydialog.ui | 43 |
2 files changed, 38 insertions, 49 deletions
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index 4b5c0080dc28..bc04d9b178a6 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -334,28 +334,32 @@ namespace } }; - class SafeModeQueryDialog : public ModalDialog + class SafeModeQueryDialog { private: - DECL_LINK(RestartHdl, Button*, void); + std::unique_ptr<weld::Builder> m_xBuilder; + std::unique_ptr<weld::MessageDialog> m_xDialog; public: - explicit SafeModeQueryDialog(); - }; - - SafeModeQueryDialog::SafeModeQueryDialog() - : ModalDialog(nullptr, "SafeModeQueryDialog", "sfx/ui/safemodequerydialog.ui") - { - get<PushButton>("restart")->SetClickHdl(LINK(this, SafeModeQueryDialog, RestartHdl)); - } + SafeModeQueryDialog(weld::Window* pParent) + : m_xBuilder(Application::CreateBuilder(pParent, "sfx/ui/safemodequerydialog.ui")) + , m_xDialog(m_xBuilder->weld_message_dialog("SafeModeQueryDialog")) + { + m_xDialog->set_primary_text(Translate::GetReadStringHook()(m_xDialog->get_primary_text())); + } - IMPL_LINK_NOARG(SafeModeQueryDialog, RestartHdl, Button*, void) - { - EndDialog(RET_OK); - sfx2::SafeMode::putFlag(); - uno::Reference< uno::XComponentContext > xContext = comphelper::getProcessComponentContext(); - css::task::OfficeRestartManager::get(xContext)->requestRestart( - css::uno::Reference< css::task::XInteractionHandler >()); - } + short run() + { + short nRet = m_xDialog->run(); + if (nRet == RET_OK) + { + sfx2::SafeMode::putFlag(); + uno::Reference< uno::XComponentContext > xContext = comphelper::getProcessComponentContext(); + css::task::OfficeRestartManager::get(xContext)->requestRestart( + css::uno::Reference< css::task::XInteractionHandler >()); + } + return nRet; + } + }; } void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) @@ -1026,8 +1030,8 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) } case SID_SAFE_MODE: { - ScopedVclPtrInstance< SafeModeQueryDialog > aDialog; - aDialog->Execute(); + SafeModeQueryDialog aDialog(GetRequestFrameWeld(rReq)); + aDialog.run(); break; } diff --git a/sfx2/uiconfig/ui/safemodequerydialog.ui b/sfx2/uiconfig/ui/safemodequerydialog.ui index 4a01791f52b2..b9409d0a5d5a 100644 --- a/sfx2/uiconfig/ui/safemodequerydialog.ui +++ b/sfx2/uiconfig/ui/safemodequerydialog.ui @@ -1,22 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.20.2 --> <interface domain="sfx"> <requires lib="gtk+" version="3.0"/> - <object class="GtkDialog" id="SafeModeQueryDialog"> + <object class="GtkMessageDialog" id="SafeModeQueryDialog"> <property name="can_focus">False</property> - <property name="border_width">6</property> <property name="title" translatable="yes" context="safemodequerydialog|SafeModeQueryDialog">Enter Safe Mode</property> - <property name="resizable">False</property> <property name="type_hint">dialog</property> + <property name="message_type">question</property> + <property name="text" translatable="yes" context="safemodequerydialog|label">Are you sure you want to restart %PRODUCTNAME and enter safe mode?</property> <child internal-child="vbox"> - <object class="GtkBox" id="dialog-vbox1"> + <object class="GtkBox"> <property name="can_focus">False</property> <property name="orientation">vertical</property> - <property name="spacing">12</property> + <property name="spacing">2</property> <child internal-child="action_area"> - <object class="GtkButtonBox" id="dialog-action_area1"> + <object class="GtkButtonBox"> <property name="can_focus">False</property> - <property name="layout_style">end</property> + <property name="homogeneous">True</property> <child> <object class="GtkButton" id="cancel"> <property name="label">gtk-cancel</property> @@ -35,7 +35,7 @@ </packing> </child> <child> - <object class="GtkButton" id="restart"> + <object class="GtkButton" id="ok"> <property name="label" translatable="yes" context="safemodequerydialog|restart">_Restart</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -51,33 +51,18 @@ </object> <packing> <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">end</property> + <property name="fill">False</property> <property name="position">0</property> </packing> </child> - <child> - <object class="GtkLabel" id="label"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes" context="safemodequerydialog|label">Are you sure you want to restart %PRODUCTNAME and enter safe mode?</property> - <property name="wrap">True</property> - <property name="max_width_chars">80</property> - <property name="lines">2</property> - <property name="xalign">0</property> - <property name="yalign">0</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> </object> </child> <action-widgets> <action-widget response="-6">cancel</action-widget> - <action-widget response="0">restart</action-widget> + <action-widget response="-5">ok</action-widget> </action-widgets> + <child> + <placeholder/> + </child> </object> </interface> |