Skip to content

Commit d76a0e4

Browse files
committedJul 28, 2011
Allow drag&drop with multiple files
1 parent 68816cd commit d76a0e4

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed
 

‎src/app/qgisapp.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -668,23 +668,26 @@ void QgisApp::dropEvent( QDropEvent *event )
668668
QByteArray encodedData = event->mimeData()->data( "application/x-vnd.qgis.qgis.uri" );
669669
QDataStream stream( &encodedData, QIODevice::ReadOnly );
670670
QString xUri; // extended uri: layer_type:provider_key:uri
671-
stream >> xUri;
672-
QgsDebugMsg( xUri );
673-
QRegExp rx( "^([^:]+):([^:]+):([^:]+):(.+)" );
674-
if ( rx.indexIn( xUri ) != -1 )
671+
while ( !stream.atEnd() )
675672
{
676-
QString layerType = rx.cap( 1 );
677-
QString providerKey = rx.cap( 2 );
678-
QString name = rx.cap( 3 );
679-
QString uri = rx.cap( 4 );
680-
QgsDebugMsg( "type: " + layerType + " key: " + providerKey + " name: " + name + " uri: " + uri );
681-
if ( layerType == "vector" )
673+
stream >> xUri;
674+
QgsDebugMsg( xUri );
675+
QRegExp rx( "^([^:]+):([^:]+):([^:]+):(.+)" );
676+
if ( rx.indexIn( xUri ) != -1 )
682677
{
683-
addVectorLayer( uri, name, providerKey );
684-
}
685-
else if ( layerType == "raster" )
686-
{
687-
addRasterLayer( uri, name, providerKey, QStringList(), QStringList(), QString(), QString() );
678+
QString layerType = rx.cap( 1 );
679+
QString providerKey = rx.cap( 2 );
680+
QString name = rx.cap( 3 );
681+
QString uri = rx.cap( 4 );
682+
QgsDebugMsg( "type: " + layerType + " key: " + providerKey + " name: " + name + " uri: " + uri );
683+
if ( layerType == "vector" )
684+
{
685+
addVectorLayer( uri, name, providerKey );
686+
}
687+
else if ( layerType == "raster" )
688+
{
689+
addRasterLayer( uri, name, providerKey, QStringList(), QStringList(), QString(), QString() );
690+
}
688691
}
689692
}
690693
}

‎src/app/qgsbrowserdockwidget.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ QgsBrowserDockWidget::QgsBrowserDockWidget( QWidget * parent ) :
1717
mBrowserView = new QTreeView( this );
1818
mBrowserView->setDragEnabled( true );
1919
mBrowserView->setDragDropMode( QTreeView::DragOnly );
20+
mBrowserView->setSelectionMode( QAbstractItemView::ExtendedSelection );
2021
setWidget( mBrowserView );
2122

2223
//connect( mBrowserView, SIGNAL( clicked( const QModelIndex& ) ), this, SLOT( itemClicked( const QModelIndex& ) ) );

0 commit comments

Comments
 (0)
Please sign in to comment.