From 19dd424dbdfa2321438860963aa98630ac008a71 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 3 Apr 2018 14:39:03 +0100 Subject: weld SwNewUserIdxDlg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I49502af0b045116fba32259d8ada80b1e53a79a8 Reviewed-on: https://gerrit.libreoffice.org/52332 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sw/source/ui/index/swuiidxmrk.cxx | 49 ++++++++++++---------------- sw/source/uibase/inc/swuiidxmrk.hxx | 2 +- sw/uiconfig/swriter/ui/newuserindexdialog.ui | 18 ++++++---- 3 files changed, 32 insertions(+), 37 deletions(-) (limited to 'sw') diff --git a/sw/source/ui/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx index c5628740ffdb..f0b1307dccb8 100644 --- a/sw/source/ui/index/swuiidxmrk.cxx +++ b/sw/source/ui/index/swuiidxmrk.cxx @@ -564,49 +564,40 @@ void SwIndexMarkPane::UpdateKeyBoxes() } } -class SwNewUserIdxDlg : public ModalDialog +class SwNewUserIdxDlg : public weld::GenericDialogController { - VclPtr m_pOKPB; - VclPtr m_pNameED; - SwIndexMarkPane* m_pDlg; - DECL_LINK( ModifyHdl, Edit&, void); + std::unique_ptr m_xOKPB; + std::unique_ptr m_xNameED; - public: - explicit SwNewUserIdxDlg(SwIndexMarkPane* pPane) - : ModalDialog(&(pPane->GetDialog()), "NewUserIndexDialog", - "modules/swriter/ui/newuserindexdialog.ui") - , m_pDlg(pPane) - { - get(m_pOKPB, "ok"); - get(m_pNameED, "entry"); - m_pNameED->SetModifyHdl(LINK(this, SwNewUserIdxDlg, ModifyHdl)); - m_pOKPB->Enable(false); - m_pNameED->GrabFocus(); - } - virtual ~SwNewUserIdxDlg() override { disposeOnce(); } - virtual void dispose() override + DECL_LINK(ModifyHdl, weld::Entry&, void); + +public: + explicit SwNewUserIdxDlg(SwIndexMarkPane* pPane) + : GenericDialogController(pPane->GetFrameWeld(), "modules/swriter/ui/newuserindexdialog.ui", "NewUserIndexDialog") + , m_pDlg(pPane) + , m_xOKPB(m_xBuilder->weld_button("ok")) + , m_xNameED(m_xBuilder->weld_entry("entry")) { - m_pOKPB.clear(); - m_pNameED.clear(); - ModalDialog::dispose(); + m_xNameED->connect_changed(LINK(this, SwNewUserIdxDlg, ModifyHdl)); + m_xOKPB->set_sensitive(false); + m_xNameED->grab_focus(); } - - OUString GetName(){return m_pNameED->GetText();} + OUString GetName() const { return m_xNameED->get_text(); } }; -IMPL_LINK( SwNewUserIdxDlg, ModifyHdl, Edit&, rEdit, void) +IMPL_LINK( SwNewUserIdxDlg, ModifyHdl, weld::Entry&, rEdit, void) { - m_pOKPB->Enable(!rEdit.GetText().isEmpty() && !m_pDlg->IsTOXType(rEdit.GetText())); + m_xOKPB->set_sensitive(!rEdit.get_text().isEmpty() && !m_pDlg->IsTOXType(rEdit.get_text())); } IMPL_LINK_NOARG(SwIndexMarkPane, NewUserIdxHdl, Button*, void) { - ScopedVclPtrInstance< SwNewUserIdxDlg > pDlg(this); - if(RET_OK == pDlg->Execute()) + SwNewUserIdxDlg aDlg(this); + if (aDlg.run() == RET_OK) { - OUString sNewName(pDlg->GetName()); + OUString sNewName(aDlg.GetName()); m_pTypeDCB->InsertEntry(sNewName); m_pTypeDCB->SelectEntry(sNewName); } diff --git a/sw/source/uibase/inc/swuiidxmrk.hxx b/sw/source/uibase/inc/swuiidxmrk.hxx index 0b4010d1a92e..12b04046ec32 100644 --- a/sw/source/uibase/inc/swuiidxmrk.hxx +++ b/sw/source/uibase/inc/swuiidxmrk.hxx @@ -144,7 +144,7 @@ public: bool bNewDlg, SwWrtShell& rWrtShell); - Dialog &GetDialog() { return m_rDialog; } + weld::Window* GetFrameWeld() { return m_rDialog.GetFrameWeld(); } ~SwIndexMarkPane(); diff --git a/sw/uiconfig/swriter/ui/newuserindexdialog.ui b/sw/uiconfig/swriter/ui/newuserindexdialog.ui index ab4051f0de45..c5b06e755d0d 100644 --- a/sw/uiconfig/swriter/ui/newuserindexdialog.ui +++ b/sw/uiconfig/swriter/ui/newuserindexdialog.ui @@ -1,11 +1,14 @@ + - - + False 6 Create New User-defined Index + True + 0 + 0 dialog @@ -58,6 +61,7 @@ False True 2 + True @@ -96,16 +100,14 @@ True False - 0 _Name True entry + 0 0 0 - 1 - 1 @@ -113,12 +115,11 @@ True True True + True 1 0 - 1 - 1 @@ -149,5 +150,8 @@ cancel help + + + -- cgit