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]
