diff options
author | Kai Ahrens <ka@openoffice.org> | 2002-03-20 12:50:10 +0000 |
---|---|---|
committer | Kai Ahrens <ka@openoffice.org> | 2002-03-20 12:50:10 +0000 |
commit | df1cbb72bb08fbf0bff3bfbc5db9ff931fef3fb5 (patch) | |
tree | 1084fef5724b992bc82576b038ed2945feb2c190 /svtools/source/misc | |
parent | #65293#: i18n::LocaleData (diff) | |
download | core-df1cbb72bb08fbf0bff3bfbc5db9ff931fef3fb5.tar.gz core-df1cbb72bb08fbf0bff3bfbc5db9ff931fef3fb5.zip |
#98271#: adjust ::drop method to support JClient
Diffstat (limited to 'svtools/source/misc')
-rw-r--r-- | svtools/source/misc/transfer2.cxx | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/svtools/source/misc/transfer2.cxx b/svtools/source/misc/transfer2.cxx index e1ecd3282c15..bcb83e957621 100644 --- a/svtools/source/misc/transfer2.cxx +++ b/svtools/source/misc/transfer2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: transfer2.cxx,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: ka $ $Date: 2001-10-18 11:53:11 $ + * last change: $Author: ka $ $Date: 2002-03-20 13:50:10 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -205,34 +205,35 @@ void SAL_CALL DropTargetHelper::DropTargetListener::drop( const DropTargetDropEv try { - ExecuteDropEvent aEvt( rDTDE.DropAction & ~DNDConstants::ACTION_DEFAULT, Point( rDTDE.LocationX, rDTDE.LocationY ), rDTDE ); - aEvt.mbDefault = ( ( rDTDE.DropAction & DNDConstants::ACTION_DEFAULT ) != 0 ); - - if( aEvt.mbDefault ) + AcceptDropEvent aAcceptEvent; + ExecuteDropEvent aExecuteEvt( rDTDE.DropAction & ~DNDConstants::ACTION_DEFAULT, Point( rDTDE.LocationX, rDTDE.LocationY ), rDTDE ); + sal_Int8 nRet = DNDConstants::ACTION_NONE; + + aExecuteEvt.mbDefault = ( ( rDTDE.DropAction & DNDConstants::ACTION_DEFAULT ) != 0 ); + + // in case of a default action, call ::AcceptDrop first and use the returned + // accepted action as the execute action in the call to ::ExecuteDrop + aAcceptEvent.mnAction = aExecuteEvt.mnAction; + aAcceptEvent.maPosPixel = aExecuteEvt.maPosPixel; + (DropTargetEvent&)( aAcceptEvent.maDragEvent ) = (DropTargetEvent&) rDTDE; + ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).DropAction = rDTDE.DropAction; + ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).LocationX = rDTDE.LocationX; + ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).LocationY = rDTDE.LocationY; + ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).SourceActions = rDTDE.SourceActions; + aAcceptEvent.mbLeaving = sal_False; + aAcceptEvent.mbDefault = aExecuteEvt.mbDefault; + + nRet = mrParent.AcceptDrop( aAcceptEvent ); + + if( DNDConstants::ACTION_NONE != nRet ) { - // in case of a default action, call ::AcceptDrop first and use the returned - // accepted action as the execute action in the call to ::ExecuteDrop - AcceptDropEvent aAcceptEvent; - - aAcceptEvent.mnAction = aEvt.mnAction; - aAcceptEvent.maPosPixel = aEvt.maPosPixel; - (DropTargetEvent&)( aAcceptEvent.maDragEvent ) = (DropTargetEvent&) rDTDE; - ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).DropAction = rDTDE.DropAction; - ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).LocationX = rDTDE.LocationX; - ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).LocationY = rDTDE.LocationY; - ( (DropTargetDragEvent&)( aAcceptEvent.maDragEvent ) ).SourceActions = rDTDE.SourceActions; - aAcceptEvent.mbLeaving = sal_False; - aAcceptEvent.mbDefault = sal_True; - - aEvt.mnAction = mrParent.AcceptDrop( aAcceptEvent ); - } + rDTDE.Context->acceptDrop( nRet ); - const sal_Int8 nRet = mrParent.ExecuteDrop( aEvt ); + if( aExecuteEvt.mbDefault ) + aExecuteEvt.mnAction = nRet; - if( DNDConstants::ACTION_NONE == nRet ) - rDTDE.Context->rejectDrop(); - else - rDTDE.Context->acceptDrop( nRet ); + nRet = mrParent.ExecuteDrop( aExecuteEvt ); + } rDTDE.Context->dropComplete( DNDConstants::ACTION_NONE != nRet ); |