[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegraphics/kpovmodeler
From: Andreas Zehender <az () azweb ! de>
Date: 2006-10-03 14:15:28
Message-ID: 1159884928.234981.2826.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 591968 by azehende:
drag/drop: allways move when same scene and copy when source is another scene
there doesn't seem to be a method to restore the qt3 behaviour in qt4 (default move, \
copy selectable with modifier keys)
M +28 -17 pmtreeview.cpp
--- trunk/KDE/kdegraphics/kpovmodeler/pmtreeview.cpp #591967:591968
@@ -599,7 +599,6 @@
if( !item )
{
- accept = false;
m_pDragOverItem = 0L;
obj = 0;
}
@@ -614,10 +613,7 @@
m_pDragOverItem = item;
}
else
- {
- accept = false;
m_pDragOverItem = 0L;
- }
}
if( accept )
@@ -630,16 +626,23 @@
accept = true;
}
}
- else
- accept = false;
}
- else
- accept = false;
- if( accept )
- e->acceptProposedAction( );
+ if(accept)
+ {
+ if( targetDisplaysPart( e->source( ) ) )
+ {
+ e->setDropAction( Qt::MoveAction );
+ e->accept( );
+ }
+ else
+ {
+ e->setDropAction( Qt::CopyAction );
+ e->accept( );
+ }
+ }
else
- e->ignore( );
+ e->ignore( );
}
void PMTreeView::viewportDragEnterEvent( QDragEnterEvent *e )
@@ -650,13 +653,16 @@
{
if( PMObjectDrag::canDecode( e->mimeData( ), m_pPart ) )
{
- if( e->source( ) == viewport( ) )
+ if( targetDisplaysPart( e->source( ) ) )
{
e->setDropAction( Qt::MoveAction );
e->accept( );
}
else
- e->acceptProposedAction( );
+ {
+ e->setDropAction( Qt::CopyAction );
+ e->accept( );
+ }
}
else
e->ignore( );
@@ -683,18 +689,23 @@
if( PMObjectDrag::canDecode( e->mimeData( ), m_pPart ) )
{
- if( targetDisplaysPart( e->source( ) ) &&
- ( e->proposedAction( ) == Qt::MoveAction ) )
+ if( targetDisplaysPart( e->source( ) ) )
{
if( m_pPart->dragMoveSelectionTo( obj ) )
- e->accept( );
+ {
+ e->setDropAction( Qt::MoveAction );
+ e->accept( );
+ }
else
e->ignore( );
}
else
{
if( m_pPart->drop( obj, e->mimeData( ) ) )
- e->accept( );
+ {
+ e->setDropAction( Qt::CopyAction );
+ e->accept( );
+ }
else
e->ignore( );
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic