From a87569e9ea8db9a0d869570613603eebf7c145e8 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 11 Apr 2018 12:53:18 +0100 Subject: weld RestartDialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Iae97806a11b6c950931a342d06b3eeea168c7559 Reviewed-on: https://gerrit.libreoffice.org/52721 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- svtools/source/dialogs/restartdialog.cxx | 73 ++++++++++++++------------------ svtools/uiconfig/ui/restartdialog.ui | 8 +++- 2 files changed, 39 insertions(+), 42 deletions(-) (limited to 'svtools') diff --git a/svtools/source/dialogs/restartdialog.cxx b/svtools/source/dialogs/restartdialog.cxx index fc8e6e30bcf6..122f314eccd8 100644 --- a/svtools/source/dialogs/restartdialog.cxx +++ b/svtools/source/dialogs/restartdialog.cxx @@ -17,94 +17,85 @@ #include #include #include -#include -#include -#include +#include namespace { -class RestartDialog: public ModalDialog { +class RestartDialog : public weld::GenericDialogController{ public: - RestartDialog(vcl::Window * parent, svtools::RestartReason reason): - ModalDialog(parent, "RestartDialog", "svt/ui/restartdialog.ui") + RestartDialog(weld::Window* parent, svtools::RestartReason reason) + : GenericDialogController(parent, "svt/ui/restartdialog.ui", "RestartDialog") + , btnYes_(m_xBuilder->weld_button("yes")) + , btnNo_(m_xBuilder->weld_button("no")) { - get(btnYes_, "yes"); - get(btnNo_, "no"); switch (reason) { case svtools::RESTART_REASON_JAVA: - get(reason_, "reason_java"); + reason_.reset(m_xBuilder->weld_widget("reason_java")); break; case svtools::RESTART_REASON_PDF_AS_STANDARD_JOB_FORMAT: - get(reason_, "reason_pdf"); + reason_.reset(m_xBuilder->weld_widget("reason_pdf")); break; case svtools::RESTART_REASON_BIBLIOGRAPHY_INSTALL: - get(reason_, "reason_bibliography_install"); + reason_.reset(m_xBuilder->weld_widget("reason_bibliography_install")); break; case svtools::RESTART_REASON_MAILMERGE_INSTALL: - get(reason_, "reason_mailmerge_install"); + reason_.reset(m_xBuilder->weld_widget("reason_mailmerge_install")); break; case svtools::RESTART_REASON_LANGUAGE_CHANGE: - get(reason_, "reason_language_change"); + reason_.reset(m_xBuilder->weld_widget("reason_language_change")); break; case svtools::RESTART_REASON_ADDING_PATH: - get(reason_, "reason_adding_path"); + reason_.reset(m_xBuilder->weld_widget("reason_adding_path")); break; case svtools::RESTART_REASON_ASSIGNING_JAVAPARAMETERS: - get(reason_, "reason_assigning_javaparameters"); + reason_.reset(m_xBuilder->weld_widget("reason_assigning_javaparameters")); break; case svtools::RESTART_REASON_ASSIGNING_FOLDERS: - get(reason_, "reason_assigning_folders"); + reason_.reset(m_xBuilder->weld_widget("reason_assigning_folders")); break; case svtools::RESTART_REASON_EXP_FEATURES: - get(reason_,"reason_exp_features"); + reason_.reset(m_xBuilder->weld_widget("reason_exp_features")); break; case svtools::RESTART_REASON_EXTENSION_INSTALL: - get(reason_, "reason_extension_install"); + reason_.reset(m_xBuilder->weld_widget("reason_extension_install")); break; case svtools::RESTART_REASON_OPENGL: - get(reason_, "reason_opengl"); + reason_.reset(m_xBuilder->weld_widget("reason_opengl")); break; default: assert(false); // this cannot happen } - reason_->Show(); - btnYes_->SetClickHdl(LINK(this, RestartDialog, hdlYes)); - btnNo_->SetClickHdl(LINK(this, RestartDialog, hdlNo)); - } - virtual ~RestartDialog() override { disposeOnce(); } - virtual void dispose() override - { - reason_.clear(); - btnYes_.clear(); - btnNo_.clear(); - ModalDialog::dispose(); + reason_->show(); + btnYes_->connect_clicked(LINK(this, RestartDialog, hdlYes)); + btnNo_->connect_clicked(LINK(this, RestartDialog, hdlNo)); } private: - DECL_LINK(hdlYes, Button*, void); - DECL_LINK(hdlNo, Button*, void); + DECL_LINK(hdlYes, weld::Button&, void); + DECL_LINK(hdlNo, weld::Button&, void); - VclPtr reason_; - VclPtr btnYes_; - VclPtr btnNo_; + std::unique_ptr reason_; + std::unique_ptr btnYes_; + std::unique_ptr btnNo_; }; -IMPL_LINK_NOARG(RestartDialog, hdlYes, Button*, void) +IMPL_LINK_NOARG(RestartDialog, hdlYes, weld::Button&, void) { - EndDialog(RET_OK); + m_xDialog->response(RET_OK); } -IMPL_LINK_NOARG(RestartDialog, hdlNo, Button*, void) +IMPL_LINK_NOARG(RestartDialog, hdlNo, weld::Button&, void) { - EndDialog(); + m_xDialog->response(RET_CANCEL); } } void svtools::executeRestartDialog( css::uno::Reference< css::uno::XComponentContext > const & context, - vcl::Window * parent, RestartReason reason) + weld::Window* parent, RestartReason reason) { - if (ScopedVclPtrInstance(parent, reason)->Execute()) { + RestartDialog aDlg(parent, reason); + if (aDlg.run()) { css::task::OfficeRestartManager::get(context)->requestRestart( css::uno::Reference< css::task::XInteractionHandler >()); } diff --git a/svtools/uiconfig/ui/restartdialog.ui b/svtools/uiconfig/ui/restartdialog.ui index 0f59355e0ae0..f9c4ebc95b28 100644 --- a/svtools/uiconfig/ui/restartdialog.ui +++ b/svtools/uiconfig/ui/restartdialog.ui @@ -1,5 +1,5 @@ - + @@ -7,6 +7,9 @@ 6 Restart %PRODUCTNAME False + True + 0 + 0 dialog @@ -252,5 +255,8 @@ yes no + + + -- cgit