diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 5ba7385bb96..f26bec9ad4c 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -5516,7 +5516,7 @@ bool QgisApp::addVectorLayersPrivate( const QStringList &layers, const QString & qApp->processEvents(); } - QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->providerMetadata( QStringLiteral( "ogr" ) )->querySublayers( uri ); + QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->providerMetadata( QStringLiteral( "ogr" ) )->querySublayers( uri, Qgis::SublayerQueryFlag::IncludeSystemTables ); // filter out non-vector sublayers sublayers.erase( std::remove_if( sublayers.begin(), sublayers.end(), []( const QgsProviderSublayerDetails & sublayer ) { @@ -5901,7 +5901,7 @@ QgsPointCloudLayer *QgisApp::addPointCloudLayerPrivate( const QString &uri, cons bool QgisApp::askUserForZipItemLayers( const QString &path, const QList< QgsMapLayerType > &acceptableTypes ) { // query sublayers - QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->querySublayers( path ); + QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->querySublayers( path, Qgis::SublayerQueryFlag::IncludeSystemTables ); // filter out non-matching sublayers sublayers.erase( std::remove_if( sublayers.begin(), sublayers.end(), [acceptableTypes]( const QgsProviderSublayerDetails & sublayer ) @@ -7478,7 +7478,7 @@ bool QgisApp::openLayer( const QString &fileName, bool allowInteractive ) } // query sublayers - QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->querySublayers( fileName ); + QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->querySublayers( fileName, Qgis::SublayerQueryFlag::IncludeSystemTables ); if ( !sublayers.empty() || !nonLayerItems.empty() ) { @@ -13222,7 +13222,7 @@ T *QgisApp::addLayerPrivate( QgsMapLayerType type, const QString &uri, const QSt { // query sublayers QList< QgsProviderSublayerDetails > sublayers = QgsProviderRegistry::instance()->providerMetadata( providerKey ) ? - QgsProviderRegistry::instance()->providerMetadata( providerKey )->querySublayers( updatedUri ) + QgsProviderRegistry::instance()->providerMetadata( providerKey )->querySublayers( updatedUri, Qgis::SublayerQueryFlag::IncludeSystemTables ) : QgsProviderRegistry::instance()->querySublayers( updatedUri ); // filter out non-matching sublayers diff --git a/src/app/qgsprovidersublayersdialog.cpp b/src/app/qgsprovidersublayersdialog.cpp index 6aef194c031..8b724a08127 100644 --- a/src/app/qgsprovidersublayersdialog.cpp +++ b/src/app/qgsprovidersublayersdialog.cpp @@ -184,6 +184,7 @@ QgsProviderSublayersDialog::QgsProviderSublayersDialog( const QString &uri, cons connect( mBtnDeselectAll, &QAbstractButton::pressed, this, [ = ] { mLayersTree->selectionModel()->clear(); } ); connect( mLayersTree->selectionModel(), &QItemSelectionModel::selectionChanged, this, &QgsProviderSublayersDialog::treeSelectionChanged ); connect( mSearchLineEdit, &QgsFilterLineEdit::textChanged, mProxyModel, &QgsProviderSublayerProxyModel::setFilterString ); + connect( mCheckShowSystem, &QCheckBox::toggled, mProxyModel, &QgsProviderSublayerProxyModel::setIncludeSystemTables ); connect( mLayersTree, &QTreeView::doubleClicked, this, [ = ]( const QModelIndex & index ) { mLayersTree->selectionModel()->select( QItemSelection( mLayersTree->model()->index( index.row(), 0, index.parent() ), diff --git a/src/ui/qgsprovidersublayersdialogbase.ui b/src/ui/qgsprovidersublayersdialogbase.ui index 5d1d44c6e9d..e385b9636bb 100644 --- a/src/ui/qgsprovidersublayersdialogbase.ui +++ b/src/ui/qgsprovidersublayersdialogbase.ui @@ -29,20 +29,7 @@ 6 - - - - Current file source - - - true - - - Qt::TextSelectableByMouse - - - - + Qt::Horizontal @@ -68,13 +55,6 @@ - - - - Add layers to a group - - - @@ -90,6 +70,26 @@ + + + + Current file source + + + true + + + Qt::TextSelectableByMouse + + + + + + + Show system and internal tables + + + @@ -120,6 +120,13 @@ + + + + Add layers to a group + + + @@ -136,6 +143,7 @@ mBtnSelectAll mBtnDeselectAll mCbxAddToGroup + mCheckShowSystem