@@ -76,12 +76,7 @@ QgsDataSourceManagerDialog::QgsDataSourceManagerDialog( QWidget *parent, QgsMapC
7676 // Add data provider dialogs
7777 QWidget *dlg = nullptr ;
7878
79- dlg = providerDialog ( QStringLiteral ( " delimitedtext" ), tr ( " Delimited Text" ), QStringLiteral ( " /mActionAddDelimitedTextLayer.svg" ) );
80-
81- if ( dlg )
82- {
83- connect ( dlg, SIGNAL ( addVectorLayer ( QString, QString, QString ) ), this , SLOT ( vectorLayerAdded ( QString, QString, QString ) ) );
84- }
79+ addVectorProviderDialog ( QStringLiteral ( " delimitedtext" ), tr ( " Delimited Text" ), QStringLiteral ( " /mActionAddDelimitedTextLayer.svg" ) );
8580
8681#ifdef HAVE_POSTGRESQL
8782 addDbProviderDialog ( QStringLiteral ( " postgres" ), tr ( " PostgreSQL" ), QStringLiteral ( " /mActionAddPostgisLayer.svg" ) );
@@ -97,11 +92,13 @@ QgsDataSourceManagerDialog::QgsDataSourceManagerDialog( QWidget *parent, QgsMapC
9792 addDbProviderDialog ( QStringLiteral ( " oracle" ), tr ( " Oracle" ), QStringLiteral ( " /mActionAddOracleLayer.svg" ) );
9893#endif
9994
100- dlg = providerDialog ( QStringLiteral ( " virtual" ), tr ( " Virtual Layer" ), QStringLiteral ( " /mActionAddVirtualLayer.svg" ) );
95+ dlg = addVectorProviderDialog ( QStringLiteral ( " virtual" ), tr ( " Virtual Layer" ), QStringLiteral ( " /mActionAddVirtualLayer.svg" ) );
10196
97+ // Apparently this is the only provider using replaceVectorLayer, we should
98+ // move this in to the base abstract class when it is used by at least one
99+ // additional provider.
102100 if ( dlg )
103101 {
104- connect ( dlg, SIGNAL ( addVectorLayer ( QString, QString, QString ) ), this , SLOT ( vectorLayerAdded ( QString, QString, QString ) ) );
105102 connect ( dlg, SIGNAL ( replaceVectorLayer ( QString, QString, QString, QString ) ), this , SIGNAL ( replaceSelectedVectorLayer ( QString, QString, QString, QString ) ) );
106103 }
107104
@@ -197,7 +194,7 @@ QgsAbstractDataSourceWidget *QgsDataSourceManagerDialog::providerDialog( const Q
197194 }
198195}
199196
200- void QgsDataSourceManagerDialog::addDbProviderDialog ( const QString providerKey, const QString providerName, const QString icon, QString title )
197+ QgsAbstractDataSourceWidget * QgsDataSourceManagerDialog::addDbProviderDialog ( const QString providerKey, const QString providerName, const QString icon, QString title )
201198{
202199 QgsAbstractDataSourceWidget *dlg = providerDialog ( providerKey, providerName, icon, title );
203200 if ( dlg )
@@ -211,9 +208,10 @@ void QgsDataSourceManagerDialog::addDbProviderDialog( const QString providerKey,
211208 connect ( dlg, SIGNAL ( connectionsChanged () ), this , SIGNAL ( connectionsChanged () ) );
212209 connect ( this , SIGNAL ( providerDialogsRefreshRequested () ), dlg, SLOT ( refresh () ) );
213210 }
211+ return dlg;
214212}
215213
216- void QgsDataSourceManagerDialog::addRasterProviderDialog ( const QString providerKey, const QString providerName, const QString icon, QString title )
214+ QgsAbstractDataSourceWidget * QgsDataSourceManagerDialog::addRasterProviderDialog ( const QString providerKey, const QString providerName, const QString icon, QString title )
217215{
218216 QgsAbstractDataSourceWidget *dlg = providerDialog ( providerKey, providerName, icon, title );
219217 if ( dlg )
@@ -223,9 +221,10 @@ void QgsDataSourceManagerDialog::addRasterProviderDialog( const QString provider
223221 connect ( dlg, SIGNAL ( connectionsChanged () ), this , SIGNAL ( connectionsChanged () ) );
224222 connect ( this , SIGNAL ( providerDialogsRefreshRequested () ), dlg, SLOT ( refresh () ) );
225223 }
224+ return dlg;
226225}
227226
228- void QgsDataSourceManagerDialog::addVectorProviderDialog ( const QString providerKey, const QString providerName, const QString icon, QString title )
227+ QgsAbstractDataSourceWidget * QgsDataSourceManagerDialog::addVectorProviderDialog ( const QString providerKey, const QString providerName, const QString icon, QString title )
229228{
230229 QgsAbstractDataSourceWidget *dlg = providerDialog ( providerKey, providerName, icon, title );
231230 if ( dlg )
@@ -234,6 +233,7 @@ void QgsDataSourceManagerDialog::addVectorProviderDialog( const QString provider
234233 { this ->vectorLayerAdded ( vectorLayerPath, baseName, providerKey ); } );
235234 connect ( this , SIGNAL ( providerDialogsRefreshRequested () ), dlg, SLOT ( refresh () ) );
236235 }
236+ return dlg;
237237}
238238
239239void QgsDataSourceManagerDialog::showEvent ( QShowEvent *e )
0 commit comments