summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-03-15 20:52:43 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-03-16 00:24:52 +0100
commit8f61b382a776b2e241be0e3743c38fea53a6a729 (patch)
treebbcb792e1b8d4435ee6878ac574c64868210cd01 /cui
parent4bbf37b7ed83491efdfa9cb12cd434f67a1764ae (diff)
weld SvxObjectNameDialog
Change-Id: I588bdc61cce9a7b4e709fcac612b229c02e734c0 Reviewed-on: https://gerrit.libreoffice.org/51375 Tested-by: Jenkins <ci@libreoffice.org> 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/dlgname.cxx38
-rw-r--r--cui/source/factory/dlgfact.cxx16
-rw-r--r--cui/source/factory/dlgfact.hxx13
-rw-r--r--cui/source/inc/dlgname.hxx14
-rw-r--r--cui/uiconfig/ui/objectnamedialog.ui11
5 files changed, 46 insertions, 46 deletions
diff --git a/cui/source/dialogs/dlgname.cxx b/cui/source/dialogs/dlgname.cxx
index e3ad99d3497e..3e9eb3d0d78b 100644
--- a/cui/source/dialogs/dlgname.cxx
+++ b/cui/source/dialogs/dlgname.cxx
@@ -54,44 +54,28 @@ IMPL_LINK_NOARG(SvxNameDialog, ModifyHdl, weld::Entry&, void)
// Dialog for editing Object Name
// plus uniqueness-callback-linkHandler
-SvxObjectNameDialog::SvxObjectNameDialog(
- vcl::Window* pWindow,
- const OUString& rName) :
- ModalDialog ( pWindow, "ObjectNameDialog", "cui/ui/objectnamedialog.ui" )
+SvxObjectNameDialog::SvxObjectNameDialog(weld::Window* pParent, const OUString& rName)
+ : GenericDialogController(pParent, "cui/ui/objectnamedialog.ui", "ObjectNameDialog")
+ , m_xEdtName(m_xBuilder->weld_entry("object_name_entry"))
+ , m_xBtnOK(m_xBuilder->weld_button("ok"))
{
- get(pBtnOK, "ok");
- get(pEdtName, "object_name_entry");
// set name
- pEdtName->SetText(rName);
+ m_xEdtName->set_text(rName);
+ m_xEdtName->select_region(0, -1);
// activate name
- pEdtName->SetSelection(Selection(SELECTION_MIN, SELECTION_MAX));
- ModifyHdl(*pEdtName.get());
- pEdtName->SetModifyHdl(LINK(this, SvxObjectNameDialog, ModifyHdl));
-}
-
-SvxObjectNameDialog::~SvxObjectNameDialog()
-{
- disposeOnce();
-}
-
-void SvxObjectNameDialog::dispose()
-{
- pEdtName.clear();
- pBtnOK.clear();
- ModalDialog::dispose();
+ ModifyHdl(*m_xEdtName);
+ m_xEdtName->connect_changed(LINK(this, SvxObjectNameDialog, ModifyHdl));
}
-
-IMPL_LINK_NOARG(SvxObjectNameDialog, ModifyHdl, Edit&, void)
+IMPL_LINK_NOARG(SvxObjectNameDialog, ModifyHdl, weld::Entry&, void)
{
- if(aCheckNameHdl.IsSet())
+ if (aCheckNameHdl.IsSet())
{
- pBtnOK->Enable(aCheckNameHdl.Call(*this));
+ m_xBtnOK->set_sensitive(aCheckNameHdl.Call(*this));
}
}
-
// #i68101#
// Dialog for editing Object Title and Description
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index e5306a261f1e..33abcf354fea 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -122,7 +122,11 @@ short AbstractSvxNameDialog_Impl::Execute()
}
// #i68101#
-IMPL_ABSTDLG_BASE(AbstractSvxObjectNameDialog_Impl);
+short AbstractSvxObjectNameDialog_Impl::Execute()
+{
+ return m_xDlg->run();
+}
+
IMPL_ABSTDLG_BASE(AbstractSvxObjectTitleDescDialog_Impl);
IMPL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl);
@@ -593,7 +597,7 @@ IMPL_LINK_NOARG(AbstractSvxNameDialog_Impl, CheckNameHdl, SvxNameDialog&, bool)
void AbstractSvxObjectNameDialog_Impl::GetName(OUString& rName)
{
- pDlg->GetName(rName);
+ rName = m_xDlg->GetName();
}
void AbstractSvxObjectNameDialog_Impl::SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink)
@@ -602,11 +606,11 @@ void AbstractSvxObjectNameDialog_Impl::SetCheckNameHdl(const Link<AbstractSvxObj
if(rLink.IsSet())
{
- pDlg->SetCheckNameHdl(LINK(this, AbstractSvxObjectNameDialog_Impl, CheckNameHdl));
+ m_xDlg->SetCheckNameHdl(LINK(this, AbstractSvxObjectNameDialog_Impl, CheckNameHdl));
}
else
{
- pDlg->SetCheckNameHdl(Link<SvxObjectNameDialog&,bool>());
+ m_xDlg->SetCheckNameHdl(Link<SvxObjectNameDialog&,bool>());
}
}
@@ -1103,9 +1107,9 @@ VclPtr<AbstractSvxNameDialog> AbstractDialogFactory_Impl::CreateSvxNameDialog(we
return VclPtr<AbstractSvxNameDialog_Impl>::Create(new SvxNameDialog(pParent, rName, rDesc));
}
-VclPtr<AbstractSvxObjectNameDialog> AbstractDialogFactory_Impl::CreateSvxObjectNameDialog(const OUString& rName )
+VclPtr<AbstractSvxObjectNameDialog> AbstractDialogFactory_Impl::CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName)
{
- return VclPtr<AbstractSvxObjectNameDialog_Impl>::Create(VclPtr<SvxObjectNameDialog>::Create(nullptr, rName));
+ return VclPtr<AbstractSvxObjectNameDialog_Impl>::Create(new SvxObjectNameDialog(pParent, rName));
}
VclPtr<AbstractSvxObjectTitleDescDialog> AbstractDialogFactory_Impl::CreateSvxObjectTitleDescDialog(const OUString& rTitle, const OUString& rDescription)
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index d36ecabeb517..e21a3d895d1c 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -324,9 +324,16 @@ private:
class SvxObjectNameDialog;
class SvxObjectTitleDescDialog;
-class AbstractSvxObjectNameDialog_Impl :public AbstractSvxObjectNameDialog
+class AbstractSvxObjectNameDialog_Impl : public AbstractSvxObjectNameDialog
{
- DECL_ABSTDLG_BASE(AbstractSvxObjectNameDialog_Impl, SvxObjectNameDialog)
+protected:
+ std::unique_ptr<SvxObjectNameDialog> m_xDlg;
+public:
+ explicit AbstractSvxObjectNameDialog_Impl(SvxObjectNameDialog* p)
+ : m_xDlg(p)
+ {
+ }
+ virtual short Execute() override;
virtual void GetName(OUString& rName) override ;
virtual void SetCheckNameHdl(const Link<AbstractSvxObjectNameDialog&,bool>& rLink) override;
@@ -566,7 +573,7 @@ public:
virtual VclPtr<AbstractSvxNameDialog> CreateSvxNameDialog(weld::Window* pParent,
const OUString& rName, const OUString& rDesc) override;
// #i68101#
- virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(const OUString& rName ) override;
+ virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) override;
virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(const OUString& rTitle, const OUString& rDescription) override;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(vcl::Window* pParent) override;
diff --git a/cui/source/inc/dlgname.hxx b/cui/source/inc/dlgname.hxx
index 5543d9cf1dea..73f66be6854b 100644
--- a/cui/source/inc/dlgname.hxx
+++ b/cui/source/inc/dlgname.hxx
@@ -72,28 +72,26 @@ public:
/** #i68101#
Dialog for editing Object name
plus uniqueness-callback-linkHandler */
-class SvxObjectNameDialog : public ModalDialog
+class SvxObjectNameDialog : public weld::GenericDialogController
{
private:
// name
- VclPtr<Edit> pEdtName;
+ std::unique_ptr<weld::Entry> m_xEdtName;
// buttons
- VclPtr<OKButton> pBtnOK;
+ std::unique_ptr<weld::Button> m_xBtnOK;
// callback link for name uniqueness
Link<SvxObjectNameDialog&,bool> aCheckNameHdl;
- DECL_LINK(ModifyHdl, Edit&, void);
+ DECL_LINK(ModifyHdl, weld::Entry&, void);
public:
// constructor
- SvxObjectNameDialog(vcl::Window* pWindow, const OUString& rName);
- virtual ~SvxObjectNameDialog() override;
- virtual void dispose() override;
+ SvxObjectNameDialog(weld::Window* pWindow, const OUString& rName);
// data access
- void GetName(OUString& rName) {rName = pEdtName->GetText(); }
+ OUString GetName() { return m_xEdtName->get_text(); }
// set handler
void SetCheckNameHdl(const Link<SvxObjectNameDialog&,bool>& rLink)
diff --git a/cui/uiconfig/ui/objectnamedialog.ui b/cui/uiconfig/ui/objectnamedialog.ui
index 8644c0ae3835..907e334a2db9 100644
--- a/cui/uiconfig/ui/objectnamedialog.ui
+++ b/cui/uiconfig/ui/objectnamedialog.ui
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.20.2 -->
<interface domain="cui">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="ObjectNameDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="objectnamedialog|ObjectNameDialog">Name</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 internal-child="vbox">
<object class="GtkBox" id="dialog-vbox3">
@@ -79,10 +82,10 @@
<object class="GtkLabel" id="object_name_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="objectnamedialog|object_name_label">_Name:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">object_name_entry</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="expand">False</property>
@@ -95,6 +98,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">•</property>
+ <property name="activates_default">True</property>
<property name="width_chars">55</property>
</object>
<packing>
@@ -117,5 +121,8 @@
<action-widget response="-5">ok</action-widget>
<action-widget response="-6">cancel</action-widget>
</action-widgets>
+ <child>
+ <placeholder/>
+ </child>
</object>
</interface>