@@ -338,12 +338,16 @@ void QgsMssqlConnectionItem::deleteConnection()
338
338
}
339
339
340
340
bool QgsMssqlConnectionItem::handleDrop ( const QMimeData * data, Qt::DropAction )
341
+ {
342
+ return handleDrop ( data, QString () );
343
+ }
344
+
345
+ bool QgsMssqlConnectionItem::handleDrop ( const QMimeData* data, const QString& toSchema )
341
346
{
342
347
if ( !QgsMimeDataUtils::isUriList ( data ) )
343
348
return false ;
344
349
345
350
// TODO: probably should show a GUI with settings etc
346
-
347
351
qApp->setOverrideCursor ( Qt::WaitCursor );
348
352
349
353
QStringList importResults;
@@ -363,7 +367,17 @@ bool QgsMssqlConnectionItem::handleDrop( const QMimeData * data, Qt::DropAction
363
367
364
368
if ( srcLayer->isValid () )
365
369
{
366
- QString uri = connInfo () + " table=" + u.name + " (geom)" ;
370
+ QString tableName;
371
+ if ( !toSchema.isEmpty () )
372
+ {
373
+ tableName = QString ( " \" %1\" .\" %2\" " ).arg ( toSchema, u.name );
374
+ }
375
+ else
376
+ {
377
+ tableName = u.name ;
378
+ }
379
+
380
+ QString uri = connInfo () + " table=" + tableName + " (geom)" ;
367
381
368
382
QgsVectorLayerImport::ImportError err;
369
383
QString importError;
@@ -474,6 +488,15 @@ void QgsMssqlSchemaItem::addLayers( QgsDataItem* newLayers )
474
488
}
475
489
}
476
490
491
+ bool QgsMssqlSchemaItem::handleDrop ( const QMimeData* data, Qt::DropAction )
492
+ {
493
+ QgsMssqlConnectionItem *conn = qobject_cast<QgsMssqlConnectionItem *>( parent () );
494
+ if ( !conn )
495
+ return 0 ;
496
+
497
+ return conn->handleDrop ( data, mName );
498
+ }
499
+
477
500
QgsMssqlLayerItem* QgsMssqlSchemaItem::addLayer ( QgsMssqlLayerProperty layerProperty, bool refresh )
478
501
{
479
502
QGis::WkbType wkbType = QgsMssqlTableModel::wkbTypeFromMssql ( layerProperty.type );
0 commit comments