diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-04-09 13:03:02 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-04-09 21:48:09 +0200 |
commit | 40ca52ee802ea3992caa82f811eab124381bc121 (patch) | |
tree | 0c20f242b1900069b8af516013d57f99924b5fa4 | |
parent | 54e13125860b124535c48e93b8001cd1aab25d8f (diff) |
weld SvxSearchSimilarityDialog
Change-Id: Ifff02a6e9a9b8ce78b1e7d15f5f9a73ec2574872
Reviewed-on: https://gerrit.libreoffice.org/52631
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | cui/source/dialogs/cuifmsearch.cxx | 2 | ||||
-rw-r--r-- | cui/source/dialogs/srchxtra.cxx | 39 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.cxx | 20 | ||||
-rw-r--r-- | cui/source/factory/dlgfact.hxx | 11 | ||||
-rw-r--r-- | cui/source/inc/srchxtra.hxx | 31 | ||||
-rw-r--r-- | cui/uiconfig/ui/similaritysearchdialog.ui | 30 | ||||
-rw-r--r-- | include/svx/svxdlg.hxx | 2 | ||||
-rw-r--r-- | svx/source/dialog/srchdlg.cxx | 2 |
8 files changed, 74 insertions, 63 deletions
diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx index 69a867b4f036..cbca9ae7fa3a 100644 --- a/cui/source/dialogs/cuifmsearch.cxx +++ b/cui/source/dialogs/cuifmsearch.cxx @@ -356,7 +356,7 @@ IMPL_LINK(FmSearchDialog, OnClickedSpecialSettings, Button*, pButton, void ) SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); if (pFact) { - ScopedVclPtr<AbstractSvxSearchSimilarityDialog> pDlg(pFact->CreateSvxSearchSimilarityDialog( this, m_pSearchEngine->GetLevRelaxed(), m_pSearchEngine->GetLevOther(), + ScopedVclPtr<AbstractSvxSearchSimilarityDialog> pDlg(pFact->CreateSvxSearchSimilarityDialog(GetFrameWeld(), m_pSearchEngine->GetLevRelaxed(), m_pSearchEngine->GetLevOther(), m_pSearchEngine->GetLevShorter(), m_pSearchEngine->GetLevLonger() )); DBG_ASSERT( pDlg, "FmSearchDialog, OnClickedSpecialSettings: could not load the dialog!" ); if (pDlg && pDlg->Execute() == RET_OK) diff --git a/cui/source/dialogs/srchxtra.cxx b/cui/source/dialogs/srchxtra.cxx index 3e07eefc2847..beee5afea428 100644 --- a/cui/source/dialogs/srchxtra.cxx +++ b/cui/source/dialogs/srchxtra.cxx @@ -235,39 +235,22 @@ IMPL_LINK_NOARG(SvxSearchAttributeDialog, OKHdl, Button*, void) // class SvxSearchSimilarityDialog --------------------------------------- -SvxSearchSimilarityDialog::SvxSearchSimilarityDialog -( - vcl::Window* pParent, - bool bRelax, - sal_uInt16 nOther, - sal_uInt16 nShorter, - sal_uInt16 nLonger -) : - ModalDialog( pParent, "SimilaritySearchDialog", "cui/ui/similaritysearchdialog.ui" ) +SvxSearchSimilarityDialog::SvxSearchSimilarityDialog(weld::Window* pParent, bool bRelax, + sal_uInt16 nOther, sal_uInt16 nShorter, sal_uInt16 nLonger) + : GenericDialogController(pParent, "cui/ui/similaritysearchdialog.ui", "SimilaritySearchDialog") + , m_xOtherFld(m_xBuilder->weld_spin_button("otherfld")) + , m_xLongerFld(m_xBuilder->weld_spin_button("longerfld")) + , m_xShorterFld(m_xBuilder->weld_spin_button("shorterfld")) + , m_xRelaxBox(m_xBuilder->weld_check_button("relaxbox")) { - get( m_pOtherFld, "otherfld"); - get( m_pLongerFld, "longerfld"); - get( m_pShorterFld, "shorterfld"); - get( m_pRelaxBox, "relaxbox"); - - m_pOtherFld->SetValue( nOther ); - m_pShorterFld->SetValue( nShorter ); - m_pLongerFld->SetValue( nLonger ); - m_pRelaxBox->Check( bRelax ); + m_xOtherFld->set_value(nOther); + m_xShorterFld->set_value(nShorter); + m_xLongerFld->set_value(nLonger); + m_xRelaxBox->set_active(bRelax); } SvxSearchSimilarityDialog::~SvxSearchSimilarityDialog() { - disposeOnce(); -} - -void SvxSearchSimilarityDialog::dispose() -{ - m_pOtherFld.clear(); - m_pLongerFld.clear(); - m_pShorterFld.clear(); - m_pRelaxBox.clear(); - ModalDialog::dispose(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx index 091c920b9c5a..2002a4339183 100644 --- a/cui/source/factory/dlgfact.cxx +++ b/cui/source/factory/dlgfact.cxx @@ -113,7 +113,12 @@ IMPL_ABSTDLG_BASE(AbstractTitleDialog_Impl); IMPL_ABSTDLG_BASE(AbstractScriptSelectorDialog_Impl); IMPL_ABSTDLG_BASE(AbstractGalleryIdDialog_Impl); IMPL_ABSTDLG_BASE(AbstractURLDlg_Impl); -IMPL_ABSTDLG_BASE(AbstractSvxSearchSimilarityDialog_Impl); + +short AbstractSvxSearchSimilarityDialog_Impl::Execute() +{ + return m_xDlg->run(); +} + IMPL_ABSTDLG_BASE(AbstractSvxTransformTabDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSvxCaptionDialog_Impl); IMPL_ABSTDLG_BASE(AbstractSvxJSearchOptionsDialog_Impl); @@ -498,22 +503,22 @@ OUString AbstractURLDlg_Impl::GetName() const sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetOther() { - return pDlg->GetOther(); + return m_xDlg->GetOther(); } sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetShorter() { - return pDlg->GetShorter(); + return m_xDlg->GetShorter(); } sal_uInt16 AbstractSvxSearchSimilarityDialog_Impl::GetLonger() { - return pDlg->GetLonger(); + return m_xDlg->GetLonger(); } bool AbstractSvxSearchSimilarityDialog_Impl::IsRelaxed() { - return pDlg->IsRelaxed(); + return m_xDlg->IsRelaxed(); } // AbstractSvxTransformTabDialog implementations just forwards everything to the dialog @@ -1074,14 +1079,13 @@ VclPtr<VclAbstractDialog> AbstractDialogFactory_Impl::CreateSvxSearchAttributeDi return VclPtr<CuiVclAbstractDialog_Impl>::Create( pDlg ); } -VclPtr<AbstractSvxSearchSimilarityDialog> AbstractDialogFactory_Impl::CreateSvxSearchSimilarityDialog( vcl::Window* pParent, +VclPtr<AbstractSvxSearchSimilarityDialog> AbstractDialogFactory_Impl::CreateSvxSearchSimilarityDialog(weld::Window* pParent, bool bRelax, sal_uInt16 nOther, sal_uInt16 nShorter, sal_uInt16 nLonger) { - VclPtrInstance<SvxSearchSimilarityDialog> pDlg( pParent, bRelax, nOther, nShorter, nLonger ); - return VclPtr<AbstractSvxSearchSimilarityDialog_Impl>::Create( pDlg ); + return VclPtr<AbstractSvxSearchSimilarityDialog_Impl>::Create(new SvxSearchSimilarityDialog(pParent, bRelax, nOther, nShorter, nLonger)); } VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSvxBorderBackgroundDlg( diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx index e9ea89b340e3..731b37a27530 100644 --- a/cui/source/factory/dlgfact.hxx +++ b/cui/source/factory/dlgfact.hxx @@ -251,7 +251,14 @@ class AbstractURLDlg_Impl :public AbstractURLDlg class SvxSearchSimilarityDialog; class AbstractSvxSearchSimilarityDialog_Impl :public AbstractSvxSearchSimilarityDialog { - DECL_ABSTDLG_BASE(AbstractSvxSearchSimilarityDialog_Impl,SvxSearchSimilarityDialog) +protected: + std::unique_ptr<SvxSearchSimilarityDialog> m_xDlg; +public: + explicit AbstractSvxSearchSimilarityDialog_Impl(SvxSearchSimilarityDialog* p) + : m_xDlg(p) + { + } + virtual short Execute() override; virtual sal_uInt16 GetOther() override; virtual sal_uInt16 GetShorter() override; virtual sal_uInt16 GetLonger() override; @@ -618,7 +625,7 @@ public: virtual VclPtr<VclAbstractDialog> CreateSvxSearchAttributeDialog( vcl::Window* pParent, SearchAttrItemList& rLst, const sal_uInt16* pWhRanges) override; - virtual VclPtr<AbstractSvxSearchSimilarityDialog> CreateSvxSearchSimilarityDialog( vcl::Window* pParent, + virtual VclPtr<AbstractSvxSearchSimilarityDialog> CreateSvxSearchSimilarityDialog( weld::Window* pParent, bool bRelax, sal_uInt16 nOther, sal_uInt16 nShorter, diff --git a/cui/source/inc/srchxtra.hxx b/cui/source/inc/srchxtra.hxx index 1c0656f6574b..0e8442d39c71 100644 --- a/cui/source/inc/srchxtra.hxx +++ b/cui/source/inc/srchxtra.hxx @@ -20,6 +20,7 @@ #define INCLUDED_CUI_SOURCE_INC_SRCHXTRA_HXX #include <vcl/field.hxx> +#include <vcl/weld.hxx> #include <svtools/ctrltool.hxx> #include <sfx2/tabdlg.hxx> @@ -65,30 +66,28 @@ private: // class SvxSearchSimilarityDialog --------------------------------------- -class SvxSearchSimilarityDialog : public ModalDialog +class SvxSearchSimilarityDialog : public weld::GenericDialogController { private: - VclPtr<NumericField> m_pOtherFld; - VclPtr<NumericField> m_pLongerFld; - VclPtr<NumericField> m_pShorterFld; - VclPtr<CheckBox> m_pRelaxBox; + std::unique_ptr<weld::SpinButton> m_xOtherFld; + std::unique_ptr<weld::SpinButton> m_xLongerFld; + std::unique_ptr<weld::SpinButton> m_xShorterFld; + std::unique_ptr<weld::CheckButton> m_xRelaxBox; public: - SvxSearchSimilarityDialog( vcl::Window* pParent, - bool bRelax, - sal_uInt16 nOther, - sal_uInt16 nShorter, - sal_uInt16 nLonger ); + SvxSearchSimilarityDialog(weld::Window* pParent, + bool bRelax, + sal_uInt16 nOther, + sal_uInt16 nShorter, + sal_uInt16 nLonger); virtual ~SvxSearchSimilarityDialog() override; - virtual void dispose() override; - sal_uInt16 GetOther() { return static_cast<sal_uInt16>(m_pOtherFld->GetValue()); } - sal_uInt16 GetShorter() { return static_cast<sal_uInt16>(m_pShorterFld->GetValue()); } - sal_uInt16 GetLonger() { return static_cast<sal_uInt16>(m_pLongerFld->GetValue()); } - bool IsRelaxed() { return m_pRelaxBox->IsChecked(); } + sal_uInt16 GetOther() { return static_cast<sal_uInt16>(m_xOtherFld->get_value()); } + sal_uInt16 GetShorter() { return static_cast<sal_uInt16>(m_xShorterFld->get_value()); } + sal_uInt16 GetLonger() { return static_cast<sal_uInt16>(m_xLongerFld->get_value()); } + bool IsRelaxed() { return m_xRelaxBox->get_active(); } }; - #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/uiconfig/ui/similaritysearchdialog.ui b/cui/uiconfig/ui/similaritysearchdialog.ui index 883c1ffb454b..12bfab037b6b 100644 --- a/cui/uiconfig/ui/similaritysearchdialog.ui +++ b/cui/uiconfig/ui/similaritysearchdialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.20.4 --> <interface domain="cui"> <requires lib="gtk+" version="3.18"/> <object class="GtkAdjustment" id="adjustment1"> @@ -8,11 +8,26 @@ <property name="step_increment">1</property> <property name="page_increment">10</property> </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">30</property> + <property name="value">1</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">30</property> + <property name="value">1</property> + <property name="step_increment">1</property> + <property name="page_increment">10</property> + </object> <object class="GtkDialog" id="SimilaritySearchDialog"> <property name="can_focus">False</property> <property name="border_width">6</property> <property name="title" translatable="yes" context="similaritysearchdialog|SimilaritySearchDialog">Similarity Search</property> <property name="resizable">False</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"> @@ -91,10 +106,10 @@ <object class="GtkLabel" id="label2"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">1</property> <property name="label" translatable="yes" context="similaritysearchdialog|label2">_Exchange characters:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">otherfld</property> + <property name="xalign">1</property> </object> <packing> <property name="left_attach">0</property> @@ -105,10 +120,10 @@ <object class="GtkLabel" id="label3"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">1</property> <property name="label" translatable="yes" context="similaritysearchdialog|label3">_Add characters:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">longerfld</property> + <property name="xalign">1</property> </object> <packing> <property name="left_attach">0</property> @@ -119,10 +134,10 @@ <object class="GtkLabel" id="label4"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="xalign">1</property> <property name="label" translatable="yes" context="similaritysearchdialog|label4">_Remove characters:</property> <property name="use_underline">True</property> <property name="mnemonic_widget">shorterfld</property> + <property name="xalign">1</property> </object> <packing> <property name="left_attach">0</property> @@ -160,7 +175,7 @@ <object class="GtkSpinButton" id="longerfld"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">adjustment1</property> + <property name="adjustment">adjustment2</property> </object> <packing> <property name="left_attach">1</property> @@ -171,7 +186,7 @@ <object class="GtkSpinButton" id="shorterfld"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">adjustment1</property> + <property name="adjustment">adjustment3</property> </object> <packing> <property name="left_attach">1</property> @@ -192,5 +207,8 @@ <action-widget response="-6">cancel</action-widget> <action-widget response="-11">help</action-widget> </action-widgets> + <child> + <placeholder/> + </child> </object> </interface> diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx index ae84bb361a92..511677c923ba 100644 --- a/include/svx/svxdlg.hxx +++ b/include/svx/svxdlg.hxx @@ -370,7 +370,7 @@ public: virtual VclPtr<VclAbstractDialog> CreateSvxSearchAttributeDialog( vcl::Window* pParent, SearchAttrItemList& rLst, const sal_uInt16* pWhRanges)=0; - virtual VclPtr<AbstractSvxSearchSimilarityDialog> CreateSvxSearchSimilarityDialog( vcl::Window* pParent, + virtual VclPtr<AbstractSvxSearchSimilarityDialog> CreateSvxSearchSimilarityDialog( weld::Window* pParent, bool bRelax, sal_uInt16 nOther, sal_uInt16 nShorter, diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx index eb5787575771..628d9c939e64 100644 --- a/svx/source/dialog/srchdlg.cxx +++ b/svx/source/dialog/srchdlg.cxx @@ -1396,7 +1396,7 @@ IMPL_LINK( SvxSearchDialog, CommandHdl_Impl, Button *, pBtn, void ) SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); if(pFact) { - ScopedVclPtr<AbstractSvxSearchSimilarityDialog> pDlg(pFact->CreateSvxSearchSimilarityDialog( this, + ScopedVclPtr<AbstractSvxSearchSimilarityDialog> pDlg(pFact->CreateSvxSearchSimilarityDialog(GetFrameWeld(), pSearchItem->IsLEVRelaxed(), pSearchItem->GetLEVOther(), pSearchItem->GetLEVShorter(), |