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

Caolán McNamara caolanm at redhat.com
Tue Apr 3 19:01:32 UTC 2018


 sw/source/ui/index/swuiidxmrk.cxx            |   49 +++++++++++----------------
 sw/source/uibase/inc/swuiidxmrk.hxx          |    2 -
 sw/uiconfig/swriter/ui/newuserindexdialog.ui |   18 ++++++---
 3 files changed, 32 insertions(+), 37 deletions(-)

New commits:
commit 19dd424dbdfa2321438860963aa98630ac008a71
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Apr 3 14:39:03 2018 +0100

    weld SwNewUserIdxDlg
    
    Change-Id: I49502af0b045116fba32259d8ada80b1e53a79a8
    Reviewed-on: https://gerrit.libreoffice.org/52332
    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/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx
index c5628740ffdb..f0b1307dccb8 100644
--- a/sw/source/ui/index/swuiidxmrk.cxx
+++ b/sw/source/ui/index/swuiidxmrk.cxx
@@ -564,49 +564,40 @@ void SwIndexMarkPane::UpdateKeyBoxes()
     }
 }
 
-class SwNewUserIdxDlg : public ModalDialog
+class SwNewUserIdxDlg : public weld::GenericDialogController
 {
-    VclPtr<OKButton>        m_pOKPB;
-    VclPtr<Edit>            m_pNameED;
-
     SwIndexMarkPane* m_pDlg;
 
-    DECL_LINK( ModifyHdl, Edit&, void);
+    std::unique_ptr<weld::Button> m_xOKPB;
+    std::unique_ptr<weld::Entry> m_xNameED;
 
-    public:
-        explicit SwNewUserIdxDlg(SwIndexMarkPane* pPane)
-            : ModalDialog(&(pPane->GetDialog()), "NewUserIndexDialog",
-                "modules/swriter/ui/newuserindexdialog.ui")
-            , m_pDlg(pPane)
-            {
-                get(m_pOKPB, "ok");
-                get(m_pNameED, "entry");
-                m_pNameED->SetModifyHdl(LINK(this, SwNewUserIdxDlg, ModifyHdl));
-                m_pOKPB->Enable(false);
-                m_pNameED->GrabFocus();
-            }
-    virtual ~SwNewUserIdxDlg() override { disposeOnce(); }
-    virtual void dispose() override
+    DECL_LINK(ModifyHdl, weld::Entry&, void);
+
+public:
+    explicit SwNewUserIdxDlg(SwIndexMarkPane* pPane)
+        : GenericDialogController(pPane->GetFrameWeld(), "modules/swriter/ui/newuserindexdialog.ui", "NewUserIndexDialog")
+        , m_pDlg(pPane)
+        , m_xOKPB(m_xBuilder->weld_button("ok"))
+        , m_xNameED(m_xBuilder->weld_entry("entry"))
     {
-        m_pOKPB.clear();
-        m_pNameED.clear();
-        ModalDialog::dispose();
+        m_xNameED->connect_changed(LINK(this, SwNewUserIdxDlg, ModifyHdl));
+        m_xOKPB->set_sensitive(false);
+        m_xNameED->grab_focus();
     }
-
-    OUString  GetName(){return m_pNameED->GetText();}
+    OUString GetName() const { return m_xNameED->get_text(); }
 };
 
-IMPL_LINK( SwNewUserIdxDlg, ModifyHdl, Edit&, rEdit, void)
+IMPL_LINK( SwNewUserIdxDlg, ModifyHdl, weld::Entry&, rEdit, void)
 {
-    m_pOKPB->Enable(!rEdit.GetText().isEmpty() && !m_pDlg->IsTOXType(rEdit.GetText()));
+    m_xOKPB->set_sensitive(!rEdit.get_text().isEmpty() && !m_pDlg->IsTOXType(rEdit.get_text()));
 }
 
 IMPL_LINK_NOARG(SwIndexMarkPane, NewUserIdxHdl, Button*, void)
 {
-    ScopedVclPtrInstance< SwNewUserIdxDlg > pDlg(this);
-    if(RET_OK == pDlg->Execute())
+    SwNewUserIdxDlg aDlg(this);
+    if (aDlg.run() == RET_OK)
     {
-        OUString sNewName(pDlg->GetName());
+        OUString sNewName(aDlg.GetName());
         m_pTypeDCB->InsertEntry(sNewName);
         m_pTypeDCB->SelectEntry(sNewName);
     }
diff --git a/sw/source/uibase/inc/swuiidxmrk.hxx b/sw/source/uibase/inc/swuiidxmrk.hxx
index 0b4010d1a92e..12b04046ec32 100644
--- a/sw/source/uibase/inc/swuiidxmrk.hxx
+++ b/sw/source/uibase/inc/swuiidxmrk.hxx
@@ -144,7 +144,7 @@ public:
                     bool bNewDlg,
                     SwWrtShell& rWrtShell);
 
-    Dialog &GetDialog() { return m_rDialog; }
+    weld::Window* GetFrameWeld() { return m_rDialog.GetFrameWeld(); }
 
     ~SwIndexMarkPane();
 
diff --git a/sw/uiconfig/swriter/ui/newuserindexdialog.ui b/sw/uiconfig/swriter/ui/newuserindexdialog.ui
index ab4051f0de45..c5b06e755d0d 100644
--- a/sw/uiconfig/swriter/ui/newuserindexdialog.ui
+++ b/sw/uiconfig/swriter/ui/newuserindexdialog.ui
@@ -1,11 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.20.4 -->
 <interface domain="sw">
-  <!-- interface-requires gtk+ 3.0 -->
-  <!-- interface-requires LibreOffice 1.0 -->
+  <requires lib="gtk+" version="3.18"/>
   <object class="GtkDialog" id="NewUserIndexDialog">
     <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes" context="newuserindexdialog|NewUserIndexDialog">Create New User-defined Index</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-vbox1">
@@ -58,6 +61,7 @@
                 <property name="expand">False</property>
                 <property name="fill">True</property>
                 <property name="position">2</property>
+                <property name="secondary">True</property>
               </packing>
             </child>
           </object>
@@ -96,16 +100,14 @@
                       <object class="GtkLabel" id="label2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
                         <property name="label" translatable="yes" context="newuserindexdialog|label2">_Name</property>
                         <property name="use_underline">True</property>
                         <property name="mnemonic_widget">entry</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>
@@ -113,12 +115,11 @@
                         <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="left_attach">1</property>
                         <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
                       </packing>
                     </child>
                   </object>
@@ -149,5 +150,8 @@
       <action-widget response="-6">cancel</action-widget>
       <action-widget response="-11">help</action-widget>
     </action-widgets>
+    <child>
+      <placeholder/>
+    </child>
   </object>
 </interface>


More information about the Libreoffice-commits mailing list