[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/libkonq
From:       Stephan Binner <binner () kde ! org>
Date:       2004-12-28 16:28:02
Message-ID: 20041228162802.CF6921C43C () office ! kde ! org
[Download RAW message or body]

CVS commit by binner: 

Don't accept programs:/ URL drops


  M +23 -0     konq_iconviewwidget.cc   1.308


--- kdebase/libkonq/konq_iconviewwidget.cc  #1.307:1.308
@@ -74,4 +74,5 @@ struct KonqIconViewWidgetPrivate
         bCaseInsensitive = true;
         pPreviewMimeTypes = 0L;
+        bProgramsURLdrag = false;
     }
     ~KonqIconViewWidgetPrivate() {
@@ -111,4 +112,5 @@ struct KonqIconViewWidgetPrivate
     QTimer *pActivateDoubleClick;
     QStringList* pPreviewMimeTypes;
+    bool bProgramsURLdrag;
 };
 
@@ -978,4 +980,17 @@ void KonqIconViewWidget::contentsDragEnt
             kdError() << "Couldn't decode urls dragged !" << endl;
     }
+    
+    KURL::List uriList;
+    if ( KURLDrag::decode(e, uriList) )
+    {
+        if ( uriList.first().protocol() == "programs" )
+        {
+            e->ignore();
+            emit dragEntered( false );
+            d->bProgramsURLdrag = true;
+            return;
+        }
+    }    
+    
     KIconView::contentsDragEnterEvent( e );
     emit dragEntered( true /*accepted*/ );
@@ -984,4 +999,11 @@ void KonqIconViewWidget::contentsDragEnt
 void KonqIconViewWidget::contentsDragMoveEvent( QDragMoveEvent *e )
 {
+    if ( d->bProgramsURLdrag ) {
+        emit dragMove( false );
+        e->ignore();
+        cancelPendingHeldSignal();
+        return;        
+    }
+    
 #ifdef KFILEITEM_HAS_ISWRITABLE
     QIconViewItem *item = findItem( e->pos() );
@@ -999,4 +1021,5 @@ void KonqIconViewWidget::contentsDragMov
 void KonqIconViewWidget::contentsDragLeaveEvent( QDragLeaveEvent *e )
 {
+    d->bProgramsURLdrag = false;
     QIconView::contentsDragLeaveEvent(e);
     emit dragLeft();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic