sc/source/ui/dbgui/sortkeydlg.cxx | 9 +++++---- sc/source/ui/dbgui/tpsort.cxx | 25 +++++++++++++------------ sc/source/ui/inc/sortkeydlg.hxx | 2 +- sc/source/ui/inc/tpsort.hxx | 1 + 4 files changed, 20 insertions(+), 17 deletions(-)
New commits: commit 42726853bb90eab11bf4fde8b0358ca3c3354529 Author: Albert Thuswaldner <albert.thuswald...@gmail.com> Date: Sat Apr 13 09:34:54 2013 +0200 Calc Sort: Introducing new method AddKeyItem to avoid code duplication Change-Id: Ic34b5958472a7d2c19ff686914309b6699e237c4 Reviewed-on: https://gerrit.libreoffice.org/3370 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/sc/source/ui/dbgui/sortkeydlg.cxx b/sc/source/ui/dbgui/sortkeydlg.cxx index 006dad5..3e09076 100644 --- a/sc/source/ui/dbgui/sortkeydlg.cxx +++ b/sc/source/ui/dbgui/sortkeydlg.cxx @@ -156,11 +156,12 @@ IMPL_LINK( ScSortKeyCtrl, ScrollHdl, ScrollBar*, pScrollBar ) // ----------------------------------------------------------------------- -void ScSortKeyCtrl::AddSortKey( sal_uInt16 nItem ) +void ScSortKeyCtrl::AddSortKey( sal_uInt16 nItemIndex ) { - m_rVertScroll.SetRangeMax( nItem ); - m_rVertScroll.DoScroll( nItem ); - m_aSortWin.AddSortKey( nItem ); + ++nItemIndex; + m_rVertScroll.SetRangeMax( nItemIndex ); + m_rVertScroll.DoScroll( nItemIndex ); + m_aSortWin.AddSortKey( nItemIndex ); checkAutoVScroll(); } diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx index 6731e71..f153cf7 100644 --- a/sc/source/ui/dbgui/tpsort.cxx +++ b/sc/source/ui/dbgui/tpsort.cxx @@ -141,10 +141,7 @@ void ScTabPageSortFields::Init() // Create three sort key dialogs by default for ( sal_uInt16 i=0; i<nSortKeyCount; i++ ) - { - maSortKeyCtrl.AddSortKey(i+1); - maSortKeyItems[i].m_pLbSort->SetSelectHdl( LINK( this, ScTabPageSortFields, SelectHdl ) ); - } + AddSortKeyItem(i); } // ----------------------------------------------------------------------- @@ -170,11 +167,8 @@ void ScTabPageSortFields::Reset( const SfxItemSet& /* rArgSet */ ) { // Make sure that the all sort keys are reset for ( sal_uInt16 i=nSortKeyCount; i<aSortData.maKeyState.size(); i++ ) - { - maSortKeyCtrl.AddSortKey(i+1); - maSortKeyItems[i].m_pLbSort->SetSelectHdl( LINK( this, - ScTabPageSortFields, SelectHdl ) ); - } + AddSortKeyItem(i); + nSortKeyCount = aSortData.maKeyState.size(); FillFieldLists(0); @@ -443,6 +437,15 @@ sal_uInt16 ScTabPageSortFields::GetFieldSelPos( SCCOLROW nField ) return nFieldPos; } +//------------------------------------------------------------------------ + +void ScTabPageSortFields::AddSortKeyItem( sal_uInt16 nItemIndex ) +{ + maSortKeyCtrl.AddSortKey( nItemIndex ); + maSortKeyItems[nItemIndex].m_pLbSort->SetSelectHdl( + LINK( this, ScTabPageSortFields, SelectHdl ) ); +} + // ----------------------------------------------------------------------- // Handler: //--------- @@ -463,9 +466,7 @@ IMPL_LINK( ScTabPageSortFields, SelectHdl, ListBox *, pLb ) // Add Sort Key Item ++nSortKeyCount; - maSortKeyCtrl.AddSortKey( nSortKeyCount ); - maSortKeyItems[nSortKeyIndex].m_pLbSort->SetSelectHdl( LINK( this, ScTabPageSortFields, SelectHdl ) ); - + AddSortKeyItem( nSortKeyIndex ); FillFieldLists( nSortKeyIndex ); // Set Status diff --git a/sc/source/ui/inc/sortkeydlg.hxx b/sc/source/ui/inc/sortkeydlg.hxx index 060e8ad..7718663 100644 --- a/sc/source/ui/inc/sortkeydlg.hxx +++ b/sc/source/ui/inc/sortkeydlg.hxx @@ -99,7 +99,7 @@ private: public: ScSortKeyCtrl(SfxTabPage* pParent, ScSortKeyItems& mrSortKeyItems); void setScrollRange(); - void AddSortKey( sal_uInt16 nItem ); + void AddSortKey( sal_uInt16 nItemIndex ); }; #endif // SC_SORTKEYDLG_HXX diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx index 8ce4a42..e4d82c6 100644 --- a/sc/source/ui/inc/tpsort.hxx +++ b/sc/source/ui/inc/tpsort.hxx @@ -95,6 +95,7 @@ private: void Init (); void FillFieldLists ( sal_uInt16 nStartField ); sal_uInt16 GetFieldSelPos ( SCCOLROW nField ); + void AddSortKeyItem( sal_uInt16 nItemIndex ); // Handler ------------------------ DECL_LINK( SelectHdl, ListBox * );
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits