diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-04-13 14:24:59 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-04-13 18:04:48 +0200 |
commit | a2f6b01f41720876ed038a25ea92d381528618ad (patch) | |
tree | d2adcb067f5e3eb676992a982baa409edae6d6c0 /sc | |
parent | b6e7e25578dbd7ed95f907e58d9e40fc51d9ddd8 (diff) |
weld ScDeleteContentsDlg
Change-Id: Ibd3723fc615d97a4747a41e881dbad6829929c0c
Reviewed-on: https://gerrit.libreoffice.org/52833
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/inc/scabstdlg.hxx | 2 | ||||
-rw-r--r-- | sc/qa/unit/screenshots/screenshots.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/attrdlg/scdlgfact.cxx | 16 | ||||
-rw-r--r-- | sc/source/ui/attrdlg/scdlgfact.hxx | 10 | ||||
-rw-r--r-- | sc/source/ui/inc/delcodlg.hxx | 35 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/delcodlg.cxx | 120 | ||||
-rw-r--r-- | sc/source/ui/view/cellsh1.cxx | 2 | ||||
-rw-r--r-- | sc/uiconfig/scalc/ui/deletecontents.ui | 8 |
8 files changed, 95 insertions, 100 deletions
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx index c2d8d757127c..3821a8f8f907 100644 --- a/sc/inc/scabstdlg.hxx +++ b/sc/inc/scabstdlg.hxx @@ -429,7 +429,7 @@ public: virtual VclPtr<AbstractScDataFormDlg> CreateScDataFormDlg(vcl::Window* pParent, ScTabViewShell* pTabViewShell) = 0; - virtual VclPtr<AbstractScDeleteContentsDlg> CreateScDeleteContentsDlg(vcl::Window* pParent) = 0; + virtual VclPtr<AbstractScDeleteContentsDlg> CreateScDeleteContentsDlg(weld::Window* pParent) = 0; virtual VclPtr<AbstractScFillSeriesDlg> CreateScFillSeriesDlg( vcl::Window* pParent, ScDocument& rDocument, FillDir eFillDir, diff --git a/sc/qa/unit/screenshots/screenshots.cxx b/sc/qa/unit/screenshots/screenshots.cxx index 3822be9358e4..d7d6a45e9231 100644 --- a/sc/qa/unit/screenshots/screenshots.cxx +++ b/sc/qa/unit/screenshots/screenshots.cxx @@ -191,7 +191,7 @@ VclPtr<VclAbstractDialog> ScScreenshotTest::createDialogByID(sal_uInt32 nID) case 6: // "modules/scalc/ui/deletecontents.ui" { - pReturnDialog = mpFact->CreateScDeleteContentsDlg(mpViewShell->GetDialogParent()); + pReturnDialog = mpFact->CreateScDeleteContentsDlg(mpViewShell->GetFrameWeld()); break; } diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index 51cce4e6b8dd..4a7925f2a33c 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -90,7 +90,12 @@ short AbstractScDeleteCellDlg_Impl::Execute() //for dataform IMPL_ABSTDLG_BASE(AbstractScDataFormDlg_Impl); -IMPL_ABSTDLG_BASE(AbstractScDeleteContentsDlg_Impl); + +short AbstractScDeleteContentsDlg_Impl::Execute() +{ + return m_xDlg->run(); +} + IMPL_ABSTDLG_BASE(AbstractScFillSeriesDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScGroupDlg_Impl); @@ -257,12 +262,12 @@ DelCellCmd AbstractScDeleteCellDlg_Impl::GetDelCellCmd() const void AbstractScDeleteContentsDlg_Impl::DisableObjects() { - pDlg->DisableObjects(); + m_xDlg->DisableObjects(); } InsertDeleteFlags AbstractScDeleteContentsDlg_Impl::GetDelContentsCmdBits() const { - return pDlg->GetDelContentsCmdBits(); + return m_xDlg->GetDelContentsCmdBits(); } FillDir AbstractScFillSeriesDlg_Impl::GetFillDir() const @@ -702,10 +707,9 @@ VclPtr<AbstractScDataFormDlg> ScAbstractDialogFactory_Impl::CreateScDataFormDlg( return VclPtr<AbstractScDataFormDlg_Impl>::Create(pDlg); } -VclPtr<AbstractScDeleteContentsDlg> ScAbstractDialogFactory_Impl::CreateScDeleteContentsDlg(vcl::Window* pParent) +VclPtr<AbstractScDeleteContentsDlg> ScAbstractDialogFactory_Impl::CreateScDeleteContentsDlg(weld::Window* pParent) { - VclPtr<ScDeleteContentsDlg> pDlg = VclPtr<ScDeleteContentsDlg>::Create(pParent, InsertDeleteFlags::NONE); - return VclPtr<AbstractScDeleteContentsDlg_Impl>::Create( pDlg ); + return VclPtr<AbstractScDeleteContentsDlg_Impl>::Create(new ScDeleteContentsDlg(pParent, InsertDeleteFlags::NONE)); } VclPtr<AbstractScFillSeriesDlg> ScAbstractDialogFactory_Impl::CreateScFillSeriesDlg( vcl::Window* pParent, diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx index 5ecd16122d38..3c056db5a36b 100644 --- a/sc/source/ui/attrdlg/scdlgfact.hxx +++ b/sc/source/ui/attrdlg/scdlgfact.hxx @@ -180,7 +180,13 @@ class AbstractScDataFormDlg_Impl : public AbstractScDataFormDlg class AbstractScDeleteContentsDlg_Impl : public AbstractScDeleteContentsDlg { - DECL_ABSTDLG_BASE( AbstractScDeleteContentsDlg_Impl,ScDeleteContentsDlg) + std::unique_ptr<ScDeleteContentsDlg> m_xDlg; +public: + explicit AbstractScDeleteContentsDlg_Impl(ScDeleteContentsDlg* p) + : m_xDlg(p) + { + } + virtual short Execute() override; virtual void DisableObjects() override; virtual InsertDeleteFlags GetDelContentsCmdBits() const override; }; @@ -453,7 +459,7 @@ public: virtual VclPtr<AbstractScDataFormDlg> CreateScDataFormDlg(vcl::Window* pParent, ScTabViewShell* pTabViewShell) override; - virtual VclPtr<AbstractScDeleteContentsDlg> CreateScDeleteContentsDlg(vcl::Window* pParent) override; + virtual VclPtr<AbstractScDeleteContentsDlg> CreateScDeleteContentsDlg(weld::Window* pParent) override; virtual VclPtr<AbstractScFillSeriesDlg> CreateScFillSeriesDlg( vcl::Window* pParent, ScDocument& rDocument, diff --git a/sc/source/ui/inc/delcodlg.hxx b/sc/source/ui/inc/delcodlg.hxx index d5df3a2add59..00910bcb2cd9 100644 --- a/sc/source/ui/inc/delcodlg.hxx +++ b/sc/source/ui/inc/delcodlg.hxx @@ -20,36 +20,33 @@ #ifndef INCLUDED_SC_SOURCE_UI_INC_DELCODLG_HXX #define INCLUDED_SC_SOURCE_UI_INC_DELCODLG_HXX -#include <vcl/dialog.hxx> -#include <vcl/button.hxx> +#include <vcl/weld.hxx> #include <global.hxx> -class ScDeleteContentsDlg : public ModalDialog +class ScDeleteContentsDlg : public weld::GenericDialogController { private: - VclPtr<CheckBox> aBtnDelAll; - VclPtr<CheckBox> aBtnDelStrings; - VclPtr<CheckBox> aBtnDelNumbers; - VclPtr<CheckBox> aBtnDelDateTime; - VclPtr<CheckBox> aBtnDelFormulas; - VclPtr<CheckBox> aBtnDelNotes; - VclPtr<CheckBox> aBtnDelAttrs; - VclPtr<CheckBox> aBtnDelObjects; - VclPtr<OKButton> aBtnOk; - - bool bObjectsDisabled; + bool m_bObjectsDisabled; + + std::unique_ptr<weld::CheckButton> m_xBtnDelAll; + std::unique_ptr<weld::CheckButton> m_xBtnDelStrings; + std::unique_ptr<weld::CheckButton> m_xBtnDelNumbers; + std::unique_ptr<weld::CheckButton> m_xBtnDelDateTime; + std::unique_ptr<weld::CheckButton> m_xBtnDelFormulas; + std::unique_ptr<weld::CheckButton> m_xBtnDelNotes; + std::unique_ptr<weld::CheckButton> m_xBtnDelAttrs; + std::unique_ptr<weld::CheckButton> m_xBtnDelObjects; + std::unique_ptr<weld::Button> m_xBtnOk; static bool bPreviousAllCheck; static InsertDeleteFlags nPreviousChecks; void DisableChecks( bool bDelAllChecked ); - DECL_LINK( DelAllHdl, Button*, void ); + DECL_LINK( DelAllHdl, weld::Button&, void ); public: - ScDeleteContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults ); - virtual ~ScDeleteContentsDlg() override; - virtual void dispose() override; + ScDeleteContentsDlg(weld::Window* pParent, InsertDeleteFlags nCheckDefaults ); + virtual ~ScDeleteContentsDlg() override; void DisableObjects(); InsertDeleteFlags GetDelContentsCmdBits() const; diff --git a/sc/source/ui/miscdlgs/delcodlg.cxx b/sc/source/ui/miscdlgs/delcodlg.cxx index 79f52c5dd2b6..5aea9e833df3 100644 --- a/sc/source/ui/miscdlgs/delcodlg.cxx +++ b/sc/source/ui/miscdlgs/delcodlg.cxx @@ -28,88 +28,70 @@ InsertDeleteFlags ScDeleteContentsDlg::nPreviousChecks = (InsertDeleteFlags::D InsertDeleteFlags::NOTE | InsertDeleteFlags::FORMULA | InsertDeleteFlags::VALUE); -ScDeleteContentsDlg::ScDeleteContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults ) : - ModalDialog ( pParent, "DeleteContentsDialog", "modules/scalc/ui/deletecontents.ui" ), - - bObjectsDisabled( false ) +ScDeleteContentsDlg::ScDeleteContentsDlg(weld::Window* pParent, InsertDeleteFlags nCheckDefaults) + : GenericDialogController(pParent, "modules/scalc/ui/deletecontents.ui", "DeleteContentsDialog") + , m_bObjectsDisabled(false) + , m_xBtnDelAll(m_xBuilder->weld_check_button("deleteall")) + , m_xBtnDelStrings(m_xBuilder->weld_check_button("text")) + , m_xBtnDelNumbers(m_xBuilder->weld_check_button("numbers")) + , m_xBtnDelDateTime(m_xBuilder->weld_check_button("datetime")) + , m_xBtnDelFormulas(m_xBuilder->weld_check_button("formulas")) + , m_xBtnDelNotes(m_xBuilder->weld_check_button("comments")) + , m_xBtnDelAttrs(m_xBuilder->weld_check_button("formats")) + , m_xBtnDelObjects(m_xBuilder->weld_check_button("objects")) + , m_xBtnOk(m_xBuilder->weld_button("ok")) { - get( aBtnDelAll, "deleteall" ); - get( aBtnDelStrings, "text" ); - get( aBtnDelNumbers, "numbers" ); - get( aBtnDelDateTime, "datetime" ); - get( aBtnDelFormulas, "formulas" ); - get( aBtnDelNotes, "comments" ); - get( aBtnDelAttrs, "formats" ); - get( aBtnDelObjects, "objects" ); - get( aBtnOk, "ok" ); - if ( nCheckDefaults != InsertDeleteFlags::NONE ) { ScDeleteContentsDlg::nPreviousChecks = nCheckDefaults; ScDeleteContentsDlg::bPreviousAllCheck = false; } - aBtnDelAll->Check ( ScDeleteContentsDlg::bPreviousAllCheck ); - aBtnDelStrings->Check ( IS_SET( InsertDeleteFlags::STRING, + m_xBtnDelAll->set_active( ScDeleteContentsDlg::bPreviousAllCheck ); + m_xBtnDelStrings->set_active( IS_SET( InsertDeleteFlags::STRING, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelNumbers->Check ( IS_SET( InsertDeleteFlags::VALUE, + m_xBtnDelNumbers->set_active( IS_SET( InsertDeleteFlags::VALUE, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelDateTime->Check( IS_SET( InsertDeleteFlags::DATETIME, + m_xBtnDelDateTime->set_active( IS_SET( InsertDeleteFlags::DATETIME, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelFormulas->Check( IS_SET( InsertDeleteFlags::FORMULA, + m_xBtnDelFormulas->set_active( IS_SET( InsertDeleteFlags::FORMULA, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelNotes->Check ( IS_SET( InsertDeleteFlags::NOTE, + m_xBtnDelNotes->set_active( IS_SET( InsertDeleteFlags::NOTE, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelAttrs->Check ( IS_SET( InsertDeleteFlags::ATTRIB, + m_xBtnDelAttrs->set_active( IS_SET( InsertDeleteFlags::ATTRIB, ScDeleteContentsDlg::nPreviousChecks ) ); - aBtnDelObjects->Check ( IS_SET( InsertDeleteFlags::OBJECTS, + m_xBtnDelObjects->set_active( IS_SET( InsertDeleteFlags::OBJECTS, ScDeleteContentsDlg::nPreviousChecks ) ); - DisableChecks( aBtnDelAll->IsChecked() ); + DisableChecks( m_xBtnDelAll->get_active() ); - aBtnDelAll->SetClickHdl( LINK( this, ScDeleteContentsDlg, DelAllHdl ) ); + m_xBtnDelAll->connect_clicked( LINK( this, ScDeleteContentsDlg, DelAllHdl ) ); } ScDeleteContentsDlg::~ScDeleteContentsDlg() { - disposeOnce(); -} - -void ScDeleteContentsDlg::dispose() -{ - aBtnDelAll.clear(); - aBtnDelStrings.clear(); - aBtnDelNumbers.clear(); - aBtnDelDateTime.clear(); - aBtnDelFormulas.clear(); - aBtnDelNotes.clear(); - aBtnDelAttrs.clear(); - aBtnDelObjects.clear(); - aBtnOk.clear(); - ModalDialog::dispose(); } InsertDeleteFlags ScDeleteContentsDlg::GetDelContentsCmdBits() const { ScDeleteContentsDlg::nPreviousChecks = InsertDeleteFlags::NONE; - if ( aBtnDelStrings->IsChecked() ) + if ( m_xBtnDelStrings->get_active() ) ScDeleteContentsDlg::nPreviousChecks = InsertDeleteFlags::STRING; - if ( aBtnDelNumbers->IsChecked() ) + if ( m_xBtnDelNumbers->get_active() ) ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::VALUE; - if ( aBtnDelDateTime->IsChecked()) + if ( m_xBtnDelDateTime->get_active()) ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::DATETIME; - if ( aBtnDelFormulas->IsChecked()) + if ( m_xBtnDelFormulas->get_active()) ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::FORMULA; - if ( aBtnDelNotes->IsChecked() ) + if ( m_xBtnDelNotes->get_active() ) ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::NOTE; - if ( aBtnDelAttrs->IsChecked() ) + if ( m_xBtnDelAttrs->get_active() ) ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::ATTRIB; - if ( aBtnDelObjects->IsChecked() ) + if ( m_xBtnDelObjects->get_active() ) ScDeleteContentsDlg::nPreviousChecks |= InsertDeleteFlags::OBJECTS; - ScDeleteContentsDlg::bPreviousAllCheck = aBtnDelAll->IsChecked(); + ScDeleteContentsDlg::bPreviousAllCheck = m_xBtnDelAll->get_active(); return ( ScDeleteContentsDlg::bPreviousAllCheck ? InsertDeleteFlags::ALL @@ -120,39 +102,39 @@ void ScDeleteContentsDlg::DisableChecks( bool bDelAllChecked ) { if ( bDelAllChecked ) { - aBtnDelStrings->Disable(); - aBtnDelNumbers->Disable(); - aBtnDelDateTime->Disable(); - aBtnDelFormulas->Disable(); - aBtnDelNotes->Disable(); - aBtnDelAttrs->Disable(); - aBtnDelObjects->Disable(); + m_xBtnDelStrings->set_sensitive(false); + m_xBtnDelNumbers->set_sensitive(false); + m_xBtnDelDateTime->set_sensitive(false); + m_xBtnDelFormulas->set_sensitive(false); + m_xBtnDelNotes->set_sensitive(false); + m_xBtnDelAttrs->set_sensitive(false); + m_xBtnDelObjects->set_sensitive(false); } else { - aBtnDelStrings->Enable(); - aBtnDelNumbers->Enable(); - aBtnDelDateTime->Enable(); - aBtnDelFormulas->Enable(); - aBtnDelNotes->Enable(); - aBtnDelAttrs->Enable(); - if (bObjectsDisabled) - aBtnDelObjects->Disable(); + m_xBtnDelStrings->set_sensitive(true); + m_xBtnDelNumbers->set_sensitive(true); + m_xBtnDelDateTime->set_sensitive(true); + m_xBtnDelFormulas->set_sensitive(true); + m_xBtnDelNotes->set_sensitive(true); + m_xBtnDelAttrs->set_sensitive(true); + if (m_bObjectsDisabled) + m_xBtnDelObjects->set_sensitive(false); else - aBtnDelObjects->Enable(); + m_xBtnDelObjects->set_sensitive(true); } } void ScDeleteContentsDlg::DisableObjects() { - bObjectsDisabled = true; - aBtnDelObjects->Check(false); - aBtnDelObjects->Disable(); + m_bObjectsDisabled = true; + m_xBtnDelObjects->set_active(false); + m_xBtnDelObjects->set_sensitive(false); } -IMPL_LINK_NOARG(ScDeleteContentsDlg, DelAllHdl, Button*, void) +IMPL_LINK_NOARG(ScDeleteContentsDlg, DelAllHdl, weld::Button&, void) { - DisableChecks( aBtnDelAll->IsChecked() ); + DisableChecks( m_xBtnDelAll->get_active() ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index 8f8b3900e260..ef8e774008b5 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -428,7 +428,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "ScAbstractFactory create fail!"); - ScopedVclPtr<AbstractScDeleteContentsDlg> pDlg(pFact->CreateScDeleteContentsDlg(pTabViewShell->GetDialogParent())); + ScopedVclPtr<AbstractScDeleteContentsDlg> pDlg(pFact->CreateScDeleteContentsDlg(pTabViewShell->GetFrameWeld())); OSL_ENSURE(pDlg, "Dialog create fail!"); ScDocument* pDoc = GetViewData()->GetDocument(); SCTAB nTab = GetViewData()->GetTabNo(); diff --git a/sc/uiconfig/scalc/ui/deletecontents.ui b/sc/uiconfig/scalc/ui/deletecontents.ui index bec70714760c..c6ec2c9c20a8 100644 --- a/sc/uiconfig/scalc/ui/deletecontents.ui +++ b/sc/uiconfig/scalc/ui/deletecontents.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="sc"> <requires lib="gtk+" version="3.18"/> <object class="GtkDialog" id="DeleteContentsDialog"> @@ -7,6 +7,9 @@ <property name="border_width">6</property> <property name="title" translatable="yes" context="deletecontents|DeleteContentsDialog">Delete Contents</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"> @@ -254,5 +257,8 @@ <action-widget response="-6">cancel</action-widget> <action-widget response="-11">help</action-widget> </action-widgets> + <child> + <placeholder/> + </child> </object> </interface> |