@@ -1587,7 +1587,7 @@ bool QgisApp::event( QEvent *event )
1587
1587
return done;
1588
1588
}
1589
1589
1590
- void QgisApp::dataSourceManager ()
1590
+ void QgisApp::dataSourceManager ( QString pageName )
1591
1591
{
1592
1592
if ( ! mDataSourceManagerDialog )
1593
1593
{
@@ -1605,6 +1605,11 @@ void QgisApp::dataSourceManager()
1605
1605
connect ( mDataSourceManagerDialog , &QgsDataSourceManagerDialog::replaceSelectedVectorLayer, this , &QgisApp::replaceSelectedVectorLayer );
1606
1606
connect ( mDataSourceManagerDialog , static_cast <void ( QgsDataSourceManagerDialog::* )()>( &QgsDataSourceManagerDialog::addRasterLayer ), this , static_cast <void ( QgisApp::* )()>( &QgisApp::addRasterLayer ) );
1607
1607
}
1608
+ // Try to open the dialog on a particular page
1609
+ if ( ! pageName.isEmpty ( ) )
1610
+ {
1611
+ mDataSourceManagerDialog ->openPage ( pageName );
1612
+ }
1608
1613
if ( QgsSettings ().value ( " /qgis/dataSourceManagerNonModal" , true ).toBool ( ) )
1609
1614
{
1610
1615
mDataSourceManagerDialog ->show ();
@@ -1839,7 +1844,7 @@ void QgisApp::createActions()
1839
1844
1840
1845
// Layer Menu Items
1841
1846
1842
- connect ( mActionDataSourceManager , &QAction::triggered, this , &QgisApp:: dataSourceManager );
1847
+ connect ( mActionDataSourceManager , &QAction::triggered, this , [ = ]( ) { dataSourceManager ( ); } );
1843
1848
connect ( mActionNewVectorLayer , &QAction::triggered, this , &QgisApp::newVectorLayer );
1844
1849
connect ( mActionNewSpatiaLiteLayer , &QAction::triggered, this , &QgisApp::newSpatialiteLayer );
1845
1850
connect ( mActionNewGeoPackageLayer , &QAction::triggered, this , &QgisApp::newGeoPackageLayer );
@@ -1848,20 +1853,20 @@ void QgisApp::createActions()
1848
1853
connect ( mActionShowAlignRasterTool , &QAction::triggered, this , &QgisApp::showAlignRasterTool );
1849
1854
connect ( mActionEmbedLayers , &QAction::triggered, this , &QgisApp::embedLayers );
1850
1855
connect ( mActionAddLayerDefinition , &QAction::triggered, this , &QgisApp::addLayerDefinition );
1851
- connect ( mActionAddOgrLayer , &QAction::triggered, this , [ = ] { addVectorLayer ( ); } );
1852
- connect ( mActionAddRasterLayer , &QAction::triggered, this , [ = ] { addRasterLayer ( ); } );
1853
- connect ( mActionAddPgLayer , &QAction::triggered, this , &QgisApp::addDatabaseLayer );
1854
- connect ( mActionAddSpatiaLiteLayer , &QAction::triggered, this , &QgisApp::addSpatiaLiteLayer );
1855
- connect ( mActionAddMssqlLayer , &QAction::triggered, this , &QgisApp::addMssqlLayer );
1856
- connect ( mActionAddDb2Layer , &QAction::triggered, this , &QgisApp::addDb2Layer );
1857
- connect ( mActionAddOracleLayer , &QAction::triggered, this , &QgisApp::addOracleLayer );
1858
- connect ( mActionAddWmsLayer , &QAction::triggered, this , &QgisApp::addWmsLayer );
1859
- connect ( mActionAddWcsLayer , &QAction::triggered, this , &QgisApp::addWcsLayer );
1860
- connect ( mActionAddWfsLayer , &QAction::triggered, this , [ = ] { addWfsLayer ( ); } );
1861
- connect ( mActionAddAfsLayer , &QAction::triggered, this , [ = ] { addAfsLayer ( ); } );
1862
- connect ( mActionAddAmsLayer , &QAction::triggered, this , [ = ] { addAmsLayer ( ); } );
1863
- connect ( mActionAddDelimitedText , &QAction::triggered, this , &QgisApp::addDelimitedTextLayer );
1864
- connect ( mActionAddVirtualLayer , &QAction::triggered, this , &QgisApp::addVirtualLayer );
1856
+ connect ( mActionAddOgrLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " ogr " ) ); } );
1857
+ connect ( mActionAddRasterLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " raster " ) ); } );
1858
+ connect ( mActionAddPgLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " postgres " ) ); } );
1859
+ connect ( mActionAddSpatiaLiteLayer , &QAction::triggered, [ = ] { dataSourceManager ( QStringLiteral ( " spatialite " ) ); } );
1860
+ connect ( mActionAddMssqlLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " mssql " ) ); } );
1861
+ connect ( mActionAddDb2Layer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " DB2 " ) ); } );
1862
+ connect ( mActionAddOracleLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " oracle " ) ); } );
1863
+ connect ( mActionAddWmsLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " wms " ) ); } );
1864
+ connect ( mActionAddWcsLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " wcs " ) ); } );
1865
+ connect ( mActionAddWfsLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " WFS " ) ); } );
1866
+ connect ( mActionAddAfsLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " arcgisfeatureserver " ) ); } );
1867
+ connect ( mActionAddAmsLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " arcgismapserver " ) ); } );
1868
+ connect ( mActionAddDelimitedText , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " delimitedtext " ) ); } );
1869
+ connect ( mActionAddVirtualLayer , &QAction::triggered, this , [ = ] { dataSourceManager ( QStringLiteral ( " virtual " ) ); } );
1865
1870
connect ( mActionOpenTable , &QAction::triggered, this , &QgisApp::attributeTable );
1866
1871
connect ( mActionOpenFieldCalc , &QAction::triggered, this , &QgisApp::fieldCalculator );
1867
1872
connect ( mActionToggleEditing , &QAction::triggered, this , [ = ] { toggleEditing (); } );
@@ -3896,31 +3901,6 @@ QString QgisApp::crsAndFormatAdjustedLayerUri( const QString &uri, const QString
3896
3901
return newuri;
3897
3902
}
3898
3903
3899
- /* *
3900
- This method prompts the user for a list of vector file names with a dialog.
3901
- */
3902
- void QgisApp::addVectorLayer ()
3903
- {
3904
- freezeCanvases ();
3905
- QgsOpenVectorLayerDialog *ovl = new QgsOpenVectorLayerDialog ( this );
3906
-
3907
- if ( ovl->exec () )
3908
- {
3909
- QStringList selectedSources = ovl->dataSources ();
3910
- QString enc = ovl->encoding ();
3911
- if ( !selectedSources.isEmpty () )
3912
- {
3913
- addVectorLayers ( selectedSources, enc, ovl->dataSourceType () );
3914
- }
3915
- }
3916
-
3917
- freezeCanvases ( false );
3918
- refreshMapCanvas ();
3919
-
3920
- delete ovl;
3921
- }
3922
-
3923
-
3924
3904
bool QgisApp::addVectorLayers ( const QStringList &layerQStringList, const QString &enc, const QString &dataSourceType )
3925
3905
{
3926
3906
bool wasfrozen = mMapCanvas ->isFrozen ();
@@ -4667,132 +4647,6 @@ void QgisApp::addOracleLayer()
4667
4647
#endif
4668
4648
} // QgisApp::addOracleLayer()
4669
4649
4670
- void QgisApp::addWmsLayer ()
4671
- {
4672
- // Fudge for now
4673
- QgsDebugMsg ( " about to addRasterLayer" );
4674
-
4675
- // TODO: QDialog for now, switch to QWidget in future
4676
- QDialog *wmss = dynamic_cast <QDialog *>( QgsProviderRegistry::instance ()->createSelectionWidget ( QStringLiteral ( " wms" ), this ) );
4677
- if ( !wmss )
4678
- {
4679
- QMessageBox::warning ( this , tr ( " WMS" ), tr ( " Cannot get WMS select dialog from provider." ) );
4680
- return ;
4681
- }
4682
- connect ( wmss, SIGNAL ( addRasterLayer ( QString const &, QString const &, QString const & ) ),
4683
- this , SLOT ( addRasterLayer ( QString const &, QString const &, QString const & ) ) );
4684
- wmss->exec ();
4685
- delete wmss;
4686
- }
4687
-
4688
- void QgisApp::addWcsLayer ()
4689
- {
4690
- QgsDebugMsg ( " about to addWcsLayer" );
4691
-
4692
- // TODO: QDialog for now, switch to QWidget in future
4693
- QDialog *wcss = dynamic_cast <QDialog *>( QgsProviderRegistry::instance ()->createSelectionWidget ( QStringLiteral ( " wcs" ), this ) );
4694
- if ( !wcss )
4695
- {
4696
- QMessageBox::warning ( this , tr ( " WCS" ), tr ( " Cannot get WCS select dialog from provider." ) );
4697
- return ;
4698
- }
4699
- connect ( wcss, SIGNAL ( addRasterLayer ( QString const &, QString const &, QString const & ) ),
4700
- this , SLOT ( addRasterLayer ( QString const &, QString const &, QString const & ) ) );
4701
- wcss->exec ();
4702
- delete wcss;
4703
- }
4704
-
4705
- void QgisApp::addWfsLayer ()
4706
- {
4707
- QgsDebugMsg ( " about to addWfsLayer" );
4708
-
4709
- // TODO: QDialog for now, switch to QWidget in future
4710
- QDialog *wfss = dynamic_cast <QDialog *>( QgsProviderRegistry::instance ()->createSelectionWidget ( QStringLiteral ( " WFS" ), this ) );
4711
- if ( !wfss )
4712
- {
4713
- QMessageBox::warning ( this , tr ( " WFS" ), tr ( " Cannot get WFS select dialog from provider." ) );
4714
- return ;
4715
- }
4716
- connect ( wfss, SIGNAL ( addWfsLayer ( QString, QString ) ),
4717
- this , SLOT ( addWfsLayer ( QString, QString ) ) );
4718
-
4719
- wfss->exec ();
4720
- delete wfss;
4721
- }
4722
-
4723
- void QgisApp::addWfsLayer ( const QString &uri, const QString &typeName )
4724
- {
4725
- // TODO: this should be eventually moved to a more reasonable place
4726
- addVectorLayer ( uri, typeName, QStringLiteral ( " WFS" ) );
4727
- }
4728
-
4729
- void QgisApp::addAfsLayer ()
4730
- {
4731
- if ( !mapCanvas () )
4732
- {
4733
- return ;
4734
- }
4735
-
4736
- QgsDebugMsg ( " about to addAfsLayer" );
4737
-
4738
- // TODO: QDialog for now, switch to QWidget in future
4739
- QgsSourceSelectDialog *afss = dynamic_cast <QgsSourceSelectDialog *>( QgsProviderRegistry::instance ()->createSelectionWidget ( QStringLiteral ( " arcgisfeatureserver" ), this ) );
4740
- if ( !afss )
4741
- {
4742
- QMessageBox::warning ( this , tr ( " ArcGIS Feature Server" ), tr ( " Cannot get ArcGIS Feature Server select dialog from provider." ) );
4743
- return ;
4744
- }
4745
- afss->setCurrentExtentAndCrs ( mapCanvas ()->extent (), mapCanvas ()->mapSettings ().destinationCrs () );
4746
- connect ( afss, &QgsSourceSelectDialog::addLayer,
4747
- this , [ = ]( const QString & uri, const QString & typeName ) { addAfsLayer ( uri, typeName ); } );
4748
-
4749
- bool wasFrozen = mapCanvas ()->isFrozen ();
4750
- freezeCanvases ();
4751
- afss->exec ();
4752
- if ( !wasFrozen )
4753
- freezeCanvases ( false );
4754
- delete afss;
4755
- }
4756
-
4757
- void QgisApp::addAfsLayer ( const QString &uri, const QString &typeName )
4758
- {
4759
- // TODO: this should be eventually moved to a more reasonable place
4760
- addVectorLayer ( uri, typeName, QStringLiteral ( " arcgisfeatureserver" ) );
4761
- }
4762
-
4763
- void QgisApp::addAmsLayer ()
4764
- {
4765
- if ( !mapCanvas () )
4766
- {
4767
- return ;
4768
- }
4769
-
4770
- QgsDebugMsg ( " about to addAmsLayer" );
4771
-
4772
- // TODO: QDialog for now, switch to QWidget in future
4773
- QgsSourceSelectDialog *amss = dynamic_cast <QgsSourceSelectDialog *>( QgsProviderRegistry::instance ()->createSelectionWidget ( QStringLiteral ( " arcgismapserver" ), this ) );
4774
- if ( !amss )
4775
- {
4776
- QMessageBox::warning ( this , tr ( " ArcGIS Map Server" ), tr ( " Cannot get ArcGIS Map Server select dialog from provider." ) );
4777
- return ;
4778
- }
4779
- amss->setCurrentExtentAndCrs ( mapCanvas ()->extent (), mapCanvas ()->mapSettings ().destinationCrs () );
4780
- connect ( amss, &QgsSourceSelectDialog::addLayer,
4781
- this , [ = ]( const QString & uri, const QString & typeName ) { addAmsLayer ( uri, typeName ); } );
4782
-
4783
- bool wasFrozen = mapCanvas ()->isFrozen ();
4784
- freezeCanvases ();
4785
- amss->exec ();
4786
- if ( !wasFrozen )
4787
- freezeCanvases ( false );
4788
- delete amss;
4789
- }
4790
-
4791
- void QgisApp::addAmsLayer ( const QString &uri, const QString &typeName )
4792
- {
4793
- // TODO: this should be eventually moved to a more reasonable place
4794
- addRasterLayer ( uri, typeName, QStringLiteral ( " arcgismapserver" ) );
4795
- }
4796
4650
4797
4651
void QgisApp::fileExit ()
4798
4652
{
0 commit comments