diff options
Diffstat (limited to 'certmanager/certlistview.cpp')
-rw-r--r-- | certmanager/certlistview.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/certmanager/certlistview.cpp b/certmanager/certlistview.cpp new file mode 100644 index 000000000..acb6e8916 --- /dev/null +++ b/certmanager/certlistview.cpp @@ -0,0 +1,44 @@ +#include <config.h> +#include "certlistview.h" +#include <kurldrag.h> +#include <kdebug.h> + +CertKeyListView::CertKeyListView( const ColumnStrategy * strategy, + const DisplayStrategy * display, + QWidget * parent, const char * name, WFlags f ) + : Kleo::KeyListView( strategy, display, parent, name, f ) +{ + viewport()->setAcceptDrops( true ); +} + +void CertKeyListView::contentsDragEnterEvent( QDragEnterEvent * event ) +{ + //const char* fmt; + //for (int i=0; (fmt = event->format(i)); i++) + // kdDebug() << fmt << endl; + + // We only accept URL drops. We'll check the mimetype later on. + event->accept( QUriDrag::canDecode( event ) ); +} + +void CertKeyListView::contentsDragMoveEvent( QDragMoveEvent * event ) +{ + event->accept( QUriDrag::canDecode( event ) ); +} + + +void CertKeyListView::contentsDragLeaveEvent( QDragLeaveEvent * ) +{ + // Don't let QListView do its stuff +} + +void CertKeyListView::contentsDropEvent( QDropEvent * event ) +{ + KURL::List lst; + if ( KURLDrag::decode( event, lst ) ) { + event->accept(); + emit dropped( lst ); + } +} + +#include "certlistview.moc" |