@@ -668,23 +668,26 @@ void QgisApp::dropEvent( QDropEvent *event )
668
668
QByteArray encodedData = event->mimeData ()->data ( " application/x-vnd.qgis.qgis.uri" );
669
669
QDataStream stream ( &encodedData, QIODevice::ReadOnly );
670
670
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 () )
675
672
{
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 )
682
677
{
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
+ }
688
691
}
689
692
}
690
693
}
0 commit comments