[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