summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-03-25 21:42:04 +0000
committerCaolán McNamara <caolanm@redhat.com>2019-03-26 10:05:48 +0100
commit621538e4cb6b4e05e38af54d70d08b12ab85d290 (patch)
tree3c4543aea802aa5366070cea1a6d3534f6709819 /cui
parentf1f9c6ee9417cf921e63362f9d82dd196bd07916 (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>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/dialogs/cuiimapwnd.cxx49
-rw-r--r--cui/source/factory/dlgfact.cxx23
-rw-r--r--cui/source/factory/dlgfact.hxx11
-rw-r--r--cui/source/inc/cuiimapwnd.hxx38
-rw-r--r--cui/uiconfig/ui/cuiimapdlg.ui34
5 files changed, 80 insertions, 75 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>