summaryrefslogtreecommitdiff
path: root/patches/dev300/sc-single-right.diff
diff options
context:
space:
mode:
Diffstat (limited to 'patches/dev300/sc-single-right.diff')
-rw-r--r--patches/dev300/sc-single-right.diff603
1 files changed, 0 insertions, 603 deletions
diff --git a/patches/dev300/sc-single-right.diff b/patches/dev300/sc-single-right.diff
deleted file mode 100644
index 51f54e4b3..000000000
--- a/patches/dev300/sc-single-right.diff
+++ /dev/null
@@ -1,603 +0,0 @@
---- sc/source/ui/view/gridwin.cxx.orig2 2010-08-10 11:27:53.922000033 -0500
-+++ sc/source/ui/view/gridwin.cxx 2010-08-15 22:09:59.868000093 -0500
-@@ -123,6 +123,8 @@
- #include "cellsh.hxx"
- #include "overlayobject.hxx"
-
-+#include "popmenu.hxx"
-+
- #include "drawview.hxx"
- #include <svx/sdrpagewindow.hxx>
- #include <svx/sdr/overlay/overlaymanager.hxx>
-@@ -449,7 +451,8 @@
- nPaintCount( 0 ),
- bNeedsRepaint( FALSE ),
- bAutoMarkVisible( FALSE ),
-- bListValButton( FALSE )
-+ bListValButton( FALSE ),
-+ bMoveSingle( false )
- {
- switch(eWhich)
- {
-@@ -1512,6 +1515,29 @@
-
- aCurMousePos = rMEvt.GetPosPixel();
-
-+ std::vector<Rectangle> aPixelRects;
-+ GetSelectionRects( aPixelRects );
-+
-+ // is there a better way to test if the selected rectangle is only 1 cell
-+ BOOL test;
-+ std::vector<Rectangle>::iterator it = aPixelRects.begin();
-+ if( aPixelRects.size() )
-+ test = it->Top() == it->Bottom() && it->Left() == it->Right();
-+
-+ ScRange aRange;
-+ ScMarkType eMarkType = pViewData->GetSimpleArea( aRange );
-+
-+ if( bMoveSingle && /*rMEvt.IsLeft() &&*/ ( ( eMarkType != SC_MARK_MULTI && test ) || !pViewData->GetMarkData().IsMarked() ) )
-+ {
-+ //bMoveSingle = false;
-+
-+ SCCOL nCol = pViewData->GetCurX();
-+ SCROW nRow = pViewData->GetCurY();
-+ SCTAB nTab = pViewData->GetTabNo();
-+
-+ pViewData->GetView()->MarkCursor( nCol, nRow, nTab );
-+ }
-+
- // Filter-Popup beendet sich mit eigenem Mausklick, nicht erst beim Klick
- // in das GridWindow, darum ist die folgende Abfrage nicht mehr noetig:
- #if 0
-@@ -1783,7 +1809,7 @@
- // Gridwin - SelectionEngine
- //
-
-- if ( rMEvt.IsLeft() )
-+ if ( rMEvt.IsLeft() || ( rMEvt.IsRight() && bMoveSingle ) )
- {
- ScViewSelectionEngine* pSelEng = pViewData->GetView()->GetSelEngine();
- pSelEng->SetWindow(this);
-@@ -2257,6 +2283,8 @@
-
- void __EXPORT ScGridWindow::MouseMove( const MouseEvent& rMEvt )
- {
-+ bMoveSingle = false;
-+
- aCurMousePos = rMEvt.GetPosPixel();
-
- if ( rMEvt.IsLeaveWindow() && pNoteMarker && !pNoteMarker->IsByKeyboard() )
-@@ -2446,14 +2474,48 @@
- {
- BOOL bAlt = rMEvt.IsMod2();
-
-+ //ScMarkData& rMark = pViewData->GetMarkData();
-+ //EditView* pEditView = pViewData->GetEditView( eWhich );
-+ //Cursor* pCur = pEditView->GetCursor();
-+ //SCTAB nTab = pViewData->GetTabNo();
-+ SCCOL nX = pViewData->GetCurX();
-+ SCROW nY = pViewData->GetCurY();
-+ Point aScrPos = pViewData->GetScrPos( nX, nY, eWhich, TRUE );
-+
-+ long nSizeXPix;
-+ long nSizeYPix;
-+
-+ // get dimensions of cursor
-+ pViewData->GetMergeSizePixel( nX, nY, nSizeXPix, nSizeYPix );
-+
-+
-+ BOOL bLeft = ((aCurMousePos.X() >= aScrPos.X() && aCurMousePos.X() <= aScrPos.X() + 1) && aCurMousePos.Y() >= aScrPos.Y() && aCurMousePos.Y() <= aScrPos.Y() + nSizeYPix );
-+ BOOL bTop = ((aCurMousePos.Y() >= aScrPos.Y() && aCurMousePos.Y() <= aScrPos.Y() + 1) && aCurMousePos.X() >= aScrPos.X() && aCurMousePos.X() <= aScrPos.X() + nSizeXPix );
-+ // bottom and right borders actually count as the next cells that's why we do == instead of by range
-+ // need to fix checking if click is on border but changes to a different cell or is this desireable?
-+ BOOL bBottom = ((aCurMousePos.Y() == aScrPos.Y() + nSizeYPix - 1) &&
-+ aCurMousePos.X() >= aScrPos.X() && aCurMousePos.X() <= aScrPos.X() + nSizeXPix );
-+ BOOL bRight = ((aCurMousePos.X() == aScrPos.X() + nSizeXPix - 1) &&
-+ aCurMousePos.Y() >= aScrPos.Y() && aCurMousePos.Y() <= aScrPos.Y() + nSizeYPix );
-+ //BOOL bBottom = ((aCurMousePos.Y() >= aScrPos.Y() + nSizeYPix - 1 && aCurMousePos.Y() <= aScrPos.Y() + nSizeYPix + 1) &&
-+ // aCurMousePos.X() >= aScrPos.X() && aCurMousePos.X() <= aScrPos.X() + nSizeXPix );
-+ //BOOL bRight = ((aCurMousePos.X() >= aScrPos.X() + nSizeXPix - 1 && aCurMousePos.X() <= aScrPos.X() + nSizeXPix + 1) &&
-+ // aCurMousePos.Y() >= aScrPos.Y() && aCurMousePos.Y() <= aScrPos.Y() + nSizeYPix );
-+
- if (bEditMode) // Edit-Mode muss zuerst kommen!
- SetPointer( Pointer( POINTER_ARROW ) );
-- else if ( !bAlt && !nButtonDown &&
-- GetEditUrl(rMEvt.GetPosPixel()) )
-+ else if ( !bAlt && !nButtonDown && GetEditUrl(rMEvt.GetPosPixel()) )
- SetPointer( Pointer( POINTER_REFHAND ) );
-+ else if ( ( bLeft || bTop || bBottom || bRight ) )
-+ {
-+ SetPointer( Pointer( POINTER_MOVE ) );
-+ bMoveSingle = TRUE;
-+ return;
-+ }
- else if ( DrawMouseMove(rMEvt) ) // setzt Pointer um
- return;
- }
-+
- }
-
- if ( pViewData->GetView()->GetSelEngine()->SelMouseMove( rMEvt ) )
-@@ -2765,6 +2827,12 @@
-
- if ( nCmd == COMMAND_CONTEXTMENU && !SC_MOD()->GetIsWaterCan() )
- {
-+ // don't display context menu when we are over the cursor border, to implement right click dragging
-+ if (bMoveSingle)
-+ {
-+ return;
-+ }
-+
- if (pViewData->IsAnyFillMode())
- {
- pViewData->GetView()->StopRefMode();
-@@ -3832,11 +3900,11 @@
- const ScDragData& rData = pScMod->GetDragData();
-
- return DropTransferObj( rData.pCellTransfer, nDragStartX, nDragStartY,
-- PixelToLogic(rEvt.maPosPixel), rEvt.mnAction );
-+ PixelToLogic(rEvt.maPosPixel), rEvt.maPosPixel, rEvt.mnAction );
- }
-
- sal_Int8 ScGridWindow::DropTransferObj( ScTransferObj* pTransObj, SCCOL nDestPosX, SCROW nDestPosY,
-- const Point& rLogicPos, sal_Int8 nDndAction )
-+ const Point& rLogicPos, const Point& rMousePos, sal_Int8 nDndAction )
- {
- if ( !pTransObj )
- return 0;
-@@ -3859,6 +3927,8 @@
- bIsMove = ( nDndAction & DND_ACTION_MOVE && !bIsNavi );
- }
-
-+ bool bIsRight = ( nDndAction == DND_ACTION_RIGHT && !bIsNavi );
-+
- BOOL bIsLink = ( nDndAction == DND_ACTION_LINK );
-
- ScRange aSource = pTransObj->GetRange();
-@@ -3949,6 +4019,7 @@
- {
- // call with bApi = TRUE to avoid error messages in drop handler
- bDone = pDocSh->GetDocFunc().InsertCells( aDest, NULL, meDragInsertMode, TRUE /*bRecord*/, TRUE /*bApi*/, TRUE /*bPartOfPaste*/ );
-+
- if ( bDone )
- {
- if ( nThisTab == nSourceTab )
-@@ -3976,6 +4047,195 @@
- // call with bApi = TRUE to avoid error messages in drop handler
- bDone = pView->LinkBlock( aSource, aDest.aStart, TRUE /*bApi*/ );
- }
-+ else if ( bIsRight )
-+ {
-+ ScPopupMenu maPopup(ScResId( RID_POPUP_RIGHTDRAGDROP ));
-+
-+ // GetMousePosPixel() returns the position from the start of the drag.. need to fix this, workaround segfaults :S
-+ //EditView* pEditView = pViewData->GetEditView( eWhich );
-+ //Cursor* pCur = pEditView->GetCursor();
-+ sal_uInt16 nItemId = maPopup.Execute( this, rMousePos);//Point(nDestPosX * pCur->GetWidth(), nDestPosY * pCur->GetHeight() )); //GetMousePosPixel()); //Point(nDestPosX, nDestPosY));
-+
-+ //maPopup.Execute(pViewData->GetView()->GetWindowByPos( eWhich ), Point(0,0));/*rLogicPos);*/
-+
-+ // follow excel's format for now
-+ switch ( nItemId )
-+ {
-+ case RID_RIGHTDRAGDROP_MOVE:
-+ // Move Here
-+ bIsMove = TRUE;
-+ bDone = pView->MoveBlockTo( aSource, aDest.aStart, bIsMove, TRUE /*bRecord*/, TRUE /*bPaint*/, TRUE /*bApi*/ );
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_COPY:
-+ // Copy Here
-+ bIsMove = FALSE;
-+ bDone = pView->MoveBlockTo( aSource, aDest.aStart, bIsMove, TRUE /*bRecord*/, TRUE /*bPaint*/, TRUE /*bApi*/ );
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_COPYVALUES:
-+ // Copy Here as Values Only
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_COPYFORMATS:
-+ // Copy Here as Formats Only
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_LINK:
-+ // Link Here
-+ bIsLink = TRUE;
-+ bDone = pView->LinkBlock( aSource, aDest.aStart, TRUE /*bApi*/ );
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_HYPERLINK:
-+ // Create Hyperlink Here
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_SHIFTDOWNC:
-+ // Shift Down and Copy
-+ meDragInsertMode = INS_CELLSDOWN;
-+ aUndo = ScGlobal::GetRscString( bIsMove ? STR_UNDO_MOVE : STR_UNDO_COPY );
-+ pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo );
-+
-+ bDone = TRUE;
-+ bIsMove = FALSE;
-+ if ( meDragInsertMode != INS_NONE )
-+ {
-+ // call with bApi = TRUE to avoid error messages in drop handler
-+ bDone = pDocSh->GetDocFunc().InsertCells( aDest, NULL, meDragInsertMode, TRUE /*bRecord*/, TRUE /*bApi*/, TRUE /*bPartOfPaste*/ );
-+ if ( bDone )
-+ {
-+ if ( nThisTab == nSourceTab )
-+ {
-+ if ( meDragInsertMode == INS_CELLSDOWN &&
-+ nDestPosX == aSource.aStart.Col() && nDestPosY < aSource.aStart.Row() )
-+ {
-+ bDone = aSource.Move( 0, nSizeY, 0, pSourceDoc );
-+ }
-+ else if ( meDragInsertMode == INS_CELLSRIGHT &&
-+ nDestPosY == aSource.aStart.Row() && nDestPosX < aSource.aStart.Col() )
-+ {
-+ bDone = aSource.Move( nSizeX, 0, 0, pSourceDoc );
-+ }
-+ }
-+ pDocSh->UpdateOle( pViewData );
-+ pView->CellContentChanged();
-+ }
-+ }
-+ bDone = pView->MoveBlockTo( aSource, aDest.aStart, bIsMove, TRUE /*bRecord*/, TRUE /*bPaint*/, TRUE /*bApi*/ );
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_SHIFTRIGHTC:
-+ // Shift Right and Copy
-+ meDragInsertMode = INS_CELLSRIGHT;
-+ aUndo = ScGlobal::GetRscString( bIsMove ? STR_UNDO_MOVE : STR_UNDO_COPY );
-+ pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo );
-+
-+ bDone = TRUE;
-+ bIsMove = FALSE;
-+ if ( meDragInsertMode != INS_NONE )
-+ {
-+ // call with bApi = TRUE to avoid error messages in drop handler
-+ bDone = pDocSh->GetDocFunc().InsertCells( aDest, NULL, meDragInsertMode, TRUE /*bRecord*/, TRUE /*bApi*/, TRUE /*bPartOfPaste*/ );
-+ if ( bDone )
-+ {
-+ if ( nThisTab == nSourceTab )
-+ {
-+ if ( meDragInsertMode == INS_CELLSDOWN &&
-+ nDestPosX == aSource.aStart.Col() && nDestPosY < aSource.aStart.Row() )
-+ {
-+ bDone = aSource.Move( 0, nSizeY, 0, pSourceDoc );
-+ }
-+ else if ( meDragInsertMode == INS_CELLSRIGHT &&
-+ nDestPosY == aSource.aStart.Row() && nDestPosX < aSource.aStart.Col() )
-+ {
-+ bDone = aSource.Move( nSizeX, 0, 0, pSourceDoc );
-+ }
-+ }
-+ pDocSh->UpdateOle( pViewData );
-+ pView->CellContentChanged();
-+ }
-+ }
-+ bDone = pView->MoveBlockTo( aSource, aDest.aStart, bIsMove, TRUE /*bRecord*/, TRUE /*bPaint*/, TRUE /*bApi*/ );
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_SHIFTDOWNM:
-+ // Shift Down and Move
-+ meDragInsertMode = INS_CELLSDOWN;
-+ aUndo = ScGlobal::GetRscString( bIsMove ? STR_UNDO_MOVE : STR_UNDO_COPY );
-+ pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo );
-+
-+ bDone = TRUE;
-+ bIsMove = TRUE;
-+ if ( meDragInsertMode != INS_NONE )
-+ {
-+ // call with bApi = TRUE to avoid error messages in drop handler
-+ bDone = pDocSh->GetDocFunc().InsertCells( aDest, NULL, meDragInsertMode, TRUE /*bRecord*/, TRUE /*bApi*/, TRUE /*bPartOfPaste*/ );
-+ if ( bDone )
-+ {
-+ if ( nThisTab == nSourceTab )
-+ {
-+ if ( meDragInsertMode == INS_CELLSDOWN &&
-+ nDestPosX == aSource.aStart.Col() && nDestPosY < aSource.aStart.Row() )
-+ {
-+ bDone = aSource.Move( 0, nSizeY, 0, pSourceDoc );
-+ }
-+ else if ( meDragInsertMode == INS_CELLSRIGHT &&
-+ nDestPosY == aSource.aStart.Row() && nDestPosX < aSource.aStart.Col() )
-+ {
-+ bDone = aSource.Move( nSizeX, 0, 0, pSourceDoc );
-+ }
-+ }
-+ pDocSh->UpdateOle( pViewData );
-+ pView->CellContentChanged();
-+ }
-+ }
-+ bDone = pView->MoveBlockTo( aSource, aDest.aStart, bIsMove, TRUE /*bRecord*/, TRUE /*bPaint*/, TRUE /*bApi*/ );
-+ break;
-+
-+ case RID_RIGHTDRAGDROP_SHIFTRIGHTM:
-+ // Shift Right and Move
-+ meDragInsertMode = INS_CELLSRIGHT;
-+ aUndo = ScGlobal::GetRscString( bIsMove ? STR_UNDO_MOVE : STR_UNDO_COPY );
-+ pDocSh->GetUndoManager()->EnterListAction( aUndo, aUndo );
-+
-+ bDone = TRUE;
-+ bIsMove = TRUE;
-+ if ( meDragInsertMode != INS_NONE )
-+ {
-+ // call with bApi = TRUE to avoid error messages in drop handler
-+ bDone = pDocSh->GetDocFunc().InsertCells( aDest, NULL, meDragInsertMode, TRUE /*bRecord*/, TRUE /*bApi*/, TRUE /*bPartOfPaste*/ );
-+ if ( bDone )
-+ {
-+ if ( nThisTab == nSourceTab )
-+ {
-+ if ( meDragInsertMode == INS_CELLSDOWN &&
-+ nDestPosX == aSource.aStart.Col() && nDestPosY < aSource.aStart.Row() )
-+ {
-+ bDone = aSource.Move( 0, nSizeY, 0, pSourceDoc );
-+ }
-+ else if ( meDragInsertMode == INS_CELLSRIGHT &&
-+ nDestPosY == aSource.aStart.Row() && nDestPosX < aSource.aStart.Col() )
-+ {
-+ bDone = aSource.Move( nSizeX, 0, 0, pSourceDoc );
-+ }
-+ }
-+ pDocSh->UpdateOle( pViewData );
-+ pView->CellContentChanged();
-+ }
-+ }
-+ bDone = pView->MoveBlockTo( aSource, aDest.aStart, bIsMove, TRUE /*bRecord*/, TRUE /*bPaint*/, TRUE /*bApi*/ );
-+ break;
-+
-+ case 0:
-+ // nothing selected
-+ case RID_RIGHTDRAGDROP_CANCEL:
-+ // Cancel
-+ default:
-+ // Need to return DND_ACTION_NONE to prevent moving the shaded area if nothing is to be done.
-+ return DND_ACTION_NONE;
-+ }
-+ }
- else
- {
- // call with bApi = TRUE to avoid error messages in drop handler
-@@ -4317,7 +4577,7 @@
- {
- // keep a reference to the data in case the selection is changed during paste
- uno::Reference<datatransfer::XTransferable> xRef( pCellTransfer );
-- DropTransferObj( pCellTransfer, nPosX, nPosY, aLogicPos, DND_ACTION_COPY );
-+ DropTransferObj( pCellTransfer, nPosX, nPosY, aLogicPos, rPosPixel, DND_ACTION_COPY );
- }
- else
- {
---- sc/source/ui/inc/gridwin.hxx.orig2 2010-08-16 21:54:09.998000096 -0500
-+++ sc/source/ui/inc/gridwin.hxx 2010-08-16 21:54:18.584000098 -0500
-@@ -116,6 +116,8 @@
-
- ::boost::shared_ptr<Rectangle> mpAutoFillRect;
-
-+ bool bMoveSingle;
-+
- /**
- * Stores current visible column and row ranges, used to avoid expensive
- * operations on objects that are outside visible area.
---- sc/inc/sc.hrc.orig2 2010-08-14 09:16:59.107000093 -0500
-+++ sc/inc/sc.hrc 2010-08-14 09:31:40.135000093 -0500
-@@ -1643,6 +1643,21 @@
-
- #define SC_DIALOGS_END (SC_DIALOGS_START + 155)
-
-+// Popup for right dragging.
-+#define RID_POPUP_RIGHTDRAGDROP (SC_DIALOGS_START + 156)
-+#define RID_RIGHTDRAGDROP_MOVE (SC_DIALOGS_START + 157)
-+#define RID_RIGHTDRAGDROP_COPY (SC_DIALOGS_START + 158)
-+#define RID_RIGHTDRAGDROP_COPYVALUES (SC_DIALOGS_START + 159)
-+#define RID_RIGHTDRAGDROP_COPYFORMATS (SC_DIALOGS_START + 160)
-+#define RID_RIGHTDRAGDROP_LINK (SC_DIALOGS_START + 161)
-+#define RID_RIGHTDRAGDROP_HYPERLINK (SC_DIALOGS_START + 162)
-+#define RID_RIGHTDRAGDROP_SHIFTDOWNC (SC_DIALOGS_START + 163)
-+#define RID_RIGHTDRAGDROP_SHIFTRIGHTC (SC_DIALOGS_START + 164)
-+#define RID_RIGHTDRAGDROP_SHIFTDOWNM (SC_DIALOGS_START + 165)
-+#define RID_RIGHTDRAGDROP_SHIFTRIGHTM (SC_DIALOGS_START + 166)
-+#define RID_RIGHTDRAGDROP_CANCEL (SC_DIALOGS_START + 167)
-+
-+
- #ifndef STD_MASKCOLOR
- #define STD_MASKCOLOR Color { Red = 0xFF00; Green = 0x0000; Blue = 0xFF00; }
- #endif
---- sc/source/ui/navipi/navipi.src.orig2 2010-08-14 09:36:21.672000092 -0500
-+++ sc/source/ui/navipi/navipi.src 2010-08-15 17:25:02.982000089 -0500
-@@ -370,45 +370,70 @@
- };
- };
- };
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+Menu RID_POPUP_RIGHTDRAGDROP
-+{
-+ ItemList =
-+ {
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_MOVE ;
-+ Text [ en-US ] = "Move Here" ;
-+ };
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_COPY ;
-+ Text [ en-US ] = "Copy Here" ;
-+ };
-+ //MenuItem
-+ //{
-+ // Identifier = RID_RIGHTDRAGDROP_COPYVALUES ;
-+ // Text [ en-US ] = "Copy Here as Values Only" ;
-+ //};
-+ //MenuItem
-+ //{
-+ // Identifier = RID_RIGHTDRAGDROP_COPYFORMATS ;
-+ // Text [ en-US ] = "Copy Here as Formats Only" ;
-+ //};
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_LINK ;
-+ Text [ en-US ] = "Link Here" ;
-+ };
-+ //MenuItem
-+ //{
-+ // Identifier = RID_RIGHTDRAGDROP_HYPERLINK ;
-+ // Text [ en-US ] = "Create Hyperlink Here" ;
-+ //};
-+ //////////////////////////////////////////////////
-+ MenuItem { Separator = TRUE ; };
-+ //////////////////////////////////////////////////
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_SHIFTDOWNC ;
-+ Text [ en-US ] = "Shift Down and Copy" ;
-+ };
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_SHIFTRIGHTC ;
-+ Text [ en-US ] = "Shift Right and Copy" ;
-+ };
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_SHIFTDOWNM ;
-+ Text [ en-US ] = "Shift Down and Move" ;
-+ };
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_SHIFTRIGHTM ;
-+ Text [ en-US ] = "Shift Right and Move" ;
-+ };
-+ //////////////////////////////////////////////////
-+ MenuItem { Separator = TRUE ; };
-+ //////////////////////////////////////////////////
-+ MenuItem
-+ {
-+ Identifier = RID_RIGHTDRAGDROP_CANCEL ;
-+ Text [ en-US ] = "Cancel" ;
-+ };
-+ };
-+};
---- vcl/source/window/seleng.cxx.orig2 2010-08-10 11:35:56.392000035 -0500
-+++ vcl/source/window/seleng.cxx 2010-08-14 08:20:22.702000092 -0500
-@@ -202,7 +202,7 @@
- BOOL SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt )
- {
- nFlags &= (~SELENG_CMDEVT);
-- if ( !pFunctionSet || !pWin || rMEvt.GetClicks() > 1 || rMEvt.IsRight() )
-+ if ( !pFunctionSet || !pWin || rMEvt.GetClicks() > 1)
- return FALSE;
-
- USHORT nModifier = rMEvt.GetModifier() | nLockedMods;
---- vcl/source/window/winproc.cxx.orig2 2010-08-12 20:54:52.205000092 -0500
-+++ vcl/source/window/winproc.cxx 2010-08-13 23:26:41.251000089 -0500
-@@ -546,8 +546,8 @@
- // den Status der Maustasten, damit man mit Mod1 z.B. sofort
- // in den Kopiermodus gehen kann.
- const MouseSettings& rMSettings = pMouseDownWin->GetSettings().GetMouseSettings();
-- if ( (nCode & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) ==
-- (rMSettings.GetStartDragCode() & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) )
-+ if ( ( (nCode & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) ==
-+ (rMSettings.GetStartDragCode() & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) ) || ( nCode & MOUSE_RIGHT ) )
- {
- if ( !pMouseDownWin->ImplGetFrameData()->mbStartDragCalled )
- {
-@@ -697,8 +697,8 @@
- pChild->ImplGetFrameData()->mnFirstMouseX = nMouseX;
- pChild->ImplGetFrameData()->mnFirstMouseY = nMouseY;
- pChild->ImplGetFrameData()->mnFirstMouseCode = nCode;
-- pChild->ImplGetFrameData()->mbStartDragCalled = !((nCode & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) ==
-- (rMSettings.GetStartDragCode() & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)));
-+ pChild->ImplGetFrameData()->mbStartDragCalled = !( ((nCode & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE)) ==
-+ (rMSettings.GetStartDragCode() & (MOUSE_LEFT | MOUSE_RIGHT | MOUSE_MIDDLE))) || ( nCode & MOUSE_RIGHT ) );
- }
- pChild->ImplGetFrameData()->mnMouseDownTime = nMsgTime;
- }
---- vcl/unx/source/dtrans/X11_selection.cxx.orig2 2010-08-13 21:04:01.229000093 -0500
-+++ vcl/unx/source/dtrans/X11_selection.cxx 2010-08-14 08:22:34.206000092 -0500
-@@ -2763,9 +2763,10 @@
- sendDropPosition( true, rMessage.xkey.time );
- }
- }
-- else if(
-+ else if((
- ( rMessage.type == ButtonPress || rMessage.type == ButtonRelease ) &&
-- rMessage.xbutton.button == m_nDragButton )
-+ rMessage.xbutton.button == m_nDragButton ) ||
-+ ( rMessage.xbutton.button == Button3 ) )
- {
- bool bCancel = true;
- if( m_aDropWindow != None )
-@@ -2783,7 +2784,7 @@
- dtde.Context = new DropTargetDropContext( m_aCurrentDropWindow, m_nDropTimestamp, *this );
- dtde.LocationX = x;
- dtde.LocationY = y;
-- dtde.DropAction = m_nUserDragAction;
-+ dtde.DropAction = ( rMessage.xbutton.button == Button3 ) ? DNDConstants::ACTION_RIGHT : m_nUserDragAction;
- dtde.SourceActions = m_nSourceActions;
- dtde.Transferable = m_xDragSourceTransferable;
- m_bDropSent = true;
---- svtools/inc/svtools/transfer.hxx.orig2 2010-08-14 00:03:15.653000092 -0500
-+++ svtools/inc/svtools/transfer.hxx 2010-08-14 01:10:08.078000092 -0500
-@@ -73,6 +73,7 @@
- #define DND_ACTION_MOVE ::com::sun::star::datatransfer::dnd::DNDConstants::ACTION_MOVE
- #define DND_ACTION_COPYMOVE ::com::sun::star::datatransfer::dnd::DNDConstants::ACTION_COPY_OR_MOVE
- #define DND_ACTION_LINK ::com::sun::star::datatransfer::dnd::DNDConstants::ACTION_LINK
-+#define DND_ACTION_RIGHT ::com::sun::star::datatransfer::dnd::DNDConstants::ACTION_RIGHT
-
- #define DND_POINTER_NONE 0
- #define DND_IMAGE_NONE 0
---- offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl.orig2 2010-08-14 01:09:16.240000096 -0500
-+++ offapi/com/sun/star/datatransfer/dnd/DNDConstants.idl 2010-08-14 01:09:23.002000093 -0500
-@@ -76,6 +76,12 @@
- const byte ACTION_REFERENCE = 0x04;
-
- //=============================================================================
-+ /** Action for right click dragging.
-+ */
-+
-+ const byte ACTION_RIGHT = 0x08;
-+
-+ //=============================================================================
- /** Action default.
- */
-