ooo-build r11879 - in trunk: . patches/src680



Author: kyoshida
Date: Tue Mar 11 22:01:10 2008
New Revision: 11879
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11879&view=rev

Log:
2008-03-11  Kohei Yoshida  <kyoshida novell com>

	* patches/src680/sc-skip-overlapped-cells.diff: when navigating through
	cells either by ENTER within a selected cell range, or TAB on a 
	protected sheet, we should skip overlapped cells (n#362674, i#86943).

	* patches/src680/apply: apply the above patch.


Added:
   trunk/patches/src680/sc-skip-overlapped-cells.diff
Modified:
   trunk/ChangeLog
   trunk/patches/src680/apply

Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply	(original)
+++ trunk/patches/src680/apply	Tue Mar 11 22:01:10 2008
@@ -1714,6 +1714,10 @@
 # Fix a regression where a pasted cell range is not highlighted.
 sc-fix-paste-cellrange-selection.diff, i#86894, kohei
 
+# Skip overlapped cells (cells that are hidden under a merged cell) when 
+# navigating through cells.
+sc-skip-overlapped-cells.diff, i#86943, n#362674, kohei
+
 #[ OOXSTLport5 ]
 #
 ## oox devs, please reconsider operator[] use,

Added: trunk/patches/src680/sc-skip-overlapped-cells.diff
==============================================================================
--- (empty file)
+++ trunk/patches/src680/sc-skip-overlapped-cells.diff	Tue Mar 11 22:01:10 2008
@@ -0,0 +1,34 @@
+diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/core/data/table1.cxx sc/source/core/data/table1.cxx
+--- sc.clean/source/core/data/table1.cxx	2008-03-11 09:39:38.000000000 -0400
++++ sc/source/core/data/table1.cxx	2008-03-11 17:26:50.000000000 -0400
+@@ -819,6 +819,10 @@ BOOL ScTable::ValidNextPos( SCCOL nCol, 
+ 	if (!ValidCol(nCol) || !ValidRow(nRow))
+ 		return FALSE;
+ 
++    if (pDocument->HasAttrib(nCol, nRow, nTab, nCol, nRow, nTab, HASATTR_OVERLAPPED))
++        // Skip an overlapped cell.
++        return false;
++
+ 	if (bMarked && !rMark.IsCellMarked(nCol,nRow))
+ 		return FALSE;
+ 
+@@ -861,7 +865,8 @@ void ScTable::GetNextPos( SCCOL& rCol, S
+ 	{
+ 		BOOL bUp = ( nMovY < 0 );
+ 		nRow = rMark.GetNextMarked( nCol, nRow, bUp );
+-		while ( VALIDROW(nRow) && pRowFlags && (pRowFlags->GetValue(nRow) & CR_HIDDEN) )
++        while ( (VALIDROW(nRow) && pRowFlags && (pRowFlags->GetValue(nRow) & CR_HIDDEN)) ||
++                pDocument->HasAttrib(nCol, nRow, nTab, nCol, nRow, nTab, HASATTR_OVERLAPPED) )
+ 		{
+ 			//	#53697# ausgeblendete ueberspringen (s.o.)
+ 			nRow += nMovY;
+@@ -890,7 +895,8 @@ void ScTable::GetNextPos( SCCOL& rCol, S
+ 			else if (nRow > MAXROW)
+ 				nRow = 0;
+ 			nRow = rMark.GetNextMarked( nCol, nRow, bUp );
+-			while ( VALIDROW(nRow) && pRowFlags && (pRowFlags->GetValue(nRow) & CR_HIDDEN) )
++            while ( (VALIDROW(nRow) && pRowFlags && (pRowFlags->GetValue(nRow) & CR_HIDDEN)) ||
++                    pDocument->HasAttrib(nCol, nRow, nTab, nCol, nRow, nTab, HASATTR_OVERLAPPED) )
+ 			{
+ 				//	#53697# ausgeblendete ueberspringen (s.o.)
+ 				nRow += nMovY;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]