summaryrefslogtreecommitdiffstats
path: root/svtools/source/misc/transfer2.cxx
diff options
context:
space:
mode:
authorKai Ahrens <ka@openoffice.org>2002-03-20 12:50:10 +0000
committerKai Ahrens <ka@openoffice.org>2002-03-20 12:50:10 +0000
commitdf1cbb72bb08fbf0bff3bfbc5db9ff931fef3fb5 (patch)
tree1084fef5724b992bc82576b038ed2945feb2c190 /svtools/source/misc/transfer2.cxx
parent#65293#: i18n::LocaleData (diff)
downloadcore-df1cbb72bb08fbf0bff3bfbc5db9ff931fef3fb5.tar.gz
core-df1cbb72bb08fbf0bff3bfbc5db9ff931fef3fb5.zip
#98271#: adjust ::drop method to support JClient
Diffstat (limited to 'svtools/source/misc/transfer2.cxx')
-rw-r--r--svtools/source/misc/transfer2.cxx55
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 );