[PATCH] Calc Sort: Introducing new method AddKeyItem to avoid code d...
Albert Thuswaldner (via Code Review)
gerrit at gerrit.libreoffice.org
Sat Apr 13 00:35:22 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3370
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/70/3370/1
Calc Sort: Introducing new method AddKeyItem to avoid code duplication
Change-Id: Ic34b5958472a7d2c19ff686914309b6699e237c4
---
M sc/source/ui/dbgui/sortkeydlg.cxx
M sc/source/ui/dbgui/tpsort.cxx
M sc/source/ui/inc/sortkeydlg.hxx
M sc/source/ui/inc/tpsort.hxx
4 files changed, 20 insertions(+), 17 deletions(-)
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 @@
// -----------------------------------------------------------------------
-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 @@
// 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 @@
{
// 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 @@
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 @@
// 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 @@
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 @@
void Init ();
void FillFieldLists ( sal_uInt16 nStartField );
sal_uInt16 GetFieldSelPos ( SCCOLROW nField );
+ void AddSortKeyItem( sal_uInt16 nItemIndex );
// Handler ------------------------
DECL_LINK( SelectHdl, ListBox * );
--
To view, visit https://gerrit.libreoffice.org/3370
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic34b5958472a7d2c19ff686914309b6699e237c4
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Albert Thuswaldner <albert.thuswaldner at gmail.com>
More information about the LibreOffice
mailing list