diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-03-25 21:42:04 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-03-26 10:05:48 +0100 |
commit | 621538e4cb6b4e05e38af54d70d08b12ab85d290 (patch) | |
tree | 3c4543aea802aa5366070cea1a6d3534f6709819 | |
parent | f1f9c6ee9417cf921e63362f9d82dd196bd07916 (diff) |
weld URLDlg
Change-Id: I3dd002a97d7c90e62c09f65bfc0333892bbd817c
Reviewed-on: https://gerrit.libreoffice.org/69718
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | cui/source/dialogs/cuiimapwnd.cxx | 49 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 23 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.hxx | 11 | ||||
-rw-r--r-- | cui/source/inc/cuiimapwnd.hxx | 38 | ||||
-rw-r--r-- | cui/uiconfig/ui/cuiimapdlg.ui | 34 | ||||
-rw-r--r-- | include/svx/svxdlg.hxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/imapwnd.cxx | 4 |
7 files changed, 83 insertions, 78 deletions
diff --git a/cui/source/dialogs/cuiimapwnd.cxx b/cui/source/dialogs/cuiimapwnd.cxx index 5fbc6e428f95..516b35c7e55c 100644 --- a/cui/source/dialogs/cuiimapwnd.cxx +++ b/cui/source/dialogs/cuiimapwnd.cxx @@ -45,44 +45,35 @@ |* \************************************************************************/ -URLDlg::URLDlg( vcl::Window* pWindow, const OUString& rURL, const OUString& rAlternativeText, const OUString& rDescription, const OUString& rTarget, const OUString& rName, TargetList& rTargetList ) -: ModalDialog(pWindow, "IMapDialog", "cui/ui/cuiimapdlg.ui") +URLDlg::URLDlg(weld::Window* pWindow, const OUString& rURL, const OUString& rAlternativeText, + const OUString& rDescription, const OUString& rTarget, const OUString& rName, + TargetList& rTargetList) + : GenericDialogController(pWindow, "cui/ui/cuiimapdlg.ui", "IMapDialog") + , m_xEdtURL(m_xBuilder->weld_entry("urlentry")) + , m_xCbbTargets(m_xBuilder->weld_combo_box("frameCB")) + , m_xEdtName(m_xBuilder->weld_entry("nameentry")) + , m_xEdtAlternativeText(m_xBuilder->weld_entry("textentry")) + , m_xEdtDescription(m_xBuilder->weld_text_view("descTV")) { - get(m_pEdtURL, "urlentry"); - get(m_pCbbTargets, "frameCB"); - get(m_pEdtName, "nameentry"); - get(m_pEdtAlternativeText, "textentry"); - get(m_pEdtDescription, "descTV"); - m_pEdtDescription->set_height_request(m_pEdtDescription->GetTextHeight() * 5); - m_pEdtDescription->set_width_request(m_pEdtDescription->approximate_char_width() * 60); + m_xEdtDescription->set_size_request(m_xEdtDescription->get_approximate_digit_width() * 51, + m_xEdtDescription->get_height_rows(5)); - m_pEdtURL->SetText( rURL ); - m_pEdtAlternativeText->SetText( rAlternativeText ); - m_pEdtDescription->SetText( rDescription ); - m_pEdtName->SetText( rName ); + m_xEdtURL->set_text( rURL ); + m_xEdtAlternativeText->set_text( rAlternativeText ); + m_xEdtDescription->set_text( rDescription ); + m_xEdtName->set_text( rName ); - for(OUString & i : rTargetList) - m_pCbbTargets->InsertEntry( i ); + for (const OUString& a : rTargetList) + m_xCbbTargets->append_text(a); - if( rTarget.isEmpty() ) - m_pCbbTargets->SetText( "_self"); + if (rTarget.isEmpty()) + m_xCbbTargets->set_entry_text("_self"); else - m_pCbbTargets->SetText( rTarget ); + m_xCbbTargets->set_entry_text(rTarget); } URLDlg::~URLDlg() { - disposeOnce(); -} - -void URLDlg::dispose() -{ - m_pEdtURL.clear(); - m_pCbbTargets.clear(); - m_pEdtName.clear(); - m_pEdtAlternativeText.clear(); - m_pEdtDescription.clear(); - ModalDialog::dispose(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 08fea16c4049..a862bea608ab 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -152,7 +152,10 @@ short AbstractGalleryIdDialog_Impl::Execute() return m_xDlg->run(); } -IMPL_ABSTDLG_BASE(AbstractURLDlg_Impl); +short AbstractURLDlg_Impl::Execute() +{ + return m_xDlg->run(); +} short AbstractSvxSearchSimilarityDialog_Impl::Execute() { @@ -537,27 +540,27 @@ sal_uInt32 AbstractGalleryIdDialog_Impl::GetId() const OUString AbstractURLDlg_Impl::GetURL() const { - return pDlg->GetURL(); + return m_xDlg->GetURL(); } OUString AbstractURLDlg_Impl::GetAltText() const { - return pDlg->GetAltText(); + return m_xDlg->GetAltText(); } OUString AbstractURLDlg_Impl::GetDesc() const { - return pDlg->GetDesc(); + return m_xDlg->GetDesc(); } OUString AbstractURLDlg_Impl::GetTarget() const { - return pDlg->GetTarget(); + return m_xDlg->GetTarget(); } OUString AbstractURLDlg_Impl::GetName() const { - return pDlg->GetName(); + return m_xDlg->GetName(); } sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetOther() @@ -1098,14 +1101,14 @@ VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateGalleryThemeProperti pParent, pData, pItemSet)); } -VclPtr<AbstractURLDlg> AbstractDialogFactory_Impl::CreateURLDialog( vcl::Window* pParent, +VclPtr<AbstractURLDlg> AbstractDialogFactory_Impl::CreateURLDialog(weld::Window* pParent, const OUString& rURL, const OUString& rAltText, const OUString& rDescription, const OUString& rTarget, const OUString& rName, TargetList& rTargetList ) { - VclPtrInstance<URLDlg> pDlg( pParent, rURL, rAltText, rDescription, - rTarget, rName, rTargetList); - return VclPtr<AbstractURLDlg_Impl>::Create( pDlg ); + return VclPtr<AbstractURLDlg_Impl>::Create(std::make_unique<URLDlg>(pParent, rURL, rAltText, rDescription, + rTarget, rName, rTargetList)); + } VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateTabItemDialog(weld::Window* pParent, diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index dae667cd312e..13fa7d39c237 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -283,7 +283,14 @@ public: class URLDlg; class AbstractURLDlg_Impl :public AbstractURLDlg { - DECL_ABSTDLG_BASE(AbstractURLDlg_Impl,URLDlg) +protected: + std::unique_ptr<URLDlg> m_xDlg; +public: + explicit AbstractURLDlg_Impl(std::unique_ptr<URLDlg> p) + : m_xDlg(std::move(p)) + { + } + virtual short Execute() override; virtual OUString GetURL() const override; virtual OUString GetAltText() const override; virtual OUString GetDesc() const override; @@ -731,7 +738,7 @@ public: virtual VclPtr<VclAbstractDialog> CreateGalleryThemePropertiesDialog(weld::Window* pParent, ExchangeData* pData, SfxItemSet* pItemSet) override; - virtual VclPtr<AbstractURLDlg> CreateURLDialog( vcl::Window* pParent, + virtual VclPtr<AbstractURLDlg> CreateURLDialog(weld::Window* pParent, const OUString& rURL, const OUString& rAltText, const OUString& rDescription, const OUString& rTarget, const OUString& rName, TargetList& rTargetList ) override; diff --git a/cui/source/inc/cuiimapwnd.hxx b/cui/source/inc/cuiimapwnd.hxx index 8938a909f15c..bc1eb8721035 100644 --- a/cui/source/inc/cuiimapwnd.hxx +++ b/cui/source/inc/cuiimapwnd.hxx @@ -19,36 +19,30 @@ #ifndef INCLUDED_CUI_SOURCE_INC_CUIIMAPWND_HXX #define INCLUDED_CUI_SOURCE_INC_CUIIMAPWND_HXX -#include <vcl/dialog.hxx> -#include <vcl/combobox.hxx> -#include <vcl/button.hxx> -#include <vcl/menu.hxx> -#include <vcl/vclmedit.hxx> - +#include <vcl/weld.hxx> #include <sfx2/frame.hxx> -class URLDlg : public ModalDialog +class URLDlg : public weld::GenericDialogController { - VclPtr<Edit> m_pEdtURL; - VclPtr<ComboBox> m_pCbbTargets; - VclPtr<Edit> m_pEdtName; - VclPtr<Edit> m_pEdtAlternativeText; - VclPtr<VclMultiLineEdit> m_pEdtDescription; + std::unique_ptr<weld::Entry> m_xEdtURL; + std::unique_ptr<weld::ComboBox> m_xCbbTargets; + std::unique_ptr<weld::Entry> m_xEdtName; + std::unique_ptr<weld::Entry> m_xEdtAlternativeText; + std::unique_ptr<weld::TextView> m_xEdtDescription; public: - URLDlg( vcl::Window* pWindow, - const OUString& rURL, const OUString& rAlternativeText, const OUString& rDescription, - const OUString& rTarget, const OUString& rName, - TargetList& rTargetList ); + URLDlg(weld::Window* pWindow, + const OUString& rURL, const OUString& rAlternativeText, const OUString& rDescription, + const OUString& rTarget, const OUString& rName, + TargetList& rTargetList); virtual ~URLDlg() override; - virtual void dispose() override; - OUString GetURL() const { return m_pEdtURL->GetText(); } - OUString GetAltText() const { return m_pEdtAlternativeText->GetText(); } - OUString GetDesc() const { return m_pEdtDescription->GetText(); } - OUString GetTarget() const { return m_pCbbTargets->GetText(); } - OUString GetName() const { return m_pEdtName->GetText(); } + OUString GetURL() const { return m_xEdtURL->get_text(); } + OUString GetAltText() const { return m_xEdtAlternativeText->get_text(); } + OUString GetDesc() const { return m_xEdtDescription->get_text(); } + OUString GetTarget() const { return m_xCbbTargets->get_active_text(); } + OUString GetName() const { return m_xEdtName->get_text(); } }; #endif diff --git a/cui/uiconfig/ui/cuiimapdlg.ui b/cui/uiconfig/ui/cuiimapdlg.ui index 602155c6ab3d..e17cd9e2f430 100644 --- a/cui/uiconfig/ui/cuiimapdlg.ui +++ b/cui/uiconfig/ui/cuiimapdlg.ui @@ -1,12 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="cui"> <requires lib="gtk+" version="3.18"/> <object class="GtkDialog" id="IMapDialog"> <property name="can_focus">False</property> <property name="border_width">6</property> <property name="title" translatable="yes" context="cuiimapdlg|IMapDialog">Properties</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> @@ -92,10 +98,10 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="cuiimapdlg|label1">_URL:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">urlentry</property> + <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> @@ -108,6 +114,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="hexpand">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="expand">False</property> @@ -133,10 +140,10 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="cuiimapdlg|label2">F_rame:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">frameCB</property> + <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> @@ -145,14 +152,15 @@ </packing> </child> <child> - <object class="GtkComboBox" id="frameCB"> + <object class="GtkComboBoxText" id="frameCB"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="halign">start</property> <property name="has_entry">True</property> <child internal-child="entry"> <object class="GtkEntry" id="combobox-entry"> - <property name="can_focus">False</property> + <property name="can_focus">True</property> + <property name="activates_default">True</property> </object> </child> </object> @@ -180,10 +188,10 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="cuiimapdlg|label3">_Name:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">nameentry</property> + <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> @@ -196,6 +204,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="hexpand">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="expand">False</property> @@ -221,10 +230,10 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="cuiimapdlg|label4">Alternative _text:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">textentry</property> + <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> @@ -237,6 +246,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="hexpand">True</property> + <property name="activates_default">True</property> </object> <packing> <property name="expand">False</property> @@ -262,10 +272,10 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="hexpand">True</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="cuiimapdlg|label5">_Description:</property> <property name="use_underline">True</property> - <property name="mnemonic_widget">descTV:border</property> + <property name="mnemonic_widget">descTV</property> + <property name="xalign">0</property> </object> <packing> <property name="expand">False</property> @@ -281,7 +291,7 @@ <property name="vexpand">True</property> <property name="shadow_type">in</property> <child> - <object class="GtkTextView" id="descTV:border"> + <object class="GtkTextView" id="descTV"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="hexpand">True</property> @@ -293,14 +303,14 @@ </child> </object> <packing> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> <property name="position">1</property> </packing> </child> </object> <packing> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> <property name="position">5</property> </packing> diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx index ccf03a210f42..8547dc306e1b 100644 --- a/include/svx/svxdlg.hxx +++ b/include/svx/svxdlg.hxx @@ -350,7 +350,7 @@ public: virtual VclPtr<VclAbstractDialog> CreateGalleryThemePropertiesDialog(weld::Window* pParent, ExchangeData* pData, SfxItemSet* pItemSet ) = 0; - virtual VclPtr<AbstractURLDlg> CreateURLDialog( vcl::Window* pParent, + virtual VclPtr<AbstractURLDlg> CreateURLDialog(weld::Window* pParent, const OUString& rURL, const OUString& rAltText, const OUString& rDescription, const OUString& rTarget, const OUString& rName, TargetList& rTargetList ) = 0; diff --git a/svx/source/dialog/imapwnd.cxx b/svx/source/dialog/imapwnd.cxx index 7c65fc182735..487826351b79 100644 --- a/svx/source/dialog/imapwnd.cxx +++ b/svx/source/dialog/imapwnd.cxx @@ -686,8 +686,8 @@ void IMapWindow::DoPropertyDialog() { IMapObject* pIMapObj = GetIMapObj( pSdrObj ); SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - ScopedVclPtr<AbstractURLDlg> aDlg(pFact->CreateURLDialog( this, pIMapObj->GetURL(), pIMapObj->GetAltText(), pIMapObj->GetDesc(), - pIMapObj->GetTarget(), pIMapObj->GetName(), aTargetList )); + ScopedVclPtr<AbstractURLDlg> aDlg(pFact->CreateURLDialog(GetFrameWeld(), pIMapObj->GetURL(), pIMapObj->GetAltText(), pIMapObj->GetDesc(), + pIMapObj->GetTarget(), pIMapObj->GetName(), aTargetList)); if ( aDlg->Execute() == RET_OK ) { const OUString aURLText( aDlg->GetURL() ); |