View | Details | Raw Unified | Return to issue 3875
Collapse All | Expand All

(-)sc/source/ui/inc/viewdata.hxx (-1 / +7 lines)
Lines 54-60 Link Here
54
 *
54
 *
55
 *  All Rights Reserved.
55
 *  All Rights Reserved.
56
 *
56
 *
57
 *  Contributor(s): _______________________________________
57
 *  Contributor(s): Kohei Yoshida__________________________
58
 *
58
 *
59
 *
59
 *
60
 ************************************************************************/
60
 ************************************************************************/
Lines 218-223 Link Here
218
	BYTE				nFillMode;					// Modus
218
	BYTE				nFillMode;					// Modus
219
	BOOL				bPagebreak;					// Seitenumbruch-Vorschaumodus
219
	BOOL				bPagebreak;					// Seitenumbruch-Vorschaumodus
220
220
221
	BOOL				bSelCtrlMouseClick;
222
221
	DECL_LINK (EmptyEditHdl, EditStatus*);
223
	DECL_LINK (EmptyEditHdl, EditStatus*);
222
	DECL_LINK (EditEngineHdl, EditStatus*);
224
	DECL_LINK (EditEngineHdl, EditStatus*);
223
225
Lines 307-312 Link Here
307
309
308
	void			SetZoom( const Fraction& rNewX, const Fraction& rNewY );
310
	void			SetZoom( const Fraction& rNewX, const Fraction& rNewY );
309
311
312
	void			EnableSelCtrlMouseClick( BOOL bTmp ) { bSelCtrlMouseClick = bTmp; }
313
310
	const Fraction&	GetZoomX() const		{ return bPagebreak ? aPageZoomX : aZoomX; }
314
	const Fraction&	GetZoomX() const		{ return bPagebreak ? aPageZoomX : aZoomX; }
311
	const Fraction&	GetZoomY() const		{ return bPagebreak ? aPageZoomY : aZoomY; }
315
	const Fraction&	GetZoomY() const		{ return bPagebreak ? aPageZoomY : aZoomY; }
312
316
Lines 464-469 Link Here
464
	const Size&		GetScenButSize() const				{ return aScenButSize; }
468
	const Size&		GetScenButSize() const				{ return aScenButSize; }
465
	void			SetScenButSize(const Size& rNew)	{ aScenButSize = rNew; }
469
	void			SetScenButSize(const Size& rNew)	{ aScenButSize = rNew; }
466
470
471
	BOOL			IsSelCtrlMouseClickEnabled() { return bSelCtrlMouseClick; }
472
467
	static inline long ToPixel( USHORT nTwips, double nFactor );
473
	static inline long ToPixel( USHORT nTwips, double nFactor );
468
};
474
};
469
475
(-)sc/source/ui/view/select.cxx (-1 / +23 lines)
Lines 54-60 Link Here
54
 *
54
 *
55
 *  All Rights Reserved.
55
 *  All Rights Reserved.
56
 *
56
 *
57
 *  Contributor(s): _______________________________________
57
 *  Contributor(s): Kohei Yoshida__________________________
58
 *
58
 *
59
 *
59
 *
60
 ************************************************************************/
60
 ************************************************************************/
Lines 598-603 Link Here
598
				aAnchorPos.Put( nPosX, nPosY, nTab );
598
				aAnchorPos.Put( nPosX, nPosY, nTab );
599
				bStarted = TRUE;
599
				bStarted = TRUE;
600
			}
600
			}
601
			// #i3875# *Hack* When a new cell is Ctrl-clicked with no pre-selected cells, 
602
			// it highlights that new cell as well as the old cell where the cursor is 
603
			// positioned prior to the click.  A selection mode via Shift-F8 should also 
604
			// follow the same behavior.
605
			else if ( pViewData->IsSelCtrlMouseClickEnabled() )
606
			{
607
				USHORT nOldX = pViewData->GetCurX();
608
				USHORT nOldY = pViewData->GetCurY();
609
				
610
				pView->InitBlockMode( nOldX, nOldY, nTab, TRUE );
611
				pView->MarkCursor( (USHORT) nOldX, (USHORT) nOldY, nTab );
612
				
613
				if ( nOldX != nPosX || nOldY != nPosY )
614
				{
615
					pView->DoneBlockMode( TRUE );
616
					pView->InitBlockMode( nPosX, nPosY, nTab, TRUE );
617
					pView->MarkCursor( (USHORT) nPosX, (USHORT) nPosY, nTab );
618
					aAnchorPos.Put( nPosX, nPosY, nTab );
619
				}
620
				
621
				bStarted = TRUE;
622
			}
601
		}
623
		}
602
624
603
		pView->SetCursor( (USHORT) nPosX, (USHORT) nPosY );
625
		pView->SetCursor( (USHORT) nPosX, (USHORT) nPosY );
(-)sc/source/ui/view/tabview3.cxx (-1 / +9 lines)
Lines 54-60 Link Here
54
 *
54
 *
55
 *  All Rights Reserved.
55
 *  All Rights Reserved.
56
 *
56
 *
57
 *  Contributor(s): _______________________________________
57
 *  Contributor(s): Kohei Yoshida__________________________
58
 *
58
 *
59
 *
59
 *
60
 ************************************************************************/
60
 ************************************************************************/
Lines 916-927 Link Here
916
BOOL ScTabView::SelMouseButtonDown( const MouseEvent& rMEvt )
916
BOOL ScTabView::SelMouseButtonDown( const MouseEvent& rMEvt )
917
{
917
{
918
	BOOL bRet = FALSE;
918
	BOOL bRet = FALSE;
919
	
920
	// #i3875# *Hack*
921
	BOOL bMod1Locked = aViewData.GetViewShell()->GetLockedModifiers() & KEY_MOD1 ? TRUE : FALSE;
922
	aViewData.EnableSelCtrlMouseClick( rMEvt.IsMod1() || bMod1Locked ); 
923
	
919
	if ( pSelEngine )
924
	if ( pSelEngine )
920
	{
925
	{
921
		bMoveIsShift = rMEvt.IsShift();
926
		bMoveIsShift = rMEvt.IsShift();
922
		bRet = pSelEngine->SelMouseButtonDown( rMEvt );
927
		bRet = pSelEngine->SelMouseButtonDown( rMEvt );
923
		bMoveIsShift = FALSE;
928
		bMoveIsShift = FALSE;
924
	}
929
	}
930
	
931
	aViewData.EnableSelCtrlMouseClick( FALSE ); // #i3875# *Hack*
932
	
925
	return bRet;
933
	return bRet;
926
}
934
}
927
935
(-)sc/source/ui/view/viewdata.cxx (-3 / +5 lines)
Lines 54-60 Link Here
54
 *
54
 *
55
 *  All Rights Reserved.
55
 *  All Rights Reserved.
56
 *
56
 *
57
 *  Contributor(s): _______________________________________
57
 *  Contributor(s): Kohei Yoshida__________________________
58
 *
58
 *
59
 *
59
 *
60
 ************************************************************************/
60
 ************************************************************************/
Lines 327-333 Link Here
327
		bDelMarkValid( FALSE ),
327
		bDelMarkValid( FALSE ),
328
		bActive		( TRUE ),					//! wie initialisieren?
328
		bActive		( TRUE ),					//! wie initialisieren?
329
		bPagebreak	( FALSE ),
329
		bPagebreak	( FALSE ),
330
		pSpellingView ( NULL )
330
		pSpellingView ( NULL ),
331
		bSelCtrlMouseClick( FALSE )
331
{
332
{
332
	SetGridMode		( TRUE );
333
	SetGridMode		( TRUE );
333
	SetSyntaxMode	( FALSE );
334
	SetSyntaxMode	( FALSE );
Lines 389-395 Link Here
389
		bDelMarkValid( FALSE ),
390
		bDelMarkValid( FALSE ),
390
		bActive		( TRUE ),								//! wie initialisieren?
391
		bActive		( TRUE ),								//! wie initialisieren?
391
		bPagebreak	( rViewData.bPagebreak ),
392
		bPagebreak	( rViewData.bPagebreak ),
392
		pSpellingView ( rViewData.pSpellingView )
393
		pSpellingView ( rViewData.pSpellingView ),
394
		bSelCtrlMouseClick( rViewData.bSelCtrlMouseClick )
393
{
395
{
394
	SetGridMode		( rViewData.IsGridMode() );
396
	SetGridMode		( rViewData.IsGridMode() );
395
	SetSyntaxMode	( rViewData.IsSyntaxMode() );
397
	SetSyntaxMode	( rViewData.IsSyntaxMode() );

Return to issue 3875