Re: Bug#229012: openoffice.org: oocalc (spreadsheed): changing a cell makes it a selection, enter can't move, cursor makes selection
Hi Eike,
Am Sa, den 31.01.2004 schrieb Eike Rathke um 22:29:
> On Wed, Jan 28, 2004 at 15:37:41 +0100, Chris Halls wrote:
>
> > Thanks for your detailed explanation. I was able to reproduce the bug,
> > and found that I could restore the origianal behaviour by reverting the
> > Ximian patch sc-show-sensitize.
>
> What kind of patch is that? Which revisions exactly to retrieve where?
The patch is here:
http://cvs.gnome.org/bonsai/cvsblame.cgi?file=openoffice/patches/OOO_1_1/sc-show-sensitize.diff
And the fix for the patch is in that mail, I attach a copy of its
attachment:
http://lists.ximian.com/archives/public/openoffice/2004-January/000276.html
Regards,
Martin
Index: sc/source/ui/view/viewfunc.cxx
===================================================================
RCS file: /cvs/sc/sc/source/ui/view/viewfunc.cxx,v
retrieving revision 1.19
diff -u -p -u -r1.19 viewfunc.cxx
--- sc/source/ui/view/viewfunc.cxx 8 Apr 2003 16:34:56 -0000 1.19
+++ sc/source/ui/view/viewfunc.cxx 30 Jan 2004 15:23:19 -0000
@@ -2114,6 +2114,38 @@ void ScViewFunc::SetMarkedWidthOrHeight(
rMark.MarkToSimple();
}
+BOOL ScViewFunc::GetRowColHidden(BOOL col)
+{
+ ScDocument* pDoc = GetViewData()->GetDocument();
+ ScMarkData& rMark = GetViewData()->GetMarkData();
+ USHORT nCol = 0,nRow = 0,nTab = 0, nRangeCnt = 0;
+ USHORT* pRanges = new USHORT[MAXROW+1];
+ BOOL hidden = FALSE;
+
+ if ( col )
+ nRangeCnt = rMark.GetMarkColumnRanges( pRanges );
+ else
+ nRangeCnt = rMark.GetMarkRowRanges( pRanges );
+
+ const USHORT* pTabRanges = pRanges;
+
+ for ( USHORT nRangeNo=0; nRangeNo<nRangeCnt; nRangeNo++ )
+ {
+ USHORT nStartNo = *(pTabRanges++);
+ USHORT nEndNo = *(pTabRanges++);
+ if ( col )
+ hidden = pDoc->IsColHidden(nStartNo,nEndNo,nTab);
+ else
+ hidden = pDoc->IsRowHidden(nStartNo,nEndNo,nTab);
+ /* Even if a single col/row is hidden set the var and break */
+ if ( hidden == TRUE )
+ break;
+ }
+
+ delete[] pRanges;
+ return hidden;
+}
+
void ScViewFunc::ModifyCellSize( ScDirection eDir, BOOL bOptimal )
{
//! Schrittweiten einstellbar
Reply to: