@@ -76,12 +76,7 @@ QgsDataSourceManagerDialog::QgsDataSourceManagerDialog( QWidget *parent, QgsMapC
76
76
// Add data provider dialogs
77
77
QWidget *dlg = nullptr ;
78
78
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" ) );
85
80
86
81
#ifdef HAVE_POSTGRESQL
87
82
addDbProviderDialog ( QStringLiteral ( " postgres" ), tr ( " PostgreSQL" ), QStringLiteral ( " /mActionAddPostgisLayer.svg" ) );
@@ -97,11 +92,13 @@ QgsDataSourceManagerDialog::QgsDataSourceManagerDialog( QWidget *parent, QgsMapC
97
92
addDbProviderDialog ( QStringLiteral ( " oracle" ), tr ( " Oracle" ), QStringLiteral ( " /mActionAddOracleLayer.svg" ) );
98
93
#endif
99
94
100
- dlg = providerDialog ( QStringLiteral ( " virtual" ), tr ( " Virtual Layer" ), QStringLiteral ( " /mActionAddVirtualLayer.svg" ) );
95
+ dlg = addVectorProviderDialog ( QStringLiteral ( " virtual" ), tr ( " Virtual Layer" ), QStringLiteral ( " /mActionAddVirtualLayer.svg" ) );
101
96
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.
102
100
if ( dlg )
103
101
{
104
- connect ( dlg, SIGNAL ( addVectorLayer ( QString, QString, QString ) ), this , SLOT ( vectorLayerAdded ( QString, QString, QString ) ) );
105
102
connect ( dlg, SIGNAL ( replaceVectorLayer ( QString, QString, QString, QString ) ), this , SIGNAL ( replaceSelectedVectorLayer ( QString, QString, QString, QString ) ) );
106
103
}
107
104
@@ -197,7 +194,7 @@ QgsAbstractDataSourceWidget *QgsDataSourceManagerDialog::providerDialog( const Q
197
194
}
198
195
}
199
196
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 )
201
198
{
202
199
QgsAbstractDataSourceWidget *dlg = providerDialog ( providerKey, providerName, icon, title );
203
200
if ( dlg )
@@ -211,9 +208,10 @@ void QgsDataSourceManagerDialog::addDbProviderDialog( const QString providerKey,
211
208
connect ( dlg, SIGNAL ( connectionsChanged () ), this , SIGNAL ( connectionsChanged () ) );
212
209
connect ( this , SIGNAL ( providerDialogsRefreshRequested () ), dlg, SLOT ( refresh () ) );
213
210
}
211
+ return dlg;
214
212
}
215
213
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 )
217
215
{
218
216
QgsAbstractDataSourceWidget *dlg = providerDialog ( providerKey, providerName, icon, title );
219
217
if ( dlg )
@@ -223,9 +221,10 @@ void QgsDataSourceManagerDialog::addRasterProviderDialog( const QString provider
223
221
connect ( dlg, SIGNAL ( connectionsChanged () ), this , SIGNAL ( connectionsChanged () ) );
224
222
connect ( this , SIGNAL ( providerDialogsRefreshRequested () ), dlg, SLOT ( refresh () ) );
225
223
}
224
+ return dlg;
226
225
}
227
226
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 )
229
228
{
230
229
QgsAbstractDataSourceWidget *dlg = providerDialog ( providerKey, providerName, icon, title );
231
230
if ( dlg )
@@ -234,6 +233,7 @@ void QgsDataSourceManagerDialog::addVectorProviderDialog( const QString provider
234
233
{ this ->vectorLayerAdded ( vectorLayerPath, baseName, providerKey ); } );
235
234
connect ( this , SIGNAL ( providerDialogsRefreshRequested () ), dlg, SLOT ( refresh () ) );
236
235
}
236
+ return dlg;
237
237
}
238
238
239
239
void QgsDataSourceManagerDialog::showEvent ( QShowEvent *e )
0 commit comments