sw/source/ui/misc/glossary.cxx | 132 +++++++++++-------------- sw/uiconfig/swriter/ui/renameautotextdialog.ui | 42 +++---- 2 files changed, 76 insertions(+), 98 deletions(-)
New commits: commit 9f55cc13d64b4c8d60b1ff2e93ed854b0dccad46 Author: Caolán McNamara <caol...@redhat.com> Date: Sun May 13 17:55:03 2018 +0100 weld SwNewGlosNameDlg Change-Id: Ie1c320958813bfb602da46738782b9e1e9fe5a9e Reviewed-on: https://gerrit.libreoffice.org/54196 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx index b38de3134e14..c62a67a214c6 100644 --- a/sw/source/ui/misc/glossary.cxx +++ b/sw/source/ui/misc/glossary.cxx @@ -114,64 +114,54 @@ struct GroupUserData }; // dialog for new block name -class SwNewGlosNameDlg : public ModalDialog +class SwNewGlosNameDlg : public weld::GenericDialogController { - VclPtr<Edit> m_pNewName; TextFilter m_aNoSpaceFilter; - VclPtr<Edit> m_pNewShort; - VclPtr<OKButton> m_pOk; - VclPtr<Edit> m_pOldName; - VclPtr<Edit> m_pOldShort; + VclPtr<SwGlossaryDlg> m_pParent; + + std::unique_ptr<weld::Entry> m_xNewName; + std::unique_ptr<weld::Entry> m_xNewShort; + std::unique_ptr<weld::Button> m_xOk; + std::unique_ptr<weld::Entry> m_xOldName; + std::unique_ptr<weld::Entry> m_xOldShort; protected: - DECL_LINK( Modify, Edit&, void ); - DECL_LINK(Rename, Button*, void); + DECL_LINK(Modify, weld::Entry&, void); + DECL_LINK(Rename, weld::Button&, void); + DECL_LINK(TextFilterHdl, OUString&, bool); public: - SwNewGlosNameDlg( vcl::Window* pParent, - const OUString& rOldName, - const OUString& rOldShort ); - virtual ~SwNewGlosNameDlg() override; - virtual void dispose() override; - - OUString GetNewName() const { return m_pNewName->GetText(); } - OUString GetNewShort() const { return m_pNewShort->GetText(); } -}; + SwNewGlosNameDlg(SwGlossaryDlg* pParent, + const OUString& rOldName, + const OUString& rOldShort); -SwNewGlosNameDlg::SwNewGlosNameDlg(vcl::Window* pParent, - const OUString& rOldName, - const OUString& rOldShort ) - : ModalDialog(pParent, "RenameAutoTextDialog", - "modules/swriter/ui/renameautotextdialog.ui") -{ - get(m_pNewName, "newname"); - get(m_pNewShort, "newsc"); - m_pNewShort->SetTextFilter(&m_aNoSpaceFilter); - get(m_pOk, "ok"); - get(m_pOldName, "oldname"); - get(m_pOldShort, "oldsc"); - - m_pOldName->SetText( rOldName ); - m_pOldShort->SetText( rOldShort ); - m_pNewName->SetModifyHdl(LINK(this, SwNewGlosNameDlg, Modify )); - m_pNewShort->SetModifyHdl(LINK(this, SwNewGlosNameDlg, Modify )); - m_pOk->SetClickHdl(LINK(this, SwNewGlosNameDlg, Rename )); - m_pNewName->GrabFocus(); -} + OUString GetNewName() const { return m_xNewName->get_text(); } + OUString GetNewShort() const { return m_xNewShort->get_text(); } +}; -SwNewGlosNameDlg::~SwNewGlosNameDlg() +IMPL_LINK(SwNewGlosNameDlg, TextFilterHdl, OUString&, rTest, bool) { - disposeOnce(); + rTest = m_aNoSpaceFilter.filter(rTest); + return true; } -void SwNewGlosNameDlg::dispose() +SwNewGlosNameDlg::SwNewGlosNameDlg(SwGlossaryDlg* pParent, const OUString& rOldName, const OUString& rOldShort) + : GenericDialogController(pParent->GetFrameWeld(), "modules/swriter/ui/renameautotextdialog.ui", "RenameAutoTextDialog") + , m_pParent(pParent) + , m_xNewName(m_xBuilder->weld_entry("newname")) + , m_xNewShort(m_xBuilder->weld_entry("newsc")) + , m_xOk(m_xBuilder->weld_button("ok")) + , m_xOldName(m_xBuilder->weld_entry("oldname")) + , m_xOldShort(m_xBuilder->weld_entry("oldsc")) { - m_pNewName.clear(); - m_pNewShort.clear(); - m_pOk.clear(); - m_pOldName.clear(); - m_pOldShort.clear(); - ModalDialog::dispose(); + m_xNewShort->connect_insert_text(LINK(this, SwNewGlosNameDlg, TextFilterHdl)); + + m_xOldName->set_text(rOldName); + m_xOldShort->set_text(rOldShort); + m_xNewName->connect_changed(LINK(this, SwNewGlosNameDlg, Modify )); + m_xNewShort->connect_changed(LINK(this, SwNewGlosNameDlg, Modify )); + m_xOk->connect_clicked(LINK(this, SwNewGlosNameDlg, Rename )); + m_xNewName->grab_focus(); } // query / set currently set group @@ -503,17 +493,15 @@ IMPL_LINK( SwGlossaryDlg, MenuHdl, Menu *, pMn, bool ) else if (sItemIdent == "rename") { m_pShortNameEdit->SetText(pGlossaryHdl->GetGlossaryShortName(m_pNameED->GetText())); - ScopedVclPtrInstance<SwNewGlosNameDlg> pNewNameDlg(this, m_pNameED->GetText(), - m_pShortNameEdit->GetText()); - if( RET_OK == pNewNameDlg->Execute() && - pGlossaryHdl->Rename( m_pShortNameEdit->GetText(), - pNewNameDlg->GetNewShort(), - pNewNameDlg->GetNewName())) + SwNewGlosNameDlg aNewNameDlg(this, m_pNameED->GetText(), m_pShortNameEdit->GetText()); + if (aNewNameDlg.run() == RET_OK && pGlossaryHdl->Rename(m_pShortNameEdit->GetText(), + aNewNameDlg.GetNewShort(), + aNewNameDlg.GetNewName())) { SvTreeListEntry* pEntry = m_pCategoryBox->FirstSelected(); SvTreeListEntry* pNewEntry = m_pCategoryBox->InsertEntry( - pNewNameDlg->GetNewName(), m_pCategoryBox->GetParent(pEntry)); - pNewEntry->SetUserData(new OUString(pNewNameDlg->GetNewShort())); + aNewNameDlg.GetNewName(), m_pCategoryBox->GetParent(pEntry)); + pNewEntry->SetUserData(new OUString(aNewNameDlg.GetNewShort())); delete static_cast<OUString*>(pEntry->GetUserData()); m_pCategoryBox->GetModel()->Remove(pEntry); m_pCategoryBox->Select(pNewEntry); @@ -790,34 +778,34 @@ IMPL_LINK_NOARG(SwGlossaryDlg, EditHdl, MenuButton *, void) } // KeyInput for ShortName - Edits without Spaces -IMPL_LINK( SwNewGlosNameDlg, Modify, Edit&, rBox, void ) +IMPL_LINK( SwNewGlosNameDlg, Modify, weld::Entry&, rBox, void ) { - OUString aName(m_pNewName->GetText()); - SwGlossaryDlg* pDlg = static_cast<SwGlossaryDlg*>(GetParent()); - if (&rBox == m_pNewName) - m_pNewShort->SetText( lcl_GetValidShortCut( aName ) ); - - bool bEnable = !aName.isEmpty() && !m_pNewShort->GetText().isEmpty() && - (!pDlg->DoesBlockExist(aName, m_pNewShort->GetText()) - || aName == m_pOldName->GetText()); - m_pOk->Enable(bEnable); + OUString aName(m_xNewName->get_text()); + SwGlossaryDlg* pDlg = m_pParent; + if (&rBox == m_xNewName.get()) + m_xNewShort->set_text(lcl_GetValidShortCut(aName)); + + bool bEnable = !aName.isEmpty() && !m_xNewShort->get_text().isEmpty() && + (!pDlg->DoesBlockExist(aName, m_xNewShort->get_text()) + || aName == m_xOldName->get_text()); + m_xOk->set_sensitive(bEnable); } -IMPL_LINK_NOARG(SwNewGlosNameDlg, Rename, Button*, void) +IMPL_LINK_NOARG(SwNewGlosNameDlg, Rename, weld::Button&, void) { - SwGlossaryDlg* pDlg = static_cast<SwGlossaryDlg*>(GetParent()); - OUString sNew = GetAppCharClass().uppercase(m_pNewShort->GetText()); - if( pDlg->pGlossaryHdl->HasShortName(m_pNewShort->GetText()) - && sNew != m_pOldShort->GetText() ) + SwGlossaryDlg* pDlg = m_pParent; + OUString sNew = GetAppCharClass().uppercase(m_xNewShort->get_text()); + if (pDlg->pGlossaryHdl->HasShortName(m_xNewShort->get_text()) + && sNew != m_xOldShort->get_text()) { - std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(GetFrameWeld(), + std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xDialog.get(), VclMessageType::Info, VclButtonsType::Ok, SwResId(STR_DOUBLE_SHORTNAME))); xBox->run(); - m_pNewShort->GrabFocus(); + m_xNewShort->grab_focus(); } else - EndDialog(RET_OK); + m_xDialog->response(RET_OK); } IMPL_LINK( SwGlossaryDlg, CheckBoxHdl, Button *, pBox, void ) diff --git a/sw/uiconfig/swriter/ui/renameautotextdialog.ui b/sw/uiconfig/swriter/ui/renameautotextdialog.ui index 29882c2005b8..15e450e25303 100644 --- a/sw/uiconfig/swriter/ui/renameautotextdialog.ui +++ b/sw/uiconfig/swriter/ui/renameautotextdialog.ui @@ -1,12 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.22.1 --> <interface domain="sw"> - <!-- interface-requires gtk+ 3.0 --> - <!-- interface-requires LibreOffice 1.0 --> + <requires lib="gtk+" version="3.18"/> <object class="GtkDialog" id="RenameAutoTextDialog"> <property name="can_focus">False</property> <property name="border_width">6</property> <property name="title" translatable="yes" context="renameautotextdialog|RenameAutoTextDialog">Rename AutoText</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> @@ -73,16 +79,14 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="double_buffered">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="renameautotextdialog|label2">Na_me</property> <property name="use_underline">True</property> <property name="mnemonic_widget">oldname</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -90,16 +94,14 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="double_buffered">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="renameautotextdialog|label3">_New</property> <property name="use_underline">True</property> <property name="mnemonic_widget">newname</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -108,13 +110,12 @@ <property name="can_focus">True</property> <property name="hexpand">True</property> <property name="editable">False</property> + <property name="activates_default">True</property> <property name="width_chars">32</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -123,21 +124,18 @@ <property name="can_focus">True</property> <property name="hexpand">True</property> <property name="max_length">60</property> + <property name="activates_default">True</property> <property name="width_chars">32</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -151,16 +149,14 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="double_buffered">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="renameautotextdialog|label4">Short_cut</property> <property name="use_underline">True</property> <property name="mnemonic_widget">oldsc</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -168,16 +164,14 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="double_buffered">False</property> - <property name="xalign">0</property> <property name="label" translatable="yes" context="renameautotextdialog|label5">_Shortcut</property> <property name="use_underline">True</property> <property name="mnemonic_widget">newsc</property> + <property name="xalign">0</property> </object> <packing> <property name="left_attach">0</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> @@ -185,34 +179,30 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="editable">False</property> + <property name="activates_default">True</property> <property name="width_chars">6</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> <child> <object class="GtkEntry" id="newsc"> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="activates_default">True</property> <property name="width_chars">6</property> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">1</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> </object> <packing> <property name="left_attach">1</property> <property name="top_attach">0</property> - <property name="width">1</property> - <property name="height">1</property> </packing> </child> </object> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits