[Libreoffice-commits] core.git: sw/source sw/uiconfig vcl/unx
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu Oct 4 13:44:01 UTC 2018
sw/source/ui/dbui/createaddresslistdialog.cxx | 76 ++++++++++----------------
sw/source/ui/dbui/createaddresslistdialog.hxx | 32 +++++-----
sw/uiconfig/swriter/ui/findentrydialog.ui | 29 +++------
vcl/unx/gtk3/gtk3gtkinst.cxx | 6 ++
4 files changed, 63 insertions(+), 80 deletions(-)
New commits:
commit 1346d0c125c35094d241bbc1e0e0316433a292aa
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Oct 4 11:49:52 2018 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Oct 4 15:43:32 2018 +0200
weld SwFindEntryDialog
Change-Id: Ia45e4ce13b92fd73fcc8ad52233aa5eccc3cfb6d
Reviewed-on: https://gerrit.libreoffice.org/61365
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx
index b024cd71c264..6c227ea5273c 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.cxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.cxx
@@ -394,8 +394,7 @@ SwCreateAddressListDialog::SwCreateAddressListDialog(
SfxModalDialog(pParent, "CreateAddressList", "modules/swriter/ui/createaddresslist.ui"),
m_sAddressListFilterName( SwResId( ST_FILTERNAME)),
m_sURL(rURL),
- m_pCSVData( new SwCSVData ),
- m_pFindDlg(nullptr)
+ m_pCSVData( new SwCSVData )
{
get(m_pNewPB, "NEW");
get(m_pDeletePB, "DELETE");
@@ -509,7 +508,7 @@ void SwCreateAddressListDialog::dispose()
m_pNextPB.clear();
m_pEndPB.clear();
m_pOK.clear();
- m_pFindDlg.disposeAndClear();
+ m_xFindDlg.reset();
SfxModalDialog::dispose();
}
@@ -549,20 +548,20 @@ IMPL_LINK_NOARG(SwCreateAddressListDialog, DeleteHdl_Impl, Button*, void)
IMPL_LINK_NOARG(SwCreateAddressListDialog, FindHdl_Impl, Button*, void)
{
- if(!m_pFindDlg)
+ if (!m_xFindDlg)
{
- m_pFindDlg = VclPtr<SwFindEntryDialog>::Create(this);
- ListBox& rColumnBox = m_pFindDlg->GetFieldsListBox();
+ m_xFindDlg.reset(new SwFindEntryDialog(this));
+ weld::ComboBox& rColumnBox = m_xFindDlg->GetFieldsListBox();
std::vector< OUString >::iterator aHeaderIter;
for(aHeaderIter = m_pCSVData->aDBColumnHeaders.begin();
aHeaderIter != m_pCSVData->aDBColumnHeaders.end();
++aHeaderIter)
- rColumnBox.InsertEntry(*aHeaderIter);
- rColumnBox.SelectEntryPos( 0 );
- m_pFindDlg->Show();
+ rColumnBox.append_text(*aHeaderIter);
+ rColumnBox.set_active(0);
+ m_xFindDlg->show();
}
else
- m_pFindDlg->Show(!m_pFindDlg->IsVisible());
+ m_xFindDlg->show(!m_xFindDlg->get_visible());
}
IMPL_LINK(SwCreateAddressListDialog, CustomizeHdl_Impl, Button*, pButton, void)
@@ -577,15 +576,15 @@ IMPL_LINK(SwCreateAddressListDialog, CustomizeHdl_Impl, Button*, pButton, void)
pDlg.reset();
//update find dialog
- if(m_pFindDlg)
+ if (m_xFindDlg)
{
- ListBox& rColumnBox = m_pFindDlg->GetFieldsListBox();
- rColumnBox.Clear();
+ weld::ComboBox& rColumnBox = m_xFindDlg->GetFieldsListBox();
+ rColumnBox.clear();
std::vector< OUString >::iterator aHeaderIter;
for(aHeaderIter = m_pCSVData->aDBColumnHeaders.begin();
aHeaderIter != m_pCSVData->aDBColumnHeaders.end();
++aHeaderIter)
- rColumnBox.InsertEntry(*aHeaderIter);
+ rColumnBox.append_text(*aHeaderIter);
}
}
@@ -741,54 +740,39 @@ void SwCreateAddressListDialog::Find(const OUString& rSearch, sal_Int32 nColumn)
}
SwFindEntryDialog::SwFindEntryDialog(SwCreateAddressListDialog* pParent)
- : ModelessDialog(pParent, "FindEntryDialog",
- "modules/swriter/ui/findentrydialog.ui")
+ : GenericDialogController(pParent->GetFrameWeld(), "modules/swriter/ui/findentrydialog.ui", "FindEntryDialog")
, m_pParent(pParent)
+ , m_xFindED(m_xBuilder->weld_entry("entry"))
+ , m_xFindOnlyCB(m_xBuilder->weld_check_button("findin"))
+ , m_xFindOnlyLB(m_xBuilder->weld_combo_box("area"))
+ , m_xFindPB(m_xBuilder->weld_button("find"))
+ , m_xCancel(m_xBuilder->weld_button("cancel"))
{
- get(m_pCancel, "cancel");
- get(m_pFindPB, "find");
- get(m_pFindOnlyLB, "area");
- get(m_pFindOnlyCB, "findin");
- get(m_pFindED, "entry");
- m_pFindPB->SetClickHdl(LINK(this, SwFindEntryDialog, FindHdl_Impl));
- m_pFindED->SetModifyHdl(LINK(this, SwFindEntryDialog, FindEnableHdl_Impl));
- m_pCancel->SetClickHdl(LINK(this, SwFindEntryDialog, CloseHdl_Impl));
+ m_xFindPB->connect_clicked(LINK(this, SwFindEntryDialog, FindHdl_Impl));
+ m_xFindED->connect_changed(LINK(this, SwFindEntryDialog, FindEnableHdl_Impl));
+ m_xCancel->connect_clicked(LINK(this, SwFindEntryDialog, CloseHdl_Impl));
}
SwFindEntryDialog::~SwFindEntryDialog()
{
- disposeOnce();
-}
-
-void SwFindEntryDialog::dispose()
-{
- m_pFindED.clear();
- m_pFindOnlyCB.clear();
- m_pFindOnlyLB.clear();
- m_pFindPB.clear();
- m_pCancel.clear();
- m_pParent.clear();
- ModelessDialog::dispose();
}
-
-IMPL_LINK_NOARG(SwFindEntryDialog, FindHdl_Impl, Button*, void)
+IMPL_LINK_NOARG(SwFindEntryDialog, FindHdl_Impl, weld::Button&, void)
{
sal_Int32 nColumn = -1;
- if(m_pFindOnlyCB->IsChecked())
- nColumn = m_pFindOnlyLB->GetSelectedEntryPos();
- if(nColumn != LISTBOX_ENTRY_NOTFOUND)
- m_pParent->Find(m_pFindED->GetText(), nColumn);
+ if (m_xFindOnlyCB->get_active())
+ nColumn = m_xFindOnlyLB->get_active();
+ m_pParent->Find(m_xFindED->get_text(), nColumn);
}
-IMPL_LINK_NOARG(SwFindEntryDialog, FindEnableHdl_Impl, Edit&, void)
+IMPL_LINK_NOARG(SwFindEntryDialog, FindEnableHdl_Impl, weld::Entry&, void)
{
- m_pFindPB->Enable(!m_pFindED->GetText().isEmpty());
+ m_xFindPB->set_sensitive(!m_xFindED->get_text().isEmpty());
}
-IMPL_LINK_NOARG(SwFindEntryDialog, CloseHdl_Impl, Button*, void)
+IMPL_LINK_NOARG(SwFindEntryDialog, CloseHdl_Impl, weld::Button&, void)
{
- Show(false);
+ m_xDialog->show(false);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/ui/dbui/createaddresslistdialog.hxx b/sw/source/ui/dbui/createaddresslistdialog.hxx
index a2543f545920..ed28356fda96 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.hxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.hxx
@@ -25,6 +25,7 @@
#include <vcl/field.hxx>
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
+#include <vcl/weld.hxx>
#include <vector>
class SwAddressControl_Impl;
@@ -60,7 +61,7 @@ class SwCreateAddressListDialog : public SfxModalDialog
OUString m_sURL;
std::unique_ptr<SwCSVData> m_pCSVData;
- VclPtr<SwFindEntryDialog> m_pFindDlg;
+ std::unique_ptr<SwFindEntryDialog> m_xFindDlg;
DECL_LINK(NewHdl_Impl, Button*, void);
DECL_LINK(DeleteHdl_Impl, Button*, void);
@@ -82,29 +83,30 @@ public:
void Find( const OUString& rSearch, sal_Int32 nColumn);
};
-class SwFindEntryDialog : public ModelessDialog
+class SwFindEntryDialog : public weld::GenericDialogController
{
- VclPtr<Edit> m_pFindED;
- VclPtr<CheckBox> m_pFindOnlyCB;
- VclPtr<ListBox> m_pFindOnlyLB;
-
- VclPtr<PushButton> m_pFindPB;
- VclPtr<CancelButton> m_pCancel;
-
VclPtr<SwCreateAddressListDialog> m_pParent;
- DECL_LINK(FindHdl_Impl, Button*, void);
- DECL_LINK(FindEnableHdl_Impl, Edit&, void);
- DECL_LINK(CloseHdl_Impl, Button*, void);
+ std::unique_ptr<weld::Entry> m_xFindED;
+ std::unique_ptr<weld::CheckButton> m_xFindOnlyCB;
+ std::unique_ptr<weld::ComboBox> m_xFindOnlyLB;
+ std::unique_ptr<weld::Button> m_xFindPB;
+ std::unique_ptr<weld::Button> m_xCancel;
+
+ DECL_LINK(FindHdl_Impl, weld::Button&, void);
+ DECL_LINK(FindEnableHdl_Impl, weld::Entry&, void);
+ DECL_LINK(CloseHdl_Impl, weld::Button&, void);
public:
SwFindEntryDialog(SwCreateAddressListDialog* pParent);
virtual ~SwFindEntryDialog() override;
- virtual void dispose() override;
- ListBox& GetFieldsListBox()
+ void show(bool bShow = true) { m_xDialog->show(bShow); }
+ bool get_visible() const { return m_xDialog->get_visible(); }
+
+ weld::ComboBox& GetFieldsListBox()
{
- return *m_pFindOnlyLB;
+ return *m_xFindOnlyLB;
}
};
diff --git a/sw/uiconfig/swriter/ui/findentrydialog.ui b/sw/uiconfig/swriter/ui/findentrydialog.ui
index ce29439e4336..cb57e2aad4aa 100644
--- a/sw/uiconfig/swriter/ui/findentrydialog.ui
+++ b/sw/uiconfig/swriter/ui/findentrydialog.ui
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
<interface domain="sw">
- <!-- interface-requires gtk+ 3.0 -->
+ <requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="FindEntryDialog">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
<property name="border_width">6</property>
- <property name="title" translatable="yes" context="findentrydialog|FindEntryDialog">Find Entry</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="visible">True</property>
@@ -87,16 +91,14 @@
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="findentrydialog|label1">F_ind</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>
@@ -104,20 +106,17 @@
<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>
<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>
@@ -141,8 +140,6 @@
<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>
@@ -150,8 +147,6 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">12</property>
- <property name="entry_text_column">0</property>
- <property name="id_column">1</property>
<accessibility>
<relation type="labelled-by" target="findin"/>
</accessibility>
@@ -159,16 +154,12 @@
<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>
</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>
</object>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index f1d69a509e2d..d935dc672c8b 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -2210,6 +2210,12 @@ public:
return GtkToVcl(ret);
}
+ virtual void show() override
+ {
+ sort_native_button_order(GTK_BOX(gtk_dialog_get_action_area(m_pDialog)));
+ gtk_widget_show(m_pWidget);
+ }
+
static int VclToGtk(int nResponse)
{
if (nResponse == RET_OK)
More information about the Libreoffice-commits
mailing list