Kaydet (Commit) a2f6b01f authored tarafından Caolán McNamara's avatar Caolán McNamara

weld ScDeleteContentsDlg

Change-Id: Ibd3723fc615d97a4747a41e881dbad6829929c0c
Reviewed-on: https://gerrit.libreoffice.org/52833Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst b6e7e255
......@@ -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,
......
......@@ -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;
}
......
......@@ -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,
......
......@@ -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,
......
......@@ -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;
......
......@@ -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: */
......@@ -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();
......
<?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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment