[Libreoffice-commits] core.git: sc/source

Albert Thuswaldner albert.thuswaldner at gmail.com
Mon Apr 15 02:51:42 PDT 2013


 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.thuswaldner at 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 <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at 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 * );


More information about the Libreoffice-commits mailing list