summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-04-13 14:24:59 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-04-13 18:04:48 +0200
commita2f6b01f41720876ed038a25ea92d381528618ad (patch)
treed2adcb067f5e3eb676992a982baa409edae6d6c0
parentb6e7e25578dbd7ed95f907e58d9e40fc51d9ddd8 (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>
-rw-r--r--sc/inc/scabstdlg.hxx2
-rw-r--r--sc/qa/unit/screenshots/screenshots.cxx2
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.cxx16
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.hxx10
-rw-r--r--sc/source/ui/inc/delcodlg.hxx35
-rw-r--r--sc/source/ui/miscdlgs/delcodlg.cxx120
-rw-r--r--sc/source/ui/view/cellsh1.cxx2
-rw-r--r--sc/uiconfig/scalc/ui/deletecontents.ui8
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>