summaryrefslogtreecommitdiff
path: root/basctl/source/basicide
diff options
context:
space:
mode:
Diffstat (limited to 'basctl/source/basicide')
-rw-r--r--basctl/source/basicide/baside2.cxx8
-rw-r--r--basctl/source/basicide/moduldl2.cxx31
-rw-r--r--basctl/source/basicide/moduldlg.hxx11
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;
};