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