summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chart2/source/controller/main/ShapeController.cxx3
-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
-rw-r--r--include/svx/svxdlg.hxx2
-rw-r--r--sc/source/ui/drawfunc/drawsh5.cxx3
-rw-r--r--sd/source/ui/view/drviews2.cxx3
-rw-r--r--sw/source/uibase/shells/drwbassh.cxx3
-rw-r--r--sw/source/uibase/shells/frmsh.cxx3
11 files changed, 57 insertions, 52 deletions
diff --git a/chart2/source/controller/main/ShapeController.cxx b/chart2/source/controller/main/ShapeController.cxx
index 6abf9a97f1ed..fd4c8a6fb488 100644
--- a/chart2/source/controller/main/ShapeController.cxx
+++ b/chart2/source/controller/main/ShapeController.cxx
@@ -456,8 +456,9 @@ void ShapeController::executeDispatch_RenameObject()
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if ( pFact )
{
+ VclPtr<ChartWindow> pChartWindow( m_pChartController->GetChartWindow() );
ScopedVclPtr< AbstractSvxObjectNameDialog > pDlg(
- pFact->CreateSvxObjectNameDialog( aName ) );
+ pFact->CreateSvxObjectNameDialog(pChartWindow ? pChartWindow->GetFrameWeld() : nullptr, aName));
pDlg->SetCheckNameHdl( LINK( this, ShapeController, CheckNameHdl ) );
if ( pDlg.get() && ( pDlg->Execute() == RET_OK ) )
{
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>
diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx
index 993ef8d76ee5..4be48fffae50 100644
--- a/include/svx/svxdlg.hxx
+++ b/include/svx/svxdlg.hxx
@@ -402,7 +402,7 @@ public:
const OUString& rName, const OUString& rDesc ) = 0;
// #i68101#
- virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(const OUString& rName ) = 0;
+ virtual VclPtr<AbstractSvxObjectNameDialog> CreateSvxObjectNameDialog(weld::Window* pParent, const OUString& rName) = 0;
virtual VclPtr<AbstractSvxObjectTitleDescDialog> CreateSvxObjectTitleDescDialog(const OUString& rTitle, const OUString& rDescription) = 0;
virtual VclPtr<AbstractSvxMultiPathDialog> CreateSvxMultiPathDialog(vcl::Window* pParent) = 0 ;
diff --git a/sc/source/ui/drawfunc/drawsh5.cxx b/sc/source/ui/drawfunc/drawsh5.cxx
index cd4d38ae5b7f..c426ef2c43dd 100644
--- a/sc/source/ui/drawfunc/drawsh5.cxx
+++ b/sc/source/ui/drawfunc/drawsh5.cxx
@@ -488,7 +488,8 @@ void ScDrawShell::ExecDrawFunc( SfxRequest& rReq )
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialog creation failed!");
- ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(pFact->CreateSvxObjectNameDialog(aName));
+ vcl::Window* pWin = pViewData->GetActiveWin();
+ ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(pFact->CreateSvxObjectNameDialog(pWin ? pWin->GetFrameWeld() : nullptr, aName));
OSL_ENSURE(pDlg, "Dialog creation failed!");
pDlg->SetCheckNameHdl(LINK(this, ScDrawShell, NameObjectHdl));
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index 2c8a71bd3a18..6ca5cf90da8a 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -2506,7 +2506,8 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialog creation failed!");
- ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(pFact->CreateSvxObjectNameDialog(aName));
+ ::sd::Window* pWindow = GetActiveWindow();
+ ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(pFact->CreateSvxObjectNameDialog(pWindow ? pWindow->GetFrameWeld() : nullptr, aName));
OSL_ENSURE(pDlg, "Dialog creation failed!");
pDlg->SetCheckNameHdl(LINK(this, DrawViewShell, NameObjectHdl));
diff --git a/sw/source/uibase/shells/drwbassh.cxx b/sw/source/uibase/shells/drwbassh.cxx
index d5f1f42066c7..d3539e472820 100644
--- a/sw/source/uibase/shells/drwbassh.cxx
+++ b/sw/source/uibase/shells/drwbassh.cxx
@@ -515,7 +515,8 @@ void SwDrawBaseShell::Execute(SfxRequest const &rReq)
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
OSL_ENSURE(pFact, "Dialog creation failed!");
- ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(pFact->CreateSvxObjectNameDialog(aName));
+ vcl::Window* pWin = GetView().GetWindow();
+ ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(pFact->CreateSvxObjectNameDialog(pWin ? pWin->GetFrameWeld() : nullptr, aName));
OSL_ENSURE(pDlg, "Dialog creation failed!");
pDlg->SetCheckNameHdl(LINK(this, SwDrawBaseShell, CheckGroupShapeNameHdl));
diff --git a/sw/source/uibase/shells/frmsh.cxx b/sw/source/uibase/shells/frmsh.cxx
index a9777a88b800..7c564e11f1c4 100644
--- a/sw/source/uibase/shells/frmsh.cxx
+++ b/sw/source/uibase/shells/frmsh.cxx
@@ -635,8 +635,9 @@ void SwFrameShell::Execute(SfxRequest &rReq)
OUString aName(rSh.GetFlyName());
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
assert(pFact);
+ vcl::Window* pWin = GetView().GetWindow();
ScopedVclPtr<AbstractSvxObjectNameDialog> pDlg(
- pFact->CreateSvxObjectNameDialog( aName ));
+ pFact->CreateSvxObjectNameDialog(pWin ? pWin->GetFrameWeld() : nullptr, aName));
assert(pDlg);