From 736cebb414af587e7ac82f1326b06ce4022badf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Thu, 3 May 2018 16:46:52 +0100 Subject: [PATCH] weld ScMergeCellsDialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I513f7e9b0c969706646821af508e41bb2331bbc2 Reviewed-on: https://gerrit.libreoffice.org/53809 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sc/source/ui/inc/mergecellsdialog.hxx | 15 +++++------ sc/source/ui/miscdlgs/mergecellsdialog.cxx | 30 +++++++--------------- sc/source/ui/view/viewfun2.cxx | 7 ++--- sc/uiconfig/scalc/ui/mergecellsdialog.ui | 25 ++++++++++-------- 4 files changed, 34 insertions(+), 43 deletions(-) diff --git a/sc/source/ui/inc/mergecellsdialog.hxx b/sc/source/ui/inc/mergecellsdialog.hxx index 49ef2da533b5..5fcbea926dda 100644 --- a/sc/source/ui/inc/mergecellsdialog.hxx +++ b/sc/source/ui/inc/mergecellsdialog.hxx @@ -11,9 +11,7 @@ #ifndef INCLUDED_SC_SOURCE_UI_INC_MERGECELLSDIALOG_HXX #define INCLUDED_SC_SOURCE_UI_INC_MERGECELLSDIALOG_HXX -#include -#include -#include +#include enum ScMergeCellsOption { @@ -22,16 +20,15 @@ enum ScMergeCellsOption EmptyContentHiddenCells }; -class ScMergeCellsDialog : public ModalDialog +class ScMergeCellsDialog : public weld::GenericDialogController { - VclPtr mpRBMoveContent; - VclPtr mpRBKeepContent; - VclPtr mpRBEmptyContent; + std::unique_ptr m_xRBMoveContent; + std::unique_ptr m_xRBKeepContent; + std::unique_ptr m_xRBEmptyContent; public: - ScMergeCellsDialog( vcl::Window * pParent ); + ScMergeCellsDialog(weld::Window* pParent); virtual ~ScMergeCellsDialog() override; - virtual void dispose() override; ScMergeCellsOption GetMergeCellsOption(); }; diff --git a/sc/source/ui/miscdlgs/mergecellsdialog.cxx b/sc/source/ui/miscdlgs/mergecellsdialog.cxx index aaff85bf8eaf..b936890437ab 100644 --- a/sc/source/ui/miscdlgs/mergecellsdialog.cxx +++ b/sc/source/ui/miscdlgs/mergecellsdialog.cxx @@ -10,41 +10,29 @@ #include -ScMergeCellsDialog::ScMergeCellsDialog( vcl::Window * pParent ) - : ModalDialog( pParent, "MergeCellsDialog", - "modules/scalc/ui/mergecellsdialog.ui" ) +ScMergeCellsDialog::ScMergeCellsDialog(weld::Window * pParent) + : GenericDialogController(pParent, "modules/scalc/ui/mergecellsdialog.ui", "MergeCellsDialog") + , m_xRBMoveContent(m_xBuilder->weld_radio_button("move-cells-radio")) + , m_xRBKeepContent(m_xBuilder->weld_radio_button("keep-content-radio")) + , m_xRBEmptyContent(m_xBuilder->weld_radio_button("empty-cells-radio")) { - get(mpRBMoveContent, "move-cells-radio"); - get(mpRBKeepContent, "keep-content-radio"); - get(mpRBEmptyContent, "empty-cells-radio"); - - mpRBKeepContent->Check(); + m_xRBKeepContent->set_active(true); } ScMergeCellsDialog::~ScMergeCellsDialog() { - disposeOnce(); -} - -void ScMergeCellsDialog::dispose() -{ - mpRBMoveContent.disposeAndClear(); - mpRBKeepContent.disposeAndClear(); - mpRBEmptyContent.disposeAndClear(); - ModalDialog::dispose(); } ScMergeCellsOption ScMergeCellsDialog::GetMergeCellsOption() { - if ( mpRBMoveContent->IsChecked() ) + if ( m_xRBMoveContent->get_active() ) return MoveContentHiddenCells; - if ( mpRBKeepContent->IsChecked() ) + if ( m_xRBKeepContent->get_active() ) return KeepContentHiddenCells; - if ( mpRBEmptyContent->IsChecked() ) + if ( m_xRBEmptyContent->get_active() ) return EmptyContentHiddenCells; assert(!"Unknown selection for merge cells."); return KeepContentHiddenCells; // default value - } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 956593bfd234..29da9f810ff0 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -1148,12 +1148,13 @@ bool ScViewFunc::MergeCells( bool bApi, bool& rDoContents, bool bCenter ) bool bShowDialog = officecfg::Office::Calc::Compatibility::MergeCells::ShowDialog::get(); if (!bApi && bShowDialog) { - ScopedVclPtr aBox( VclPtr::Create( GetViewData().GetDialogParent() ) ); - sal_uInt16 nRetVal = aBox->Execute(); + vcl::Window* pWin = GetViewData().GetDialogParent(); + ScMergeCellsDialog aBox(pWin ? pWin->GetFrameWeld() : nullptr); + sal_uInt16 nRetVal = aBox.run(); if ( nRetVal == RET_OK ) { - switch ( aBox->GetMergeCellsOption() ) + switch (aBox.GetMergeCellsOption()) { case MoveContentHiddenCells: rDoContents = true; diff --git a/sc/uiconfig/scalc/ui/mergecellsdialog.ui b/sc/uiconfig/scalc/ui/mergecellsdialog.ui index a7413ff396b5..028b56862846 100644 --- a/sc/uiconfig/scalc/ui/mergecellsdialog.ui +++ b/sc/uiconfig/scalc/ui/mergecellsdialog.ui @@ -1,15 +1,15 @@ - + False 6 Merge Cells + True + 0 + 0 dialog - - - False @@ -105,7 +105,6 @@ 0 0 - 1 @@ -122,7 +121,6 @@ 0 4 - 2 @@ -139,7 +137,6 @@ 0 2 - 3 @@ -150,7 +147,7 @@ 24 6 False - vcl/res/MergeFirstCell.svg + vcl/res/MergeFirstCell.svg 0 @@ -165,7 +162,7 @@ 24 6 True - vcl/res/MergeKeepHidden.svg + vcl/res/MergeKeepHidden.svg 0 @@ -179,7 +176,7 @@ start 24 True - vcl/res/MergeEmptyHidden.svg + vcl/res/MergeEmptyHidden.svg 0 @@ -195,5 +192,13 @@ + + ok + cancel + help + + + +