diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-05-19 15:46:09 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-05-19 21:36:44 +0200 |
commit | 0ab9c2f1d763dd805eb63ba3a5ffa16e63bf7734 (patch) | |
tree | 6d91210941e14752fb30aab6fd1dd795047b59ce | |
parent | 6815067b75ab79c050d07693a9a1b7e306a4af1b (diff) |
use toggle instead of click for RadioButton
only listen for one toggle for the button grouping
Change-Id: I4c7f84eda2dfdb873371ae7ba8ede710f373dbda
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115819
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sc/source/ui/inc/crnrdlg.hxx | 3 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/crnrdlg.cxx | 57 |
2 files changed, 27 insertions, 33 deletions
diff --git a/sc/source/ui/inc/crnrdlg.hxx b/sc/source/ui/inc/crnrdlg.hxx index eaf0d1eb4598..6162eb3f76ca 100644 --- a/sc/source/ui/inc/crnrdlg.hxx +++ b/sc/source/ui/inc/crnrdlg.hxx @@ -83,8 +83,7 @@ private: DECL_LINK( RemoveBtnHdl, weld::Button&, void ); DECL_LINK( Range1SelectHdl, weld::TreeView&, void ); DECL_LINK( Range1DataModifyHdl, formula::RefEdit&, void ); - DECL_LINK( ColClickHdl, weld::Button&, void ); - DECL_LINK( RowClickHdl, weld::Button&, void ); + DECL_LINK( ColRowToggleHdl, weld::ToggleButton&, void ); DECL_LINK( Range2DataModifyHdl, formula::RefEdit&, void ); DECL_LINK( GetEditFocusHdl, formula::RefEdit&, void ); DECL_LINK( LoseEditFocusHdl, formula::RefEdit&, void ); diff --git a/sc/source/ui/miscdlgs/crnrdlg.cxx b/sc/source/ui/miscdlgs/crnrdlg.cxx index c037405ef078..09ca326e6d9a 100644 --- a/sc/source/ui/miscdlgs/crnrdlg.cxx +++ b/sc/source/ui/miscdlgs/crnrdlg.cxx @@ -102,8 +102,7 @@ void ScColRowNameRangesDlg::Init() m_xBtnRemove->connect_clicked ( LINK( this, ScColRowNameRangesDlg, RemoveBtnHdl ) ); m_xLbRange->connect_changed( LINK( this, ScColRowNameRangesDlg, Range1SelectHdl ) ); m_xEdAssign->SetModifyHdl ( LINK( this, ScColRowNameRangesDlg, Range1DataModifyHdl ) ); - m_xBtnColHead->connect_clicked ( LINK( this, ScColRowNameRangesDlg, ColClickHdl ) ); - m_xBtnRowHead->connect_clicked ( LINK( this, ScColRowNameRangesDlg, RowClickHdl ) ); + m_xBtnColHead->connect_toggled ( LINK( this, ScColRowNameRangesDlg, ColRowToggleHdl ) ); m_xEdAssign2->SetModifyHdl ( LINK( this, ScColRowNameRangesDlg, Range2DataModifyHdl ) ); Link<formula::RefEdit&,void> aEditLink = LINK( this, ScColRowNameRangesDlg, GetEditFocusHdl ); @@ -729,40 +728,36 @@ IMPL_LINK_NOARG(ScColRowNameRangesDlg, Range2DataModifyHdl, formula::RefEdit&, v } } -// handler for the radio button for columns, adjust ranges -IMPL_LINK_NOARG(ScColRowNameRangesDlg, ColClickHdl, weld::Button&, void) +IMPL_LINK_NOARG(ScColRowNameRangesDlg, ColRowToggleHdl, weld::ToggleButton&, void) { - if (!m_xBtnColHead->get_active()) - return; - - if ( theCurArea.aStart.Row() == 0 && theCurArea.aEnd.Row() == rDoc.MaxRow() ) + if (m_xBtnColHead->get_active()) { - theCurArea.aEnd.SetRow( rDoc.MaxRow() - 1 ); - OUString aStr(theCurArea.Format(rDoc, ScRefFlags::RANGE_ABS_3D, rDoc.GetAddressConvention())); - m_xEdAssign->SetText( aStr ); + // handler for the radio button for columns, adjust ranges + if ( theCurArea.aStart.Row() == 0 && theCurArea.aEnd.Row() == rDoc.MaxRow() ) + { + theCurArea.aEnd.SetRow( rDoc.MaxRow() - 1 ); + OUString aStr(theCurArea.Format(rDoc, ScRefFlags::RANGE_ABS_3D, rDoc.GetAddressConvention())); + m_xEdAssign->SetText( aStr ); + } + ScRange aRange( theCurData ); + aRange.aStart.SetRow( std::min( static_cast<tools::Long>(theCurArea.aEnd.Row() + 1), static_cast<tools::Long>(rDoc.MaxRow()) ) ); + aRange.aEnd.SetRow( rDoc.MaxRow() ); + AdjustColRowData( aRange ); } - ScRange aRange( theCurData ); - aRange.aStart.SetRow( std::min( static_cast<tools::Long>(theCurArea.aEnd.Row() + 1), static_cast<tools::Long>(rDoc.MaxRow()) ) ); - aRange.aEnd.SetRow( rDoc.MaxRow() ); - AdjustColRowData( aRange ); -} - -// handler for the radio button for columns, adjust range -IMPL_LINK_NOARG(ScColRowNameRangesDlg, RowClickHdl, weld::Button&, void) -{ - if (!m_xBtnRowHead->get_active()) - return; - - if ( theCurArea.aStart.Col() == 0 && theCurArea.aEnd.Col() == rDoc.MaxCol() ) + else if (m_xBtnRowHead->get_active()) { - theCurArea.aEnd.SetCol( rDoc.MaxCol() - 1 ); - OUString aStr(theCurArea.Format(rDoc, ScRefFlags::RANGE_ABS_3D, rDoc.GetAddressConvention())); - m_xEdAssign->SetText( aStr ); + // handler for the radio button for columns, adjust range + if ( theCurArea.aStart.Col() == 0 && theCurArea.aEnd.Col() == rDoc.MaxCol() ) + { + theCurArea.aEnd.SetCol( rDoc.MaxCol() - 1 ); + OUString aStr(theCurArea.Format(rDoc, ScRefFlags::RANGE_ABS_3D, rDoc.GetAddressConvention())); + m_xEdAssign->SetText( aStr ); + } + ScRange aRange( theCurData ); + aRange.aStart.SetCol( static_cast<SCCOL>(std::min( static_cast<tools::Long>(theCurArea.aEnd.Col() + 1), static_cast<tools::Long>(rDoc.MaxCol()) )) ); + aRange.aEnd.SetCol( rDoc.MaxCol() ); + AdjustColRowData( aRange ); } - ScRange aRange( theCurData ); - aRange.aStart.SetCol( static_cast<SCCOL>(std::min( static_cast<tools::Long>(theCurArea.aEnd.Col() + 1), static_cast<tools::Long>(rDoc.MaxCol()) )) ); - aRange.aEnd.SetCol( rDoc.MaxCol() ); - AdjustColRowData( aRange ); } IMPL_LINK( ScColRowNameRangesDlg, GetEditFocusHdl, formula::RefEdit&, rCtrl, void ) |