sc/inc/scabstdlg.hxx                   |    2 
 sc/qa/unit/screenshots/screenshots.cxx |    2 
 sc/source/ui/attrdlg/scdlgfact.cxx     |   16 ++--
 sc/source/ui/attrdlg/scdlgfact.hxx     |   10 ++
 sc/source/ui/inc/delcodlg.hxx          |   35 ++++-----
 sc/source/ui/miscdlgs/delcodlg.cxx     |  120 ++++++++++++++-------------------
 sc/source/ui/view/cellsh1.cxx          |    2 
 sc/uiconfig/scalc/ui/deletecontents.ui |    8 +-
 8 files changed, 95 insertions(+), 100 deletions(-)

New commits:
commit a2f6b01f41720876ed038a25ea92d381528618ad
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Apr 13 14:24:59 2018 +0100

    weld ScDeleteContentsDlg
    
    Change-Id: Ibd3723fc615d97a4747a41e881dbad6829929c0c
    Reviewed-on: https://gerrit.libreoffice.org/52833
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

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>
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to