sc/source/ui/inc/optsolver.hxx | 13 +-- sc/source/ui/miscdlgs/optsolver.cxx | 39 ++++------- sc/uiconfig/scalc/ui/solversuccessdialog.ui | 98 ++++++++++++++-------------- 3 files changed, 73 insertions(+), 77 deletions(-)
New commits: commit 932c96e158517bc1369d78e8180da4c04c214cff Author: Caolán McNamara <caol...@redhat.com> Date: Tue May 15 09:22:13 2018 +0100 weld ScSolverSuccessDialog Change-Id: I29bf7b59fbac8f969e5a61963d65b626ac03b0fa Reviewed-on: https://gerrit.libreoffice.org/54355 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/ui/inc/optsolver.hxx b/sc/source/ui/inc/optsolver.hxx index 4b7aabc6a56d..66b7132440dc 100644 --- a/sc/source/ui/inc/optsolver.hxx +++ b/sc/source/ui/inc/optsolver.hxx @@ -224,18 +224,17 @@ public: virtual void dispose() override; }; -class ScSolverSuccessDialog : public ModalDialog +class ScSolverSuccessDialog : public weld::GenericDialogController { - VclPtr<FixedText> m_pFtResult; - VclPtr<PushButton> m_pBtnOk; - VclPtr<PushButton> m_pBtnCancel; + std::unique_ptr<weld::Label> m_xFtResult; + std::unique_ptr<weld::Button> m_xBtnOk; + std::unique_ptr<weld::Button> m_xBtnCancel; - DECL_LINK(ClickHdl, Button*, void); + DECL_LINK(ClickHdl, weld::Button&, void); public: - ScSolverSuccessDialog( vcl::Window* pParent, const OUString& rSolution ); + ScSolverSuccessDialog(weld::Window* pParent, const OUString& rSolution); virtual ~ScSolverSuccessDialog() override; - virtual void dispose() override; }; #endif diff --git a/sc/source/ui/miscdlgs/optsolver.cxx b/sc/source/ui/miscdlgs/optsolver.cxx index 479262509a71..96eaf1fd8ccb 100644 --- a/sc/source/ui/miscdlgs/optsolver.cxx +++ b/sc/source/ui/miscdlgs/optsolver.cxx @@ -95,37 +95,28 @@ void ScSolverNoSolutionDialog::dispose() ModalDialog::dispose(); } -ScSolverSuccessDialog::ScSolverSuccessDialog( vcl::Window* pParent, const OUString& rSolution ) - : ModalDialog(pParent, "SolverSuccessDialog", "modules/scalc/ui/solversuccessdialog.ui") +ScSolverSuccessDialog::ScSolverSuccessDialog(weld::Window* pParent, const OUString& rSolution) + : GenericDialogController(pParent, "modules/scalc/ui/solversuccessdialog.ui", "SolverSuccessDialog") + , m_xFtResult(m_xBuilder->weld_label("result")) + , m_xBtnOk(m_xBuilder->weld_button("ok")) + , m_xBtnCancel(m_xBuilder->weld_button("cancel")) { - get(m_pFtResult, "result"); - get(m_pBtnOk, "ok"); - m_pBtnOk->SetClickHdl(LINK(this, ScSolverSuccessDialog, ClickHdl)); - get(m_pBtnCancel, "cancel"); - m_pBtnCancel->SetClickHdl(LINK(this, ScSolverSuccessDialog, ClickHdl)); - OUString aMessage = m_pFtResult->GetText() + " " + rSolution; - m_pFtResult->SetText(aMessage); + m_xBtnOk->connect_clicked(LINK(this, ScSolverSuccessDialog, ClickHdl)); + m_xBtnCancel->connect_clicked(LINK(this, ScSolverSuccessDialog, ClickHdl)); + OUString aMessage = m_xFtResult->get_label() + " " + rSolution; + m_xFtResult->set_label(aMessage); } ScSolverSuccessDialog::~ScSolverSuccessDialog() { - disposeOnce(); -} - -void ScSolverSuccessDialog::dispose() -{ - m_pFtResult.clear(); - m_pBtnOk.clear(); - m_pBtnCancel.clear(); - ModalDialog::dispose(); } -IMPL_LINK( ScSolverSuccessDialog, ClickHdl, Button*, pBtn, void ) +IMPL_LINK(ScSolverSuccessDialog, ClickHdl, weld::Button&, rBtn, void) { - if (pBtn == m_pBtnOk) - EndDialog(RET_OK); + if (&rBtn == m_xBtnOk.get()) + m_xDialog->response(RET_OK); else - EndDialog(); + m_xDialog->response(RET_CANCEL); } ScCursorRefEdit::ScCursorRefEdit( vcl::Window* pParent, vcl::Window *pLabel ) @@ -1054,8 +1045,8 @@ bool ScOptSolverDlg::CallSolver() // return true -> close dialog after cal static_cast<SCCOL>(aObjective.Column), static_cast<SCROW>(aObjective.Row), static_cast<SCTAB>(aObjective.Sheet)); - ScopedVclPtrInstance< ScSolverSuccessDialog > aDialog( this, aResultStr ); - if ( aDialog->Execute() == RET_OK ) + ScSolverSuccessDialog aDialog(GetFrameWeld(), aResultStr); + if (aDialog.run() == RET_OK) { // keep results and close dialog bRestore = false; diff --git a/sc/uiconfig/scalc/ui/solversuccessdialog.ui b/sc/uiconfig/scalc/ui/solversuccessdialog.ui index 8939a2924ba5..3ab6093422fe 100644 --- a/sc/uiconfig/scalc/ui/solversuccessdialog.ui +++ b/sc/uiconfig/scalc/ui/solversuccessdialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="sc"> <requires lib="gtk+" version="3.18"/> <object class="GtkDialog" id="SolverSuccessDialog"> @@ -7,12 +7,60 @@ <property name="border_width">6</property> <property name="title" translatable="yes" context="solversuccessdialog|SolverSuccessDialog">Solving Result</property> <property name="resizable">False</property> + <property name="modal">True</property> + <property name="default_width">0</property> + <property name="default_height">0</property> <property name="type_hint">dialog</property> + <child> + <placeholder/> + </child> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> <property name="can_focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> + <child internal-child="action_area"> + <object class="GtkButtonBox" id="dialog-action_area1"> + <property name="can_focus">False</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="ok"> + <property name="label" translatable="yes" context="solversuccessdialog|ok">Keep Result</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="cancel"> + <property name="label" translatable="yes" context="solversuccessdialog|cancel">Restore Previous</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">2</property> + </packing> + </child> <child> <object class="GtkGrid" id="grid1"> <property name="visible">True</property> @@ -22,10 +70,10 @@ <object class="GtkLabel" id="label1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="solversuccessdialog|label1">Do you want to keep the result or do you want to restore previous values?</property> <property name="wrap">True</property> <property name="max_width_chars">40</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -36,8 +84,8 @@ <object class="GtkLabel" id="label2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="solversuccessdialog|label2">Solving successfully finished.</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -48,8 +96,8 @@ <object class="GtkLabel" id="result"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="solversuccessdialog|result">Result:</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> @@ -63,48 +111,6 @@ <property name="position">0</property> </packing> </child> - <child internal-child="action_area"> - <object class="GtkButtonBox" id="dialog-action_area1"> - <property name="can_focus">False</property> - <property name="layout_style">end</property> - <child> - <object class="GtkButton" id="ok"> - <property name="label" translatable="yes" context="solversuccessdialog|ok">Keep Result</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="cancel"> - <property name="label" translatable="yes" context="solversuccessdialog|cancel">Restore Previous</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="pack_type">end</property> - <property name="position">2</property> - </packing> - </child> </object> </child> <action-widgets> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits