Skip to content

Commit

Permalink
Revert moving storageType to QgsDataProvider, reword style location l…
Browse files Browse the repository at this point in the history
…abels in QgsMapLayerLoad/SaveStyleDialog
  • Loading branch information
manisandro committed Sep 18, 2023
1 parent e2169be commit b308bce
Show file tree
Hide file tree
Showing 9 changed files with 16 additions and 49 deletions.
5 changes: 0 additions & 5 deletions python/core/auto_generated/providers/qgsdataprovider.sip.in
Expand Up @@ -91,11 +91,6 @@ Abstract base class for spatial data provider implementations.
Create a new dataprovider with the specified in the ``uri``.

Additional creation options are specified within the ``options`` value and since QGIS 3.16 creation flags are specified within the ``flags`` value.
%End

virtual QString storageType() const;
%Docstring
Returns the permanent storage type for this layer as a friendly name.
%End

virtual QgsCoordinateReferenceSystem crs() const = 0;
Expand Down
Expand Up @@ -90,6 +90,11 @@ same time, some synchronization mechanisms must be used (e.g. mutexes) to preven
:return: new instance of :py:class:`QgsAbstractFeatureSource` (caller is responsible for deleting it)

.. versionadded:: 2.4
%End

virtual QString storageType() const;
%Docstring
Returns the permanent storage type for this layer as a friendly name.
%End

virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const = 0;
Expand Down Expand Up @@ -646,8 +651,6 @@ from the ``source`` provider.
.. versionadded:: 3.8.1
%End

virtual QString storageType() const;

virtual QgsVectorDataProviderTemporalCapabilities *temporalCapabilities();


Expand Down
5 changes: 0 additions & 5 deletions src/core/providers/gdal/qgsgdalprovider.cpp
Expand Up @@ -1775,11 +1775,6 @@ QString QgsGdalProvider::providerKey()
return PROVIDER_KEY;
};

QString QgsGdalProvider::storageType() const
{
return mDriverName;
}

QString QgsGdalProvider::description() const
{
return PROVIDER_DESCRIPTION;
Expand Down
1 change: 0 additions & 1 deletion src/core/providers/gdal/qgsgdalprovider.h
Expand Up @@ -129,7 +129,6 @@ class QgsGdalProvider final: public QgsRasterDataProvider, QgsGdalProviderBase
*/
static QString expandAuthConfig( const QString &dsName );

QString storageType() const override;
QString description() const override;
QgsRasterDataProvider::ProviderCapabilities providerCapabilities() const override;
QgsCoordinateReferenceSystem crs() const override;
Expand Down
7 changes: 0 additions & 7 deletions src/core/providers/qgsdataprovider.cpp
Expand Up @@ -28,13 +28,6 @@ QgsDataProvider::QgsDataProvider( const QString &uri, const QgsDataProvider::Pro
mReadFlags = flags;
}

QString QgsDataProvider::storageType() const
{
QGIS_PROTECT_QOBJECT_THREAD_ACCESS

return QStringLiteral( "Generic file" );
}

Qgis::DataProviderFlags QgsDataProvider::flags() const
{
QGIS_PROTECT_QOBJECT_THREAD_ACCESS
Expand Down
5 changes: 0 additions & 5 deletions src/core/providers/qgsdataprovider.h
Expand Up @@ -141,11 +141,6 @@ class CORE_EXPORT QgsDataProvider : public QObject
const QgsDataProvider::ProviderOptions &providerOptions = QgsDataProvider::ProviderOptions(),
QgsDataProvider::ReadFlags flags = QgsDataProvider::ReadFlags() );

/**
* Returns the permanent storage type for this layer as a friendly name.
*/
virtual QString storageType() const;

/**
* Returns the coordinate system for the data source.
* If the provider isn't capable of returning its projection then an invalid
Expand Down
6 changes: 5 additions & 1 deletion src/core/vector/qgsvectordataprovider.h
Expand Up @@ -134,6 +134,11 @@ class CORE_EXPORT QgsVectorDataProvider : public QgsDataProvider, public QgsFeat
*/
virtual QgsAbstractFeatureSource *featureSource() const = 0 SIP_FACTORY;

/**
* Returns the permanent storage type for this layer as a friendly name.
*/
virtual QString storageType() const;

/**
* Query the provider for features specified in request.
* \param request feature request describing parameters of features to return
Expand Down Expand Up @@ -625,7 +630,6 @@ class CORE_EXPORT QgsVectorDataProvider : public QgsDataProvider, public QgsFeat
*/
virtual void handlePostCloneOperations( QgsVectorDataProvider *source );

QString storageType() const override;
QgsVectorDataProviderTemporalCapabilities *temporalCapabilities() override;
const QgsVectorDataProviderTemporalCapabilities *temporalCapabilities() const override SIP_SKIP;

Expand Down
13 changes: 2 additions & 11 deletions src/gui/qgsmaplayerloadstyledialog.cpp
Expand Up @@ -43,15 +43,6 @@ QgsMapLayerLoadStyleDialog::QgsMapLayerLoadStyleDialog( QgsMapLayer *layer, QWid

QgsSettings settings;

QString providerName = mLayer->providerType();
if ( providerName == QLatin1String( "ogr" ) )
{
QgsVectorLayer *vl = qobject_cast< QgsVectorLayer * >( mLayer );
providerName = vl->dataProvider()->storageType();
if ( providerName == QLatin1String( "GPKG" ) )
providerName = QStringLiteral( "GeoPackage" );
}

const QString myLastUsedDir = settings.value( QStringLiteral( "style/lastStyleDir" ), QDir::homePath() ).toString();

// load style type combobox
Expand All @@ -66,12 +57,12 @@ QgsMapLayerLoadStyleDialog::QgsMapLayerLoadStyleDialog( QgsMapLayer *layer, QWid
mStyleCategoriesListView->setEnabled( currentStyleType() != QgsLayerPropertiesDialog::StyleType::SLD );
updateLoadButtonState();
} );
mStyleTypeComboBox->addItem( tr( "From File" ), QgsLayerPropertiesDialog::QML ); // QML is used as entry, but works for SLD too, see currentStyleType()
mStyleTypeComboBox->addItem( tr( "From file" ), QgsLayerPropertiesDialog::QML ); // QML is used as entry, but works for SLD too, see currentStyleType()
mStyleTypeComboBox->addItem( tr( "Default from local database" ), QgsLayerPropertiesDialog::UserDatabase );

if ( mLayer->dataProvider()->styleStorageCapabilities().testFlag( Qgis::ProviderStyleStorageCapability::LoadFromDatabase ) )
{
mStyleTypeComboBox->addItem( tr( "From Database (%1)" ).arg( providerName ), QgsLayerPropertiesDialog::StyleType::DatasourceDatabase );
mStyleTypeComboBox->addItem( tr( "From datasource database" ), QgsLayerPropertiesDialog::StyleType::DatasourceDatabase );
if ( settings.value( QStringLiteral( "style/lastLoadStyleTypeSelection" ) ) == QgsLayerPropertiesDialog::StyleType::DatasourceDatabase )
{
mStyleTypeComboBox->setCurrentIndex( mStyleTypeComboBox->findData( QgsLayerPropertiesDialog::StyleType::DatasourceDatabase ) );
Expand Down
16 changes: 4 additions & 12 deletions src/gui/qgsmaplayersavestyledialog.cpp
Expand Up @@ -84,23 +84,15 @@ QgsMapLayerSaveStyleDialog::QgsMapLayerSaveStyleDialog( QgsMapLayer *layer, QWid

void QgsMapLayerSaveStyleDialog::populateStyleComboBox()
{
QString providerName = mLayer->providerType();
if ( providerName == QLatin1String( "ogr" ) )
{
providerName = mLayer->dataProvider()->storageType();
if ( providerName == QLatin1String( "GPKG" ) )
providerName = QStringLiteral( "GeoPackage" );
}

mStyleTypeComboBox->clear();
mStyleTypeComboBox->addItem( tr( "As QGIS QML Style File" ), QgsLayerPropertiesDialog::QML );
mStyleTypeComboBox->addItem( tr( "As SLD Style File" ), QgsLayerPropertiesDialog::SLD );
mStyleTypeComboBox->addItem( tr( "As QGIS QML style file" ), QgsLayerPropertiesDialog::QML );
mStyleTypeComboBox->addItem( tr( "As SLD style file" ), QgsLayerPropertiesDialog::SLD );

if ( mLayer->dataProvider()->styleStorageCapabilities().testFlag( Qgis::ProviderStyleStorageCapability::SaveToDatabase ) )
mStyleTypeComboBox->addItem( tr( "In Database (%1)" ).arg( providerName ), QgsLayerPropertiesDialog::DatasourceDatabase );
mStyleTypeComboBox->addItem( tr( "In datasource database" ), QgsLayerPropertiesDialog::DatasourceDatabase );

if ( mSaveOnlyCurrentStyle )
mStyleTypeComboBox->addItem( tr( "As Default In Local Database" ), QgsLayerPropertiesDialog::UserDatabase );
mStyleTypeComboBox->addItem( tr( "As default in local user database" ), QgsLayerPropertiesDialog::UserDatabase );
}

void QgsMapLayerSaveStyleDialog::accept()
Expand Down

0 comments on commit b308bce

Please sign in to comment.