Index: sc/source/ui/view/gridwin.cxx =================================================================== RCS file: /cvsroot/OOo_680_m104/sc/source/ui/view/gridwin.cxx,v retrieving revision 1.1.1.1 diff -a -u -r1.1.1.1 gridwin.cxx --- sc/source/ui/view/gridwin.cxx 20 May 2005 02:49:52 -0000 1.1.1.1 +++ sc/source/ui/view/gridwin.cxx 30 May 2005 06:14:55 -0000 @@ -1448,6 +1448,7 @@ SCROW nY = aMarkRange.aEnd.Row(); Point aFillPos = pViewData->GetScrPos( nX, nY, eWhich, TRUE ); + Point OldFillPos = aFillPos; long nSizeXPix; long nSizeYPix; pViewData->GetMergeSizePixel( nX, nY, nSizeXPix, nSizeYPix ); @@ -1478,6 +1479,29 @@ } bNewPointer = TRUE; } + + // select single fill for move + else if ( ( ( ( aMousePos.X() >= OldFillPos.X()-2 && aMousePos.X() <= OldFillPos.X()+2 ) || + ( aMousePos.X() >= aFillPos.X()-2 && aMousePos.X() <= aFillPos.X()+2 ) ) && + ( aMousePos.Y() >= OldFillPos.Y()-2 && aMousePos.Y() <= aFillPos.Y()+2 ) ) || + ( ( ( aMousePos.Y() >= OldFillPos.Y()-2 && aMousePos.Y() <= OldFillPos.Y()+2 ) || + ( aMousePos.Y() >= aFillPos.Y()-2 && aMousePos.Y() <= aFillPos.Y()+2 ) ) && + ( aMousePos.X() >= OldFillPos.X()-2 && aMousePos.X() <= aFillPos.X()+2 ) ) ) + { + SetPointer( Pointer( POINTER_MOVE ) ); + + // only action from mouse down + if (bAction) + { + // set mark cursor + ScViewFunc* pView = pViewData->GetView(); + pView->DoneBlockMode(); + pView->InitBlockMode( nX, nY, nTab ); + pView->MarkCursor( nX, nY, nTab, FALSE, FALSE, TRUE ); + pView->CursorPosChanged(); + } + } + } }