User: kz      
Date: 05/01/21 09:10:14

Modified:
 /dba/dbaccess/source/ui/control/
  dbtreelistbox.cxx

Log:
 INTEGRATION: CWS dba22 (1.4.28); FILE MERGED
 2005/01/18 07:30:17 oj 1.4.28.3: #i38141# fix for dnd
 2005/01/13 08:40:57 oj 1.4.28.2: #i38141# return DropAction directly
 2004/12/03 11:10:39 oj 1.4.28.1: #i38141# fix d&d

File Changes:

Directory: /dba/dbaccess/source/ui/control/
===========================================

File [changed]: dbtreelistbox.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/control/dbtreelistbox.cxx?r1=1.5&r2=1.6
Delta lines:  +22 -13
---------------------
--- dbtreelistbox.cxx   5 Jan 2005 12:34:34 -0000       1.5
+++ dbtreelistbox.cxx   21 Jan 2005 17:10:11 -0000      1.6
@@ -329,25 +329,34 @@
        if ( m_pActionListener )
        {
                SvLBoxEntry* pDroppedEntry = GetEntry(_rEvt.maPosPixel);
-               if ( m_pDragedEntry && m_pDragedEntry != pDroppedEntry )
-               {
                        // check if drag is on child entry, which is not allowed
-                       SvLBoxEntry* pParent = pDroppedEntry ? 
GetParent(pDroppedEntry) : NULL;
+               SvLBoxEntry* pParent = NULL;
+               if ( _rEvt.mnAction & DND_ACTION_MOVE )
+               {
+                       if ( !m_pDragedEntry ) // no entry to move
+                       {
+                               nDropOption = m_pActionListener->queryDrop( 
_rEvt, GetDataFlavorExVector() );
+                               m_aMousePos = _rEvt.maPosPixel;
+                               
m_aScrollHelper.scroll(m_aMousePos,GetOutputSizePixel());
+                               return nDropOption;
+                       }
+
+                       pParent = pDroppedEntry ? GetParent(pDroppedEntry) : 
NULL;
                        while ( pParent && pParent != m_pDragedEntry )
                                pParent = GetParent(pParent);
+               }
 
                        if ( !pParent )
                        {
                                nDropOption = m_pActionListener->queryDrop( 
_rEvt, GetDataFlavorExVector() );
                                // check if move is allowed
-                               if ( _rEvt.mnAction & DND_ACTION_MOVE && 
nDropOption & DND_ACTION_MOVE )
+                       if ( nDropOption & DND_ACTION_MOVE )
                                {
-                                       if ( 
GetEntryPosByName(GetEntryText(m_pDragedEntry),pDroppedEntry) )
-                                               nDropOption &= ~DND_ACTION_MOVE;
+                               if ( m_pDragedEntry == pDroppedEntry || 
GetEntryPosByName(GetEntryText(m_pDragedEntry),pDroppedEntry) )
+                                       nDropOption = DND_ACTION_NONE;
                                }
                                m_aMousePos = _rEvt.maPosPixel;
                                
m_aScrollHelper.scroll(m_aMousePos,GetOutputSizePixel());
-                       }
                }
        }
 




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to