From 88afd50a8a8252585dfa63e5470fd1f840682884 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Wed, 16 May 2018 16:49:31 +0100 Subject: weld ScInsertContentsDlg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I432048f086e4aa49ebac6a6cdafd1e11c3832ab0 Reviewed-on: https://gerrit.libreoffice.org/54445 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- sc/inc/scabstdlg.hxx | 4 +- sc/qa/unit/screenshots/screenshots.cxx | 2 +- sc/source/ui/attrdlg/scdlgfact.cxx | 33 ++-- sc/source/ui/attrdlg/scdlgfact.hxx | 12 +- sc/source/ui/inc/inscodlg.hxx | 70 ++++--- sc/source/ui/miscdlgs/inscodlg.cxx | 321 +++++++++++++++------------------ sc/source/ui/view/cellsh1.cxx | 6 +- sc/uiconfig/scalc/ui/pastespecial.ui | 34 ++-- 8 files changed, 229 insertions(+), 253 deletions(-) (limited to 'sc') diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx index 88af9b1ccb4c..cbdc8ea312f5 100644 --- a/sc/inc/scabstdlg.hxx +++ b/sc/inc/scabstdlg.hxx @@ -444,8 +444,8 @@ public: virtual VclPtr CreateScInsertCellDlg(weld::Window* pParent, bool bDisallowCellMove) = 0; - virtual VclPtr CreateScInsertContentsDlg( vcl::Window* pParent, - const OUString* pStrTitle = nullptr ) = 0; + virtual VclPtr CreateScInsertContentsDlg(weld::Window* pParent, + const OUString* pStrTitle = nullptr) = 0; virtual VclPtr CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData, SCTAB nTabCount, bool bFromFile) = 0; diff --git a/sc/qa/unit/screenshots/screenshots.cxx b/sc/qa/unit/screenshots/screenshots.cxx index b1aadf398899..70d75047cbda 100644 --- a/sc/qa/unit/screenshots/screenshots.cxx +++ b/sc/qa/unit/screenshots/screenshots.cxx @@ -166,7 +166,7 @@ VclPtr ScScreenshotTest::createDialogByID(sal_uInt32 nID) case 2: // "modules/scalc/ui/pastespecial.ui" { - pReturnDialog = mpFact->CreateScInsertContentsDlg(mpViewShell->GetDialogParent()); + pReturnDialog = mpFact->CreateScInsertContentsDlg(mpViewShell->GetFrameWeld()); break; } diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx index d00b2d76f0a0..82f096e5b5bc 100644 --- a/sc/source/ui/attrdlg/scdlgfact.cxx +++ b/sc/source/ui/attrdlg/scdlgfact.cxx @@ -111,7 +111,11 @@ short AbstractScInsertCellDlg_Impl::Execute() return m_xDlg->run(); } -IMPL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl); +short AbstractScInsertContentsDlg_Impl::Execute() +{ + return m_xDlg->run(); +} + IMPL_ABSTDLG_BASE(AbstractScInsertTableDlg_Impl); IMPL_ABSTDLG_BASE(AbstractScSelEntryDlg_Impl); @@ -342,52 +346,52 @@ InsCellCmd AbstractScInsertCellDlg_Impl::GetInsCellCmd() const InsertDeleteFlags AbstractScInsertContentsDlg_Impl::GetInsContentsCmdBits() const { - return pDlg->GetInsContentsCmdBits(); + return m_xDlg->GetInsContentsCmdBits(); } ScPasteFunc AbstractScInsertContentsDlg_Impl::GetFormulaCmdBits() const { - return pDlg->GetFormulaCmdBits(); + return m_xDlg->GetFormulaCmdBits(); } bool AbstractScInsertContentsDlg_Impl::IsSkipEmptyCells() const { - return pDlg->IsSkipEmptyCells(); + return m_xDlg->IsSkipEmptyCells(); } bool AbstractScInsertContentsDlg_Impl::IsLink() const { - return pDlg->IsLink(); + return m_xDlg->IsLink(); } void AbstractScInsertContentsDlg_Impl::SetFillMode( bool bSet ) { - pDlg->SetFillMode( bSet ); + m_xDlg->SetFillMode( bSet ); } void AbstractScInsertContentsDlg_Impl::SetOtherDoc( bool bSet ) { - pDlg->SetOtherDoc( bSet ); + m_xDlg->SetOtherDoc( bSet ); } bool AbstractScInsertContentsDlg_Impl::IsTranspose() const { - return pDlg->IsTranspose(); + return m_xDlg->IsTranspose(); } void AbstractScInsertContentsDlg_Impl::SetChangeTrack( bool bSet ) { - pDlg->SetChangeTrack( bSet ); + m_xDlg->SetChangeTrack( bSet ); } void AbstractScInsertContentsDlg_Impl::SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) { - pDlg->SetCellShiftDisabled( nDisable ); + m_xDlg->SetCellShiftDisabled( nDisable ); } InsCellCmd AbstractScInsertContentsDlg_Impl::GetMoveMode() { - return pDlg->GetMoveMode(); + return m_xDlg->GetMoveMode(); } bool AbstractScInsertTableDlg_Impl::GetTablesFromFile() @@ -751,11 +755,10 @@ VclPtr ScAbstractDialogFactory_Impl::CreateScInsertCell return VclPtr::Create(new ScInsertCellDlg(pParent, bDisallowCellMove)); } -VclPtr ScAbstractDialogFactory_Impl::CreateScInsertContentsDlg( vcl::Window* pParent, - const OUString* pStrTitle ) +VclPtr ScAbstractDialogFactory_Impl::CreateScInsertContentsDlg(weld::Window* pParent, + const OUString* pStrTitle) { - VclPtr pDlg = VclPtr::Create(pParent, InsertDeleteFlags::NONE, pStrTitle); - return VclPtr::Create( pDlg ); + return VclPtr::Create(new ScInsertContentsDlg(pParent, InsertDeleteFlags::NONE, pStrTitle)); } VclPtr ScAbstractDialogFactory_Impl::CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData, diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx index f0fdfbf67fa2..4f3d55907e81 100644 --- a/sc/source/ui/attrdlg/scdlgfact.hxx +++ b/sc/source/ui/attrdlg/scdlgfact.hxx @@ -236,7 +236,13 @@ public: class AbstractScInsertContentsDlg_Impl : public AbstractScInsertContentsDlg { - DECL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl, ScInsertContentsDlg) + std::unique_ptr m_xDlg; +public: + explicit AbstractScInsertContentsDlg_Impl(ScInsertContentsDlg* p) + : m_xDlg(p) + { + } + virtual short Execute() override; virtual InsertDeleteFlags GetInsContentsCmdBits() const override; virtual ScPasteFunc GetFormulaCmdBits() const override; virtual bool IsSkipEmptyCells() const override; @@ -505,8 +511,8 @@ public: virtual VclPtr CreateScInsertCellDlg(weld::Window* pParent, bool bDisallowCellMove) override; - virtual VclPtr CreateScInsertContentsDlg( vcl::Window* pParent, - const OUString* pStrTitle = nullptr ) override; + virtual VclPtr CreateScInsertContentsDlg(weld::Window* pParent, + const OUString* pStrTitle = nullptr) override; virtual VclPtr CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData, SCTAB nTabCount, bool bFromFile) override; diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx index a9216cc6421e..654fd164ae47 100644 --- a/sc/source/ui/inc/inscodlg.hxx +++ b/sc/source/ui/inc/inscodlg.hxx @@ -20,21 +20,18 @@ #ifndef INCLUDED_SC_SOURCE_UI_INC_INSCODLG_HXX #define INCLUDED_SC_SOURCE_UI_INC_INSCODLG_HXX -#include -#include -#include +#include #include #include "scui_def.hxx" -class ScInsertContentsDlg : public ModalDialog +class ScInsertContentsDlg : public weld::GenericDialogController { public: - ScInsertContentsDlg( vcl::Window* pParent, + ScInsertContentsDlg( weld::Window* pParent, InsertDeleteFlags nCheckDefaults, const OUString* pStrTitle ); virtual ~ScInsertContentsDlg() override; - virtual void dispose() override; InsertDeleteFlags GetInsContentsCmdBits() const; ScPasteFunc GetFormulaCmdBits() const; @@ -49,33 +46,6 @@ public: void SetCellShiftDisabled( CellShiftDisabledFlags nDisable ); private: - VclPtr mpBtnInsAll; - VclPtr mpBtnInsStrings; - VclPtr mpBtnInsNumbers; - VclPtr mpBtnInsDateTime; - VclPtr mpBtnInsFormulas; - VclPtr mpBtnInsNotes; - VclPtr mpBtnInsAttrs; - VclPtr mpBtnInsObjects; - - VclPtr mpBtnSkipEmptyCells; - VclPtr mpBtnTranspose; - VclPtr mpBtnLink; - - VclPtr mpRbNoOp; - VclPtr mpRbAdd; - VclPtr mpRbSub; - VclPtr mpRbMul; - VclPtr mpRbDiv; - - VclPtr mpRbMoveNone; - VclPtr mpRbMoveDown; - VclPtr mpRbMoveRight; - - VclPtr mpBtnShortCutPasteValuesOnly; - VclPtr mpBtnShortCutPasteValuesFormats; - VclPtr mpBtnShortCutPasteTranspose; - bool bOtherDoc; bool bFillMode; bool bChangeTrack; @@ -87,6 +57,34 @@ private: bool bShortCutTranspose; InsCellCmd nShortCutMoveMode; + + std::unique_ptr mxBtnInsAll; + std::unique_ptr mxBtnInsStrings; + std::unique_ptr mxBtnInsNumbers; + std::unique_ptr mxBtnInsDateTime; + std::unique_ptr mxBtnInsFormulas; + std::unique_ptr mxBtnInsNotes; + std::unique_ptr mxBtnInsAttrs; + std::unique_ptr mxBtnInsObjects; + + std::unique_ptr mxBtnSkipEmptyCells; + std::unique_ptr mxBtnTranspose; + std::unique_ptr mxBtnLink; + + std::unique_ptr mxRbNoOp; + std::unique_ptr mxRbAdd; + std::unique_ptr mxRbSub; + std::unique_ptr mxRbMul; + std::unique_ptr mxRbDiv; + + std::unique_ptr mxRbMoveNone; + std::unique_ptr mxRbMoveDown; + std::unique_ptr mxRbMoveRight; + + std::unique_ptr mxBtnShortCutPasteValuesOnly; + std::unique_ptr mxBtnShortCutPasteValuesFormats; + std::unique_ptr mxBtnShortCutPasteTranspose; + static bool bPreviousAllCheck; static InsertDeleteFlags nPreviousChecks; static InsertContentsFlags nPreviousChecks2; @@ -97,9 +95,9 @@ private: void TestModes(); // Handler - DECL_LINK( InsAllHdl, Button*, void ); - DECL_LINK( LinkBtnHdl, Button*, void ); - DECL_LINK( ShortCutHdl, Button*, void ); + DECL_LINK( InsAllHdl, weld::ToggleButton&, void ); + DECL_LINK( LinkBtnHdl, weld::ToggleButton&, void ); + DECL_LINK( ShortCutHdl, weld::Button&, void ); }; #endif // INCLUDED_SC_SOURCE_UI_INC_INSCODLG_HXX diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx index 52935098d96e..5267cfd8e0db 100644 --- a/sc/source/ui/miscdlgs/inscodlg.cxx +++ b/sc/source/ui/miscdlgs/inscodlg.cxx @@ -27,46 +27,44 @@ ScPasteFunc ScInsertContentsDlg::nPreviousFormulaChecks = ScPasteFunc::NONE; InsertContentsFlags ScInsertContentsDlg::nPreviousChecks2 = InsertContentsFlags::NONE; sal_uInt16 ScInsertContentsDlg::nPreviousMoveMode = INS_NONE; // enum InsCellCmd -ScInsertContentsDlg::ScInsertContentsDlg( vcl::Window* pParent, - InsertDeleteFlags nCheckDefaults, - const OUString* pStrTitle ) - - : ModalDialog ( pParent, "PasteSpecial", "modules/scalc/ui/pastespecial.ui" ), - bOtherDoc ( false ), - bFillMode ( false ), - bChangeTrack ( false ), - bMoveDownDisabled( false ), - bMoveRightDisabled( false ), - bUsedShortCut ( false ), - nShortCutInsContentsCmdBits( InsertDeleteFlags::NONE ), - bShortCutTranspose(false), - nShortCutMoveMode(INS_NONE) +ScInsertContentsDlg::ScInsertContentsDlg(weld::Window* pParent, + InsertDeleteFlags nCheckDefaults, + const OUString* pStrTitle ) + : GenericDialogController(pParent, "modules/scalc/ui/pastespecial.ui", "PasteSpecial") + , bOtherDoc(false) + , bFillMode(false) + , bChangeTrack(false) + , bMoveDownDisabled(false) + , bMoveRightDisabled(false) + , bUsedShortCut(false) + , nShortCutInsContentsCmdBits(InsertDeleteFlags::NONE ) + , bShortCutTranspose(false) + , nShortCutMoveMode(INS_NONE) + , mxBtnInsAll(m_xBuilder->weld_check_button("paste_all")) + , mxBtnInsStrings(m_xBuilder->weld_check_button("text")) + , mxBtnInsNumbers(m_xBuilder->weld_check_button("numbers")) + , mxBtnInsDateTime(m_xBuilder->weld_check_button("datetime")) + , mxBtnInsFormulas(m_xBuilder->weld_check_button("formulas")) + , mxBtnInsNotes(m_xBuilder->weld_check_button("comments")) + , mxBtnInsAttrs(m_xBuilder->weld_check_button("formats")) + , mxBtnInsObjects(m_xBuilder->weld_check_button("objects")) + , mxBtnSkipEmptyCells(m_xBuilder->weld_check_button("skip_empty")) + , mxBtnTranspose(m_xBuilder->weld_check_button("transpose")) + , mxBtnLink(m_xBuilder->weld_check_button("link")) + , mxRbNoOp(m_xBuilder->weld_radio_button("none")) + , mxRbAdd(m_xBuilder->weld_radio_button("add")) + , mxRbSub(m_xBuilder->weld_radio_button("subtract")) + , mxRbMul(m_xBuilder->weld_radio_button("multiply")) + , mxRbDiv(m_xBuilder->weld_radio_button("divide")) + , mxRbMoveNone(m_xBuilder->weld_radio_button("no_shift")) + , mxRbMoveDown(m_xBuilder->weld_radio_button("move_down")) + , mxRbMoveRight(m_xBuilder->weld_radio_button("move_right")) + , mxBtnShortCutPasteValuesOnly(m_xBuilder->weld_button("paste_values_only")) + , mxBtnShortCutPasteValuesFormats(m_xBuilder->weld_button("paste_values_formats")) + , mxBtnShortCutPasteTranspose(m_xBuilder->weld_button("paste_transpose")) { - get( mpBtnInsAll, "paste_all" ); - get( mpBtnInsStrings, "text" ); - get( mpBtnInsNumbers, "numbers" ); - get( mpBtnInsDateTime, "datetime" ); - get( mpBtnInsFormulas, "formulas" ); - get( mpBtnInsNotes, "comments" ); - get( mpBtnInsAttrs, "formats" ); - get( mpBtnInsObjects, "objects" ); - get( mpBtnSkipEmptyCells, "skip_empty" ); - get( mpBtnTranspose, "transpose" ); - get( mpBtnLink, "link" ); - get( mpRbNoOp, "none" ); - get( mpRbAdd, "add" ); - get( mpRbSub, "subtract" ); - get( mpRbMul, "multiply" ); - get( mpRbDiv, "divide" ); - get( mpRbMoveNone, "no_shift" ); - get( mpRbMoveDown, "move_down" ); - get( mpRbMoveRight, "move_right" ); - get( mpBtnShortCutPasteValuesOnly, "paste_values_only"); - get( mpBtnShortCutPasteValuesFormats, "paste_values_formats"); - get( mpBtnShortCutPasteTranspose, "paste_transpose"); - - if ( pStrTitle ) - SetText( *pStrTitle ); + if (pStrTitle) + m_xDialog->set_title(*pStrTitle); if ( nCheckDefaults != InsertDeleteFlags::NONE ) { @@ -75,65 +73,65 @@ ScInsertContentsDlg::ScInsertContentsDlg( vcl::Window* pParent, ScInsertContentsDlg::nPreviousChecks2 = InsertContentsFlags::NONE; } - mpBtnInsAll->Check ( ScInsertContentsDlg::bPreviousAllCheck ); - mpBtnInsStrings->Check ( bool(InsertDeleteFlags::STRING & ScInsertContentsDlg::nPreviousChecks) ); - mpBtnInsNumbers->Check ( bool(InsertDeleteFlags::VALUE & ScInsertContentsDlg::nPreviousChecks) ); - mpBtnInsDateTime->Check( bool(InsertDeleteFlags::DATETIME & ScInsertContentsDlg::nPreviousChecks) ); - mpBtnInsFormulas->Check( bool(InsertDeleteFlags::FORMULA & ScInsertContentsDlg::nPreviousChecks) ); - mpBtnInsNotes->Check ( bool(InsertDeleteFlags::NOTE & ScInsertContentsDlg::nPreviousChecks) ); - mpBtnInsAttrs->Check ( (InsertDeleteFlags::ATTRIB & ScInsertContentsDlg::nPreviousChecks) == InsertDeleteFlags::ATTRIB ); - mpBtnInsObjects->Check ( bool(InsertDeleteFlags::OBJECTS & ScInsertContentsDlg::nPreviousChecks) ); + mxBtnInsAll->set_active( ScInsertContentsDlg::bPreviousAllCheck ); + mxBtnInsStrings->set_active( bool(InsertDeleteFlags::STRING & ScInsertContentsDlg::nPreviousChecks) ); + mxBtnInsNumbers->set_active( bool(InsertDeleteFlags::VALUE & ScInsertContentsDlg::nPreviousChecks) ); + mxBtnInsDateTime->set_active( bool(InsertDeleteFlags::DATETIME & ScInsertContentsDlg::nPreviousChecks) ); + mxBtnInsFormulas->set_active( bool(InsertDeleteFlags::FORMULA & ScInsertContentsDlg::nPreviousChecks) ); + mxBtnInsNotes->set_active( bool(InsertDeleteFlags::NOTE & ScInsertContentsDlg::nPreviousChecks) ); + mxBtnInsAttrs->set_active( (InsertDeleteFlags::ATTRIB & ScInsertContentsDlg::nPreviousChecks) == InsertDeleteFlags::ATTRIB ); + mxBtnInsObjects->set_active ( bool(InsertDeleteFlags::OBJECTS & ScInsertContentsDlg::nPreviousChecks) ); switch( ScInsertContentsDlg::nPreviousFormulaChecks ) { - case ScPasteFunc::NONE: mpRbNoOp->Check(); break; - case ScPasteFunc::ADD: mpRbAdd->Check(); break; - case ScPasteFunc::SUB: mpRbSub->Check(); break; - case ScPasteFunc::MUL: mpRbMul->Check(); break; - case ScPasteFunc::DIV: mpRbDiv->Check(); break; + case ScPasteFunc::NONE: mxRbNoOp->set_active(true); break; + case ScPasteFunc::ADD: mxRbAdd->set_active(true); break; + case ScPasteFunc::SUB: mxRbSub->set_active(true); break; + case ScPasteFunc::MUL: mxRbMul->set_active(true); break; + case ScPasteFunc::DIV: mxRbDiv->set_active(true); break; } switch( ScInsertContentsDlg::nPreviousMoveMode ) { - case INS_NONE: mpRbMoveNone->Check(); break; - case INS_CELLSDOWN: mpRbMoveDown->Check(); break; - case INS_CELLSRIGHT: mpRbMoveRight->Check(); break; + case INS_NONE: mxRbMoveNone->set_active(true); break; + case INS_CELLSDOWN: mxRbMoveDown->set_active(true); break; + case INS_CELLSRIGHT: mxRbMoveRight->set_active(true); break; } - mpBtnSkipEmptyCells->Check( bool( ScInsertContentsDlg::nPreviousChecks2 & InsertContentsFlags::NoEmpty )); - mpBtnTranspose->Check( bool( ScInsertContentsDlg::nPreviousChecks2 & InsertContentsFlags::Trans )); - mpBtnLink->Check( bool( ScInsertContentsDlg::nPreviousChecks2 & InsertContentsFlags::Link )); + mxBtnSkipEmptyCells->set_active( bool( ScInsertContentsDlg::nPreviousChecks2 & InsertContentsFlags::NoEmpty )); + mxBtnTranspose->set_active( bool( ScInsertContentsDlg::nPreviousChecks2 & InsertContentsFlags::Trans )); + mxBtnLink->set_active( bool( ScInsertContentsDlg::nPreviousChecks2 & InsertContentsFlags::Link )); - DisableChecks( mpBtnInsAll->IsChecked() ); + DisableChecks( mxBtnInsAll->get_active() ); - mpBtnInsAll->SetClickHdl( LINK( this, ScInsertContentsDlg, InsAllHdl ) ); - mpBtnLink->SetClickHdl( LINK( this, ScInsertContentsDlg, LinkBtnHdl ) ); + mxBtnInsAll->connect_toggled( LINK( this, ScInsertContentsDlg, InsAllHdl ) ); + mxBtnLink->connect_toggled( LINK( this, ScInsertContentsDlg, LinkBtnHdl ) ); - mpBtnShortCutPasteValuesOnly->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); - mpBtnShortCutPasteValuesFormats->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); - mpBtnShortCutPasteTranspose->SetClickHdl( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); + mxBtnShortCutPasteValuesOnly->connect_clicked( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); + mxBtnShortCutPasteValuesFormats->connect_clicked( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); + mxBtnShortCutPasteTranspose->connect_clicked( LINK( this, ScInsertContentsDlg, ShortCutHdl ) ); } InsertDeleteFlags ScInsertContentsDlg::GetInsContentsCmdBits() const { ScInsertContentsDlg::nPreviousChecks = InsertDeleteFlags::NONE; - if ( mpBtnInsStrings->IsChecked() ) + if ( mxBtnInsStrings->get_active() ) ScInsertContentsDlg::nPreviousChecks = InsertDeleteFlags::STRING; - if ( mpBtnInsNumbers->IsChecked() ) + if ( mxBtnInsNumbers->get_active() ) ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::VALUE; - if ( mpBtnInsDateTime->IsChecked()) + if ( mxBtnInsDateTime->get_active()) ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::DATETIME; - if ( mpBtnInsFormulas->IsChecked()) + if ( mxBtnInsFormulas->get_active()) ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::FORMULA; - if ( mpBtnInsNotes->IsChecked() ) + if ( mxBtnInsNotes->get_active() ) ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::NOTE; - if ( mpBtnInsAttrs->IsChecked() ) + if ( mxBtnInsAttrs->get_active() ) ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::ATTRIB; - if ( mpBtnInsObjects->IsChecked() ) + if ( mxBtnInsObjects->get_active() ) ScInsertContentsDlg::nPreviousChecks |= InsertDeleteFlags::OBJECTS; - ScInsertContentsDlg::bPreviousAllCheck = mpBtnInsAll->IsChecked(); + ScInsertContentsDlg::bPreviousAllCheck = mxBtnInsAll->get_active(); if (bUsedShortCut) return nShortCutInsContentsCmdBits; @@ -147,9 +145,9 @@ InsCellCmd ScInsertContentsDlg::GetMoveMode() { if (bUsedShortCut) return nShortCutMoveMode; - if ( mpRbMoveDown->IsChecked() ) + if ( mxRbMoveDown->get_active() ) return INS_CELLSDOWN; - if ( mpRbMoveRight->IsChecked() ) + if ( mxRbMoveRight->get_active() ) return INS_CELLSRIGHT; return INS_NONE; @@ -159,49 +157,49 @@ bool ScInsertContentsDlg::IsSkipEmptyCells() const { if (bUsedShortCut) return false; - return mpBtnSkipEmptyCells->IsChecked(); + return mxBtnSkipEmptyCells->get_active(); } bool ScInsertContentsDlg::IsTranspose() const { if (bUsedShortCut) return bShortCutTranspose; - return mpBtnTranspose->IsChecked(); + return mxBtnTranspose->get_active(); } bool ScInsertContentsDlg::IsLink() const { if (bUsedShortCut) return false; - return mpBtnLink->IsChecked(); + return mxBtnLink->get_active(); } void ScInsertContentsDlg::DisableChecks( bool bInsAllChecked ) { if ( bInsAllChecked ) { - mpBtnInsStrings->Disable(); - mpBtnInsNumbers->Disable(); - mpBtnInsDateTime->Disable(); - mpBtnInsFormulas->Disable(); - mpBtnInsNotes->Disable(); - mpBtnInsAttrs->Disable(); - mpBtnInsObjects->Disable(); + mxBtnInsStrings->set_sensitive(false); + mxBtnInsNumbers->set_sensitive(false); + mxBtnInsDateTime->set_sensitive(false); + mxBtnInsFormulas->set_sensitive(false); + mxBtnInsNotes->set_sensitive(false); + mxBtnInsAttrs->set_sensitive(false); + mxBtnInsObjects->set_sensitive(false); } else { - mpBtnInsStrings->Enable(); - mpBtnInsNumbers->Enable(); - mpBtnInsDateTime->Enable(); - mpBtnInsFormulas->Enable(); - mpBtnInsNotes->Enable(); - mpBtnInsAttrs->Enable(); + mxBtnInsStrings->set_sensitive(true); + mxBtnInsNumbers->set_sensitive(true); + mxBtnInsDateTime->set_sensitive(true); + mxBtnInsFormulas->set_sensitive(true); + mxBtnInsNotes->set_sensitive(true); + mxBtnInsAttrs->set_sensitive(true); // "Objects" is disabled for "Fill Tables" if ( bFillMode ) - mpBtnInsObjects->Disable(); + mxBtnInsObjects->set_sensitive(false); else - mpBtnInsObjects->Enable(); + mxBtnInsObjects->set_sensitive(true); } } @@ -209,39 +207,39 @@ void ScInsertContentsDlg::DisableChecks( bool bInsAllChecked ) void ScInsertContentsDlg::TestModes() { - if ( bOtherDoc && mpBtnLink->IsChecked() ) + if ( bOtherDoc && mxBtnLink->get_active() ) { - mpBtnSkipEmptyCells->Disable(); - mpBtnTranspose->Disable(); - mpRbNoOp->Disable(); - mpRbAdd->Disable(); - mpRbSub->Disable(); - mpRbMul->Disable(); - mpRbDiv->Disable(); - - mpRbMoveNone->Disable(); - mpRbMoveDown->Disable(); - mpRbMoveRight->Disable(); - - mpBtnInsAll->Disable(); + mxBtnSkipEmptyCells->set_sensitive(false); + mxBtnTranspose->set_sensitive(false); + mxRbNoOp->set_sensitive(false); + mxRbAdd->set_sensitive(false); + mxRbSub->set_sensitive(false); + mxRbMul->set_sensitive(false); + mxRbDiv->set_sensitive(false); + + mxRbMoveNone->set_sensitive(false); + mxRbMoveDown->set_sensitive(false); + mxRbMoveRight->set_sensitive(false); + + mxBtnInsAll->set_sensitive(false); DisableChecks(true); } else { - mpBtnSkipEmptyCells->Enable(); - mpBtnTranspose->Enable(!bFillMode); - mpRbNoOp->Enable(); - mpRbAdd->Enable(); - mpRbSub->Enable(); - mpRbMul->Enable(); - mpRbDiv->Enable(); - - mpRbMoveNone->Enable(!bFillMode && !bChangeTrack && !(bMoveDownDisabled && bMoveRightDisabled)); - mpRbMoveDown->Enable(!bFillMode && !bChangeTrack && !bMoveDownDisabled); - mpRbMoveRight->Enable(!bFillMode && !bChangeTrack && !bMoveRightDisabled); - - mpBtnInsAll->Enable(); - DisableChecks( mpBtnInsAll->IsChecked() ); + mxBtnSkipEmptyCells->set_sensitive(true); + mxBtnTranspose->set_sensitive(!bFillMode); + mxRbNoOp->set_sensitive(true); + mxRbAdd->set_sensitive(true); + mxRbSub->set_sensitive(true); + mxRbMul->set_sensitive(true); + mxRbDiv->set_sensitive(true); + + mxRbMoveNone->set_sensitive(!bFillMode && !bChangeTrack && !(bMoveDownDisabled && bMoveRightDisabled)); + mxRbMoveDown->set_sensitive(!bFillMode && !bChangeTrack && !bMoveDownDisabled); + mxRbMoveRight->set_sensitive(!bFillMode && !bChangeTrack && !bMoveRightDisabled); + + mxBtnInsAll->set_sensitive(true); + DisableChecks( mxBtnInsAll->get_active() ); } } @@ -252,7 +250,7 @@ void ScInsertContentsDlg::SetOtherDoc( bool bSet ) bOtherDoc = bSet; TestModes(); if ( bSet ) - mpRbMoveNone->Check(); + mxRbMoveNone->set_active(true); } } @@ -263,7 +261,7 @@ void ScInsertContentsDlg::SetFillMode( bool bSet ) bFillMode = bSet; TestModes(); if ( bSet ) - mpRbMoveNone->Check(); + mxRbMoveNone->set_active(true); } } @@ -274,7 +272,7 @@ void ScInsertContentsDlg::SetChangeTrack( bool bSet ) bChangeTrack = bSet; TestModes(); if ( bSet ) - mpRbMoveNone->Check(); + mxRbMoveNone->set_active(true); } } @@ -287,111 +285,82 @@ void ScInsertContentsDlg::SetCellShiftDisabled( CellShiftDisabledFlags nDisable bMoveDownDisabled = bDown; bMoveRightDisabled = bRight; TestModes(); - if ( bMoveDownDisabled && mpRbMoveDown->IsChecked() ) - mpRbMoveNone->Check(); - if ( bMoveRightDisabled && mpRbMoveRight->IsChecked() ) - mpRbMoveNone->Check(); + if ( bMoveDownDisabled && mxRbMoveDown->get_active() ) + mxRbMoveNone->set_active(true); + if ( bMoveRightDisabled && mxRbMoveRight->get_active() ) + mxRbMoveNone->set_active(true); } } -IMPL_LINK( ScInsertContentsDlg, ShortCutHdl, Button*, pBtn, void ) +IMPL_LINK(ScInsertContentsDlg, ShortCutHdl, weld::Button&, rBtn, void) { - if ( pBtn == mpBtnShortCutPasteValuesOnly ) + if (&rBtn == mxBtnShortCutPasteValuesOnly.get()) { bUsedShortCut = true; nShortCutInsContentsCmdBits = InsertDeleteFlags::STRING | InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME; bShortCutTranspose = false; nShortCutMoveMode = INS_NONE; - EndDialog(RET_OK); + m_xDialog->response(RET_OK); } - else if ( pBtn == mpBtnShortCutPasteValuesFormats ) + else if (&rBtn == mxBtnShortCutPasteValuesFormats.get()) { bUsedShortCut = true; nShortCutInsContentsCmdBits = InsertDeleteFlags::STRING | InsertDeleteFlags::VALUE | InsertDeleteFlags::DATETIME | InsertDeleteFlags::ATTRIB; bShortCutTranspose = false; nShortCutMoveMode = INS_NONE; - EndDialog(RET_OK); + m_xDialog->response(RET_OK); } - else if ( pBtn == mpBtnShortCutPasteTranspose ) + else if (&rBtn == mxBtnShortCutPasteTranspose.get()) { bUsedShortCut = true; nShortCutInsContentsCmdBits = InsertDeleteFlags::ALL; bShortCutTranspose = true; nShortCutMoveMode = INS_NONE; - EndDialog(RET_OK); + m_xDialog->response(RET_OK); } } - -IMPL_LINK_NOARG(ScInsertContentsDlg, InsAllHdl, Button*, void) +IMPL_LINK_NOARG(ScInsertContentsDlg, InsAllHdl, weld::ToggleButton&, void) { - DisableChecks( mpBtnInsAll->IsChecked() ); + DisableChecks( mxBtnInsAll->get_active() ); } -IMPL_LINK_NOARG(ScInsertContentsDlg, LinkBtnHdl, Button*, void) +IMPL_LINK_NOARG(ScInsertContentsDlg, LinkBtnHdl, weld::ToggleButton&, void) { TestModes(); } ScInsertContentsDlg::~ScInsertContentsDlg() -{ - disposeOnce(); -} - -void ScInsertContentsDlg::dispose() { ScInsertContentsDlg::nPreviousChecks2 = InsertContentsFlags::NONE; - if(mpBtnSkipEmptyCells->IsChecked()) + if(mxBtnSkipEmptyCells->get_active()) ScInsertContentsDlg::nPreviousChecks2 |= InsertContentsFlags::NoEmpty; - if( mpBtnTranspose->IsChecked()) + if( mxBtnTranspose->get_active()) ScInsertContentsDlg::nPreviousChecks2 |= InsertContentsFlags::Trans; - if( mpBtnLink->IsChecked() ) + if( mxBtnLink->get_active() ) ScInsertContentsDlg::nPreviousChecks2 |= InsertContentsFlags::Link; if (!bFillMode) // in FillMode, None is checked and all three options are disabled { - if ( mpRbMoveNone->IsChecked() ) + if ( mxRbMoveNone->get_active() ) ScInsertContentsDlg::nPreviousMoveMode = INS_NONE; - else if ( mpRbMoveDown->IsChecked() ) + else if ( mxRbMoveDown->get_active() ) ScInsertContentsDlg::nPreviousMoveMode = INS_CELLSDOWN; - else if ( mpRbMoveRight->IsChecked() ) + else if ( mxRbMoveRight->get_active() ) ScInsertContentsDlg::nPreviousMoveMode = INS_CELLSRIGHT; } - mpBtnInsAll.clear(); - mpBtnInsStrings.clear(); - mpBtnInsNumbers.clear(); - mpBtnInsDateTime.clear(); - mpBtnInsFormulas.clear(); - mpBtnInsNotes.clear(); - mpBtnInsAttrs.clear(); - mpBtnInsObjects.clear(); - mpBtnSkipEmptyCells.clear(); - mpBtnTranspose.clear(); - mpBtnLink.clear(); - mpRbNoOp.clear(); - mpRbAdd.clear(); - mpRbSub.clear(); - mpRbMul.clear(); - mpRbDiv.clear(); - mpRbMoveNone.clear(); - mpRbMoveDown.clear(); - mpRbMoveRight.clear(); - mpBtnShortCutPasteValuesOnly.clear(); - mpBtnShortCutPasteValuesFormats.clear(); - mpBtnShortCutPasteTranspose.clear(); - ModalDialog::dispose(); } ScPasteFunc ScInsertContentsDlg::GetFormulaCmdBits() const { ScInsertContentsDlg::nPreviousFormulaChecks = ScPasteFunc::NONE; - if(mpRbAdd->IsChecked()) + if(mxRbAdd->get_active()) ScInsertContentsDlg::nPreviousFormulaChecks = ScPasteFunc::ADD; - else if(mpRbSub->IsChecked()) + else if(mxRbSub->get_active()) ScInsertContentsDlg::nPreviousFormulaChecks = ScPasteFunc::SUB; - else if(mpRbMul->IsChecked()) + else if(mxRbMul->get_active()) ScInsertContentsDlg::nPreviousFormulaChecks = ScPasteFunc::MUL; - else if(mpRbDiv->IsChecked()) + else if(mxRbDiv->get_active()) ScInsertContentsDlg::nPreviousFormulaChecks = ScPasteFunc::DIV; if (bUsedShortCut) return ScPasteFunc::NONE; diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx index e7bab31942b6..9300fda62916 100644 --- a/sc/source/ui/view/cellsh1.cxx +++ b/sc/source/ui/view/cellsh1.cxx @@ -502,8 +502,8 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "ScAbstractFactory create fail!"); - ScopedVclPtr pDlg(pFact->CreateScInsertContentsDlg( pTabViewShell->GetDialogParent(), - new OUString(ScResId(STR_FILL_TAB)) )); + ScopedVclPtr pDlg(pFact->CreateScInsertContentsDlg(pTabViewShell->GetFrameWeld(), + new OUString(ScResId(STR_FILL_TAB)))); OSL_ENSURE(pDlg, "Dialog create fail!"); pDlg->SetFillMode(true); @@ -1384,7 +1384,7 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq ) ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create(); OSL_ENSURE(pFact, "ScAbstractFactory create fail!"); - ScopedVclPtr pDlg(pFact->CreateScInsertContentsDlg(pTabViewShell->GetDialogParent())); + ScopedVclPtr pDlg(pFact->CreateScInsertContentsDlg(pTabViewShell->GetFrameWeld())); OSL_ENSURE(pDlg, "Dialog create fail!"); pDlg->SetOtherDoc( bOtherDoc ); // if ChangeTrack MoveMode disable diff --git a/sc/uiconfig/scalc/ui/pastespecial.ui b/sc/uiconfig/scalc/ui/pastespecial.ui index 47d79292434d..bd30f94442f6 100644 --- a/sc/uiconfig/scalc/ui/pastespecial.ui +++ b/sc/uiconfig/scalc/ui/pastespecial.ui @@ -1,21 +1,21 @@ - + True False - sc/res/paste_transpose.png + sc/res/paste_transpose.png True False - sc/res/paste_values_formats.png + sc/res/paste_values_formats.png True False - sc/res/paste_values_only.png + sc/res/paste_values_only.png False @@ -23,6 +23,9 @@ Paste Special False dialog + + + False @@ -37,6 +40,7 @@ gtk-ok True True + True True True True @@ -88,7 +92,8 @@ True False - start + 6 + center True @@ -97,6 +102,7 @@ True Values Only img_paste_values_only + True True @@ -112,6 +118,7 @@ True Values & Formats img_paste_values_formats + True True @@ -127,6 +134,7 @@ True Transpose img_paste_transpose + True True @@ -346,7 +354,6 @@ 0 True True - add False @@ -362,9 +369,8 @@ False True 0 - True True - subtract + none False @@ -380,9 +386,8 @@ False True 0 - True True - multiply + none False @@ -398,9 +403,8 @@ False True 0 - True True - divide + none False @@ -416,7 +420,6 @@ False True 0 - True True none @@ -568,7 +571,6 @@ 0 True True - move_down False @@ -584,9 +586,8 @@ False True 0 - True True - move_right + no_shift False @@ -603,7 +604,6 @@ False True 0 - True True no_shift -- cgit