[Libreoffice-commits] .: Branch 'ooo-build-3-2-1' - patches/dev300

Kohei Yoshida kohei at kemper.freedesktop.org
Fri Dec 17 12:06:31 PST 2010


 patches/dev300/apply                                  |    3 +
 patches/dev300/calc-selection-expand-with-cursor.diff |   38 ++++++++++++++++++
 2 files changed, 41 insertions(+)

New commits:
commit 42308691a3ff1b3dbe156809bbad1ed9f00e4628
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Fri Dec 17 14:57:28 2010 -0500

    Use cursor position to decide how much to expand current selection.
    
    This fixes n#659795.  See libreoffice/master's commit msg for more
    details.
    
    This patch is disabled in the default build.  To include this patch,
    build with CalcExperimental section enabled.
    
    * patches/dev300/apply:
    * patches/dev300/calc-selection-expand-with-cursor.diff:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index b8f5542..0b37aca 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -4156,6 +4156,9 @@ file-load-no-extra-acl-check.diff, n#653747, kohei
 # Increase sheet limits to 1024 plus associated speed-up's.
 calc-max-sheet-increase.diff, n#649941, kohei
 
+# Use cursor position to determine how much to expand selection via shift-ctrl-<arrow>.
+calc-selection-expand-with-cursor.diff, n#659795, kohei
+
 [ Netbook ]
 netbook-window-decoration-update.diff, n#621116, rodo
 
diff --git a/patches/dev300/calc-selection-expand-with-cursor.diff b/patches/dev300/calc-selection-expand-with-cursor.diff
new file mode 100644
index 0000000..6ed5313
--- /dev/null
+++ b/patches/dev300/calc-selection-expand-with-cursor.diff
@@ -0,0 +1,38 @@
+diff --git sc/source/ui/view/tabview2.cxx sc/source/ui/view/tabview2.cxx
+index 0913775..8e7610e 100644
+--- sc/source/ui/view/tabview2.cxx
++++ sc/source/ui/view/tabview2.cxx
+@@ -456,8 +456,12 @@ void ScTabView::GetAreaMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, ScFollowMode
+     }
+     else if (IsBlockMode())
+     {
++        // block end position.
+         nNewX = nBlockEndX;
+         nNewY = nBlockEndY;
++        // cursor position - diagonally opposite of the block end position.
++        nCurX = aViewData.GetCurX();
++        nCurY = aViewData.GetCurY();
+     }
+     else
+     {
+@@ -473,16 +477,16 @@ void ScTabView::GetAreaMoveEndPosition(SCsCOL nMovX, SCsROW nMovY, ScFollowMode
+     SCsCOLROW i;
+     if ( nMovX > 0 )
+         for ( i=0; i<nMovX; i++ )
+-            pDoc->FindAreaPos( nNewX, nNewY, nTab,  1,  0 );
++            pDoc->FindAreaPos( nNewX, nCurY, nTab,  1,  0 );
+     if ( nMovX < 0 )
+         for ( i=0; i<-nMovX; i++ )
+-            pDoc->FindAreaPos( nNewX, nNewY, nTab, -1,  0 );
++            pDoc->FindAreaPos( nNewX, nCurY, nTab, -1,  0 );
+     if ( nMovY > 0 )
+         for ( i=0; i<nMovY; i++ )
+-            pDoc->FindAreaPos( nNewX, nNewY, nTab,  0,  1 );
++            pDoc->FindAreaPos( nCurX, nNewY, nTab,  0,  1 );
+     if ( nMovY < 0 )
+         for ( i=0; i<-nMovY; i++ )
+-            pDoc->FindAreaPos( nNewX, nNewY, nTab,  0, -1 );
++            pDoc->FindAreaPos( nCurX, nNewY, nTab,  0, -1 );
+ 
+     if (eMode==SC_FOLLOW_JUMP)                  // unten/rechts nicht zuviel grau anzeigen
+     {


More information about the Libreoffice-commits mailing list