diff options
Diffstat (limited to 'basctl/source/basicide')
-rw-r--r-- | basctl/source/basicide/baside2.cxx | 8 | ||||
-rw-r--r-- | basctl/source/basicide/moduldl2.cxx | 31 | ||||
-rw-r--r-- | basctl/source/basicide/moduldlg.hxx | 11 |
3 files changed, 21 insertions, 29 deletions
diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index c7eb307b9500..d85eac5a1b39 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -1010,13 +1010,15 @@ void ModulWindow::ExecuteCommand (SfxRequest& rReq) break; case SID_GOTOLINE: { - ScopedVclPtrInstance< GotoLineDialog > aGotoDlg(this); - if (aGotoDlg->Execute()) - if (sal_Int32 const nLine = aGotoDlg->GetLineNumber()) + GotoLineDialog aGotoDlg(GetFrameWeld()); + if (aGotoDlg.run() == RET_OK) + { + if (sal_Int32 const nLine = aGotoDlg.GetLineNumber()) { TextSelection const aSel(TextPaM(nLine - 1, 0), TextPaM(nLine - 1, 0)); GetEditView()->SetSelection(aSel); } + } break; } } diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx index a1d3761001a6..56a490a7721b 100644 --- a/basctl/source/basicide/moduldl2.cxx +++ b/basctl/source/basicide/moduldl2.cxx @@ -392,39 +392,30 @@ NewObjectDialog::NewObjectDialog(weld::Window * pParent, ObjectMode eMode, bool } // GotoLineDialog -GotoLineDialog::GotoLineDialog(vcl::Window * pParent ) - : ModalDialog(pParent, "GotoLineDialog", - "modules/BasicIDE/ui/gotolinedialog.ui") +GotoLineDialog::GotoLineDialog(weld::Window* pParent ) + : GenericDialogController(pParent, "modules/BasicIDE/ui/gotolinedialog.ui", "GotoLineDialog") + , m_xEdit(m_xBuilder->weld_entry("entry")) + , m_xOKButton(m_xBuilder->weld_button("ok")) { - get(m_pEdit, "entry"); - get(m_pOKButton, "ok"); - m_pEdit->GrabFocus(); - m_pOKButton->SetClickHdl(LINK(this, GotoLineDialog, OkButtonHandler)); + m_xEdit->grab_focus(); + m_xOKButton->connect_clicked(LINK(this, GotoLineDialog, OkButtonHandler)); } GotoLineDialog::~GotoLineDialog() { - disposeOnce(); -} - -void GotoLineDialog::dispose() -{ - m_pEdit.clear(); - m_pOKButton.clear(); - ModalDialog::dispose(); } sal_Int32 GotoLineDialog::GetLineNumber() const { - return m_pEdit->GetText().toInt32(); + return m_xEdit->get_text().toInt32(); } -IMPL_LINK_NOARG(GotoLineDialog, OkButtonHandler, Button*, void) +IMPL_LINK_NOARG(GotoLineDialog, OkButtonHandler, weld::Button&, void) { - if ( GetLineNumber() ) - EndDialog(1); + if (GetLineNumber()) + m_xDialog->response(RET_OK); else - m_pEdit->SetText(m_pEdit->GetText(), Selection(0, m_pEdit->GetText().getLength())); + m_xEdit->select_region(0, -1); } // ExportDialog diff --git a/basctl/source/basicide/moduldlg.hxx b/basctl/source/basicide/moduldlg.hxx index ac9a4b37b7c7..44f647a45b0c 100644 --- a/basctl/source/basicide/moduldlg.hxx +++ b/basctl/source/basicide/moduldlg.hxx @@ -60,15 +60,14 @@ public: } }; -class GotoLineDialog : public ModalDialog +class GotoLineDialog : public weld::GenericDialogController { - VclPtr<Edit> m_pEdit; - VclPtr<OKButton> m_pOKButton; - DECL_LINK(OkButtonHandler, Button*, void); + std::unique_ptr<weld::Entry> m_xEdit; + std::unique_ptr<weld::Button> m_xOKButton; + DECL_LINK(OkButtonHandler, weld::Button&, void); public: - explicit GotoLineDialog(vcl::Window * pParent); + explicit GotoLineDialog(weld::Window* pParent); virtual ~GotoLineDialog() override; - virtual void dispose() override; sal_Int32 GetLineNumber() const; }; |