From 881bb00dc39d65560e26a60b34ae05d1ac662bc0 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 14 May 2018 12:20:41 +0100 Subject: weld AddInstanceDialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I69bcb7fb9c18922a5de03e6f2dedd915a5851712 Reviewed-on: https://gerrit.libreoffice.org/54313 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- svx/source/form/datanavi.cxx | 71 +++++++++++++++--------------------- svx/source/inc/datanavi.hxx | 34 ++++++++--------- svx/uiconfig/ui/addinstancedialog.ui | 21 +++++++++-- 3 files changed, 63 insertions(+), 63 deletions(-) (limited to 'svx') diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx index 06eade7b63b1..7d97015284b4 100644 --- a/svx/source/form/datanavi.cxx +++ b/svx/source/form/datanavi.cxx @@ -1624,13 +1624,13 @@ namespace svxform OString sIdent(pBtn->GetCurItemIdent()); if (sIdent == "instancesadd") { - ScopedVclPtrInstance< AddInstanceDialog > aDlg( this, false ); - if ( aDlg->Execute() == RET_OK ) + AddInstanceDialog aDlg(GetFrameWeld(), false); + if (aDlg.run() == RET_OK) { sal_uInt16 nInst = GetNewPageId(); - OUString sName = aDlg->GetName(); - OUString sURL = aDlg->GetURL(); - bool bLinkOnce = aDlg->IsLinkInstance(); + OUString sName = aDlg.GetName(); + OUString sURL = aDlg.GetURL(); + bool bLinkOnce = aDlg.IsLinkInstance(); try { xUIHelper->newInstance( sName, sURL, !bLinkOnce ); @@ -1655,16 +1655,16 @@ namespace svxform XFormsPage* pPage = GetCurrentPage( nId ); if ( pPage ) { - ScopedVclPtrInstance< AddInstanceDialog > aDlg( this, true ); - aDlg->SetName( pPage->GetInstanceName() ); - aDlg->SetURL( pPage->GetInstanceURL() ); - aDlg->SetLinkInstance( pPage->GetLinkOnce() ); - OUString sOldName = aDlg->GetName(); - if ( aDlg->Execute() == RET_OK ) + AddInstanceDialog aDlg(GetFrameWeld(), true); + aDlg.SetName( pPage->GetInstanceName() ); + aDlg.SetURL( pPage->GetInstanceURL() ); + aDlg.SetLinkInstance( pPage->GetLinkOnce() ); + OUString sOldName = aDlg.GetName(); + if (aDlg.run() == RET_OK) { - OUString sNewName = aDlg->GetName(); - OUString sURL = aDlg->GetURL(); - bool bLinkOnce = aDlg->IsLinkInstance(); + OUString sNewName = aDlg.GetName(); + OUString sURL = aDlg.GetURL(); + bool bLinkOnce = aDlg.IsLinkInstance(); try { xUIHelper->renameInstance( sOldName, @@ -3339,20 +3339,20 @@ namespace svxform ModalDialog::dispose(); } - AddInstanceDialog::AddInstanceDialog(vcl::Window* pParent, bool _bEdit) - : ModalDialog(pParent, "AddInstanceDialog" , "svx/ui/addinstancedialog.ui") + AddInstanceDialog::AddInstanceDialog(weld::Window* pParent, bool _bEdit) + : GenericDialogController(pParent, "svx/ui/addinstancedialog.ui", "AddInstanceDialog") + , m_xNameED(m_xBuilder->weld_entry("name")) + , m_xURLFT(m_xBuilder->weld_label("urlft")) + , m_xURLED(new URLBox(m_xBuilder->weld_combo_box_text("url"))) + , m_xFilePickerBtn(m_xBuilder->weld_button("browse")) + , m_xLinkInstanceCB(m_xBuilder->weld_check_button("link")) + , m_xAltTitle(m_xBuilder->weld_label("alttitle")) { - get(m_pNameED, "name"); - get(m_pURLFT, "urlft"); - get(m_pURLED, "url"); - get(m_pFilePickerBtn, "browse"); - get(m_pLinkInstanceCB, "link"); - - if ( _bEdit ) - SetText(get("alttitle")->GetText()); + if (_bEdit) + m_xDialog->set_title(m_xAltTitle->get_label()); - m_pURLED->DisableHistory(); - m_pFilePickerBtn->SetClickHdl( LINK( this, AddInstanceDialog, FilePickerHdl ) ); + m_xURLED->DisableHistory(); + m_xFilePickerBtn->connect_clicked(LINK(this, AddInstanceDialog, FilePickerHdl)); // load the filter name from fps resource m_sAllFilterName = Translate::get(STR_FILTERNAME_ALL, Translate::Create("fps")); @@ -3360,24 +3360,13 @@ namespace svxform AddInstanceDialog::~AddInstanceDialog() { - disposeOnce(); - } - - void AddInstanceDialog::dispose() - { - m_pNameED.clear(); - m_pURLFT.clear(); - m_pURLED.clear(); - m_pFilePickerBtn.clear(); - m_pLinkInstanceCB.clear(); - ModalDialog::dispose(); } - IMPL_LINK_NOARG(AddInstanceDialog, FilePickerHdl, Button*, void) + IMPL_LINK_NOARG(AddInstanceDialog, FilePickerHdl, weld::Button&, void) { ::sfx2::FileDialogHelper aDlg( css::ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, - FileDialogFlags::NONE, GetFrameWeld()); + FileDialogFlags::NONE, m_xDialog.get()); INetURLObject aFile( SvtPathOptions().GetWorkPath() ); aDlg.AddFilter( m_sAllFilterName, FILEDIALOG_FILTER_ALL ); @@ -3386,8 +3375,8 @@ namespace svxform aDlg.SetCurrentFilter( sFilterName ); aDlg.SetDisplayDirectory( aFile.GetMainURL( INetURLObject::DecodeMechanism::NONE ) ); - if( aDlg.Execute() == ERRCODE_NONE ) - m_pURLED->SetText( aDlg.GetPath() ); + if (aDlg.Execute() == ERRCODE_NONE) + m_xURLED->SetText( aDlg.GetPath() ); } LinkedInstanceWarningBox::LinkedInstanceWarningBox(weld::Widget* pParent) diff --git a/svx/source/inc/datanavi.hxx b/svx/source/inc/datanavi.hxx index b424c472de0b..cc66523361aa 100644 --- a/svx/source/inc/datanavi.hxx +++ b/svx/source/inc/datanavi.hxx @@ -85,7 +85,6 @@ namespace svxform class DataNavigatorWindow; class AddInstanceDialog; - class DataTreeListBox : public SvTreeListBox { private: @@ -604,33 +603,32 @@ namespace svxform }; - class AddInstanceDialog : public ModalDialog + class AddInstanceDialog : public weld::GenericDialogController { private: - VclPtr m_pNameED; - VclPtr m_pURLFT; - VclPtr m_pURLED; - VclPtr m_pFilePickerBtn; - VclPtr m_pLinkInstanceCB; - OUString m_sAllFilterName; - DECL_LINK(FilePickerHdl, Button*, void); + std::unique_ptr m_xNameED; + std::unique_ptr m_xURLFT; + std::unique_ptr m_xURLED; + std::unique_ptr m_xFilePickerBtn; + std::unique_ptr m_xLinkInstanceCB; + std::unique_ptr m_xAltTitle; + + DECL_LINK(FilePickerHdl, weld::Button&, void); public: - AddInstanceDialog( vcl::Window* pParent, bool _bEdit ); + AddInstanceDialog(weld::Window* pParent, bool _bEdit); virtual ~AddInstanceDialog() override; - virtual void dispose() override; - OUString GetName() const { return m_pNameED->GetText(); } - void SetName( const OUString& _rName ) { m_pNameED->SetText( _rName );} - OUString GetURL() const { return m_pURLED->GetText(); } - void SetURL( const OUString& _rURL ) { m_pURLED->SetText( _rURL );} - bool IsLinkInstance() const { return m_pLinkInstanceCB->IsChecked(); } - void SetLinkInstance( bool _bLink ) { m_pLinkInstanceCB->Check(_bLink); } + OUString GetName() const { return m_xNameED->get_text(); } + void SetName( const OUString& _rName ) { m_xNameED->set_text( _rName );} + OUString GetURL() const { return m_xURLED->get_active_text(); } + void SetURL( const OUString& _rURL ) { m_xURLED->SetText( _rURL );} + bool IsLinkInstance() const { return m_xLinkInstanceCB->get_active(); } + void SetLinkInstance( bool _bLink ) { m_xLinkInstanceCB->set_active(_bLink); } }; - class LinkedInstanceWarningBox : public weld::MessageDialogController { public: diff --git a/svx/uiconfig/ui/addinstancedialog.ui b/svx/uiconfig/ui/addinstancedialog.ui index 0f84988af2e6..f08a49b71d0a 100644 --- a/svx/uiconfig/ui/addinstancedialog.ui +++ b/svx/uiconfig/ui/addinstancedialog.ui @@ -1,5 +1,5 @@ - + @@ -7,7 +7,13 @@ False 6 Add Instance + True + 0 + 0 dialog + + + False @@ -81,6 +87,7 @@ True True + True 46 @@ -93,10 +100,10 @@ True False - 1 _Name: True name + 1 0 @@ -119,10 +126,10 @@ True False - 1 _URL: True name + 1 0 @@ -130,10 +137,16 @@ - + True False True + True + + + True + + 1 -- cgit