[Libreoffice-commits] core.git: sw/source sw/uiconfig

Caolán McNamara caolanm at redhat.com
Sun May 13 19:44:45 UTC 2018


 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 <caolanm at 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 <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at 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>


More information about the Libreoffice-commits mailing list