From 958f5e69b469d92163f19a30cd9dfd8a9fe3189d Mon Sep 17 00:00:00 2001 From: Martin Dobias Date: Tue, 5 Mar 2013 21:35:08 +0100 Subject: [PATCH] Added option to load newly exported OpenStreetMap layer to canvas --- src/app/openstreetmap/qgsosmexportdialog.cpp | 15 +++++++++++++++ src/ui/qgsosmexportdialog.ui | 15 +++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/app/openstreetmap/qgsosmexportdialog.cpp b/src/app/openstreetmap/qgsosmexportdialog.cpp index 1ea9a04ec556..d5cfb111655e 100644 --- a/src/app/openstreetmap/qgsosmexportdialog.cpp +++ b/src/app/openstreetmap/qgsosmexportdialog.cpp @@ -17,6 +17,10 @@ #include "qgsosmdatabase.h" +#include "qgsdatasourceuri.h" +#include "qgsmaplayerregistry.h" +#include "qgsvectorlayer.h" + #include #include #include @@ -148,6 +152,17 @@ void QgsOSMExportDialog::onOK() bool res = mDatabase->exportSpatiaLite( type, editLayerName->text(), tagKeys ); + // load the layer into canvas if that was requested + if ( chkLoadWhenFinished->isChecked() ) + { + QgsDataSourceURI uri; + uri.setDatabase( editDbFileName->text() ); + uri.setDataSource( QString(), editLayerName->text(), "geometry" ); + QgsVectorLayer* vlayer = new QgsVectorLayer( uri.uri(), editLayerName->text(), "spatialite" ); + if ( vlayer->isValid() ) + QgsMapLayerRegistry::instance()->addMapLayer( vlayer ); + } + QApplication::restoreOverrideCursor(); buttonBox->setEnabled( true ); diff --git a/src/ui/qgsosmexportdialog.ui b/src/ui/qgsosmexportdialog.ui index 791ae3dc9f44..76613549a485 100644 --- a/src/ui/qgsosmexportdialog.ui +++ b/src/ui/qgsosmexportdialog.ui @@ -6,8 +6,8 @@ 0 0 - 458 - 436 + 456 + 434 @@ -118,6 +118,16 @@ + + + + &Load into canvas when finished + + + true + + + @@ -150,6 +160,7 @@ editLayerName btnLoadTags viewTags + chkLoadWhenFinished buttonBox