summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2016-11-17 12:42:34 +0100
committerMarco Cecchetti <marco.cecchetti@collabora.com>2016-11-17 12:51:29 +0100
commit3d2655ee883a4b77caffa268d457cdaa3a3ff21b (patch)
tree3ba7fa8aafbf57e8e6a4f472d1a7de64df2938fc
parentb5a15bc844d642e795864c4d3f13265bd37ee451 (diff)
LOK - calc: now PgUp/PgDn offset is used only when PgUp/PgDn are pressed
Change-Id: I340d747021bc794361d6b8eff76335345b60010c
-rw-r--r--sc/source/ui/inc/viewdata.hxx1
-rw-r--r--sc/source/ui/view/tabview2.cxx10
-rw-r--r--sc/source/ui/view/viewdata.cxx5
3 files changed, 9 insertions, 7 deletions
diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx
index f61b0bfbe93e..d3b80fcebbe9 100644
--- a/sc/source/ui/inc/viewdata.hxx
+++ b/sc/source/ui/inc/viewdata.hxx
@@ -415,6 +415,7 @@ public:
/// Force page size for PgUp/PgDown to overwrite the computation based on m_aVisArea.
void ForcePageUpDownOffset(long nTwips) { m_nLOKPageUpDownOffset = nTwips; }
+ long GetPageUpDownOffset() { return m_nLOKPageUpDownOffset; }
void KillEditView();
void ResetEditView();
diff --git a/sc/source/ui/view/tabview2.cxx b/sc/source/ui/view/tabview2.cxx
index 2d4dbe59ebdf..9b6d12346f45 100644
--- a/sc/source/ui/view/tabview2.cxx
+++ b/sc/source/ui/view/tabview2.cxx
@@ -45,6 +45,7 @@
#include "tabprotection.hxx"
#include "markdata.hxx"
#include "inputopt.hxx"
+#include <comphelper/lok.hxx>
namespace {
@@ -628,6 +629,11 @@ void ScTabView::GetPageMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, SCsCOL& rPage
ScHSplitPos eWhichX = WhichH( eWhich );
ScVSplitPos eWhichY = WhichV( eWhich );
+ sal_uInt16 nScrSizeY = SC_SIZE_NONE;
+ if (comphelper::LibreOfficeKit::isActive() && aViewData.GetPageUpDownOffset() > 0) {
+ nScrSizeY = ScViewData::ToPixel( aViewData.GetPageUpDownOffset(), aViewData.GetPPTX() );
+ }
+
SCsCOL nPageX;
SCsROW nPageY;
if (nMovX >= 0)
@@ -636,9 +642,9 @@ void ScTabView::GetPageMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, SCsCOL& rPage
nPageX = ((SCsCOL) aViewData.CellsAtX( nCurX, -1, eWhichX )) * nMovX;
if (nMovY >= 0)
- nPageY = ((SCsROW) aViewData.CellsAtY( nCurY, 1, eWhichY )) * nMovY;
+ nPageY = ((SCsROW) aViewData.CellsAtY( nCurY, 1, eWhichY, nScrSizeY )) * nMovY;
else
- nPageY = ((SCsROW) aViewData.CellsAtY( nCurY, -1, eWhichY )) * nMovY;
+ nPageY = ((SCsROW) aViewData.CellsAtY( nCurY, -1, eWhichY, nScrSizeY )) * nMovY;
if (nMovX != 0 && nPageX == 0) nPageX = (nMovX>0) ? 1 : -1;
if (nMovY != 0 && nPageY == 0) nPageY = (nMovY>0) ? 1 : -1;
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index dc9a48cecc8f..86814e74f7b1 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1735,11 +1735,6 @@ SCROW ScViewData::CellsAtY( SCsROW nPosY, SCsROW nDir, ScVSplitPos eWhichY, sal_
if (nScrSizeY == SC_SIZE_NONE) nScrSizeY = (sal_uInt16) aScrSize.Height();
- if (comphelper::LibreOfficeKit::isActive() && m_nLOKPageUpDownOffset > 0)
- {
- nScrSizeY = ToPixel( m_nLOKPageUpDownOffset, nPPTY );
- }
-
SCROW nY;
if (nDir==1)