[Libreoffice-commits] .: 2 commits - svtools/source

David Tardon dtardon at kemper.freedesktop.org
Tue Nov 1 02:15:09 PDT 2011


 svtools/source/control/valueset.cxx |   52 +++++++++++++++++++++++-------------
 1 file changed, 34 insertions(+), 18 deletions(-)

New commits:
commit 77090e4e2515aefe547618487cdc96fde567e595
Author: David Tardon <dtardon at redhat.com>
Date:   Tue Nov 1 10:10:03 2011 +0100

    remove superfluous casts

diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index a3d38f0..1a75dd2 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -1438,8 +1438,7 @@ void ValueSet::KeyInput( const KeyEvent& rKEvt )
                     else if ( nCalcPos >= mnCols ) // we can go up
                     {
                         if ( nCalcPos >= ( nLineCount * mnCols ) )
-                            nItemPos = sal::static_int_cast< sal_uInt16 >(
-                                nCalcPos - ( nLineCount * mnCols ));
+                            nItemPos = nCalcPos - ( nLineCount * mnCols );
                         else
                             // Go to the first line. This can only happen for KEY_PAGEUP
                             nItemPos = nCalcPos % mnCols;
@@ -1482,8 +1481,7 @@ void ValueSet::KeyInput( const KeyEvent& rKEvt )
                     else if ( nCalcPos + mnCols <= nLastItem ) // we can go down
                     {
                         if ( nCalcPos + ( nLineCount * mnCols ) <= nLastItem )
-                            nItemPos = sal::static_int_cast< sal_uInt16 >(
-                                nCalcPos + ( nLineCount * mnCols ));
+                            nItemPos = nCalcPos + ( nLineCount * mnCols );
                         else
                             // Go to the last line. This can only happen for KEY_PAGEDOWN
                             nItemPos = lcl_gotoLastLine(nLastItem, mnCols, nCalcPos);
commit 3acbdb2dee458cba6904a636733f1777b47e9fc1
Author: David Tardon <dtardon at redhat.com>
Date:   Tue Nov 1 10:07:44 2011 +0100

    let PgUp/Down go to the first/last line

diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index 5834f59..a3d38f0 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -1318,6 +1318,20 @@ void ValueSet::Tracking( const TrackingEvent& rTEvt )
 
 // -----------------------------------------------------------------------
 
+namespace
+{
+
+size_t
+lcl_gotoLastLine(size_t const nLastPos, size_t const nCols, size_t const nCurPos)
+{
+    size_t nItemPos = ((((nLastPos+1)/nCols)-1)*nCols)+(nCurPos%nCols);
+    if ( nItemPos+nCols <= nLastPos )
+        nItemPos = nItemPos + nCols;
+    return nItemPos;
+}
+
+}
+
 void ValueSet::KeyInput( const KeyEvent& rKEvt )
 {
     size_t nLastItem = mpImpl->mpItemList->size();
@@ -1419,16 +1433,18 @@ void ValueSet::KeyInput( const KeyEvent& rKEvt )
                         if ( nLastItem+1 <= mnCols )
                             nItemPos = mnCurCol;
                         else
-                        {
-                            nItemPos = ((((nLastItem+1)/mnCols)-1)*mnCols)+(mnCurCol%mnCols);
-                            if ( nItemPos+mnCols <= nLastItem )
-                                nItemPos = nItemPos + mnCols;
-                        }
+                            nItemPos = lcl_gotoLastLine(nLastItem, mnCols, mnCurCol);
                     }
-                    else if ( nCalcPos >= ( nLineCount * mnCols ) )
-                        nItemPos = sal::static_int_cast< sal_uInt16 >(
-                            nCalcPos - ( nLineCount * mnCols ));
-                    else
+                    else if ( nCalcPos >= mnCols ) // we can go up
+                    {
+                        if ( nCalcPos >= ( nLineCount * mnCols ) )
+                            nItemPos = sal::static_int_cast< sal_uInt16 >(
+                                nCalcPos - ( nLineCount * mnCols ));
+                        else
+                            // Go to the first line. This can only happen for KEY_PAGEUP
+                            nItemPos = nCalcPos % mnCols;
+                    }
+                    else // wrap around
                     {
                         if ( mpNoneItem )
                         {
@@ -1440,11 +1456,7 @@ void ValueSet::KeyInput( const KeyEvent& rKEvt )
                             if ( nLastItem+1 <= mnCols )
                                 nItemPos = nCalcPos;
                             else
-                            {
-                                nItemPos = ((((nLastItem+1)/mnCols)-1)*mnCols)+(nCalcPos%mnCols);
-                                if ( nItemPos+mnCols <= nLastItem )
-                                    nItemPos = nItemPos + mnCols;
-                            }
+                                nItemPos = lcl_gotoLastLine(nLastItem, mnCols, nCalcPos);
                         }
                     }
                     nCalcPos = nItemPos;
@@ -1467,10 +1479,16 @@ void ValueSet::KeyInput( const KeyEvent& rKEvt )
                 {
                     if ( nCalcPos == VALUESET_ITEM_NONEITEM )
                         nItemPos = mnCurCol;
-                    else if ( nCalcPos + ( nLineCount * mnCols ) <= nLastItem )
-                        nItemPos = sal::static_int_cast< sal_uInt16 >(
-                            nCalcPos + ( nLineCount * mnCols ));
-                    else
+                    else if ( nCalcPos + mnCols <= nLastItem ) // we can go down
+                    {
+                        if ( nCalcPos + ( nLineCount * mnCols ) <= nLastItem )
+                            nItemPos = sal::static_int_cast< sal_uInt16 >(
+                                nCalcPos + ( nLineCount * mnCols ));
+                        else
+                            // Go to the last line. This can only happen for KEY_PAGEDOWN
+                            nItemPos = lcl_gotoLastLine(nLastItem, mnCols, nCalcPos);
+                    }
+                    else // wrap around
                     {
                         {
                             if ( mpNoneItem )


More information about the Libreoffice-commits mailing list