diff --git a/src/gui/qgsdatasourcemanagerdialog.cpp b/src/gui/qgsdatasourcemanagerdialog.cpp index db96e186bb6a..c596b2573292 100644 --- a/src/gui/qgsdatasourcemanagerdialog.cpp +++ b/src/gui/qgsdatasourcemanagerdialog.cpp @@ -60,6 +60,7 @@ QgsDataSourceManagerDialog::QgsDataSourceManagerDialog( QWidget *parent, QgsMapC ogrItem->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddOgrLayer.svg" ) ) ); ogrItem->setToolTip( tr( "Add Vector layer" ) ); connect( ovl, &QgsOpenVectorLayerDialog::addVectorLayers, this, &QgsDataSourceManagerDialog::vectorLayersAdded ); + connect( ovl, &QgsOpenVectorLayerDialog::rejected, this, &QgsDataSourceManagerDialog::reject ); mPageNames.append( QStringLiteral( "ogr" ) ); // RASTER (forward to app) @@ -187,6 +188,7 @@ QgsAbstractDataSourceWidget *QgsDataSourceManagerDialog::providerDialog( const Q { dlg->setMapCanvas( mMapCanvas ); } + connect( dlg, &QgsAbstractDataSourceWidget::rejected, this, &QgsDataSourceManagerDialog::reject ); return dlg; } } @@ -229,3 +231,9 @@ void QgsDataSourceManagerDialog::addVectorProviderDialog( const QString provider connect( this, SIGNAL( providerDialogsRefreshRequested() ), dlg, SLOT( refresh() ) ); } } + +void QgsDataSourceManagerDialog::showEvent( QShowEvent *e ) +{ + ui->mOptionsStackedWidget->currentWidget()->show(); + QDialog::showEvent( e ); +} diff --git a/src/gui/qgsdatasourcemanagerdialog.h b/src/gui/qgsdatasourcemanagerdialog.h index b81835648f7c..5543b0fd87a3 100644 --- a/src/gui/qgsdatasourcemanagerdialog.h +++ b/src/gui/qgsdatasourcemanagerdialog.h @@ -78,6 +78,9 @@ class GUI_EXPORT QgsDataSourceManagerDialog : public QgsOptionsDialogBase, priva //! Refresh the browser view void refresh(); + protected: + virtual void showEvent( QShowEvent *event ) override; + signals: //! Emitted when a raster layer was selected for addition: for signal forwarding to QgisApp void addRasterLayer( const QString &uri, const QString &baseName, const QString &providerKey );