Misc fixes to get the branch compiling & running with Python

- grass data item provider fixes
- removed QgsProviderMetadata constructor (with std::function / PyObject) due to sip errors (api break)
- reverted DataCapability move to Qgis - back to QgsDataProvider (avoiding api breaks)
- WidgetMode enum documentation
- sipify monkey patching fix
- renamed WidgetMode's "None" to "Normal" value - in python None has special meaning (api break)
This commit is contained in:
Martin Dobias 2019-06-19 23:02:11 +02:00
parent 62d615c2cd
commit f6049e01d0
68 changed files with 152 additions and 299 deletions

View File

@ -44,17 +44,6 @@ The Qgis class provides global constants for use throughout the application.
None
};
enum DataCapability
{
NoDataCapabilities,
File,
Dir,
Database,
Net
};
typedef QFlags<Qgis::DataCapability> DataCapabilities;
enum DataType
{
UnknownDataType,
@ -93,8 +82,6 @@ The Qgis class provides global constants for use throughout the application.
static const QgsTolerance::UnitType DEFAULT_SNAP_UNITS;
};
QFlags<Qgis::DataCapability> operator|(Qgis::DataCapability f1, QFlags<Qgis::DataCapability> f2);

View File

@ -38,7 +38,7 @@ or directory being inspected, parent item is a valid QgsDirectoryItem
Human-readable name of the provider name
%End
virtual Qgis::DataCapabilities capabilities() const = 0;
virtual int capabilities() const = 0;
%Docstring
Returns combination of flags from QgsDataProvider.DataCapabilities
%End

View File

@ -40,6 +40,17 @@ Abstract base class for spatial data provider implementations.
%End
public:
enum DataCapability
{
NoDataCapabilities,
File,
Dir,
Database,
Net
};
typedef QFlags<QgsDataProvider::DataCapability> DataCapabilities;
enum ProviderProperty
{
EvaluateDefaultValues,

View File

@ -55,55 +55,10 @@ Constructor for provider metadata
:param key: provider key
:param description: provider description
.. versionadded:: 3.10
%End
QgsProviderMetadata( const QString &key, const QString &description, SIP_PYCALLABLE / AllowNone / );
%Docstring
Metadata for provider with direct provider creation function pointer, where
no library is involved.
.. versionadded:: 3.0
.. deprecated:: QGIS 3.10
%End
%MethodCode
// Make sure the callable doesn't get garbage collected, this is needed because refcount for a2 is 0
// and the creation function pointer is passed to the metadata and it needs to be kept in memory.
Py_INCREF( a2 );
Py_BEGIN_ALLOW_THREADS
sipCpp = new QgsProviderMetadata( *a0, *a1, [a2]( const QString &dataSource, const QgsDataProvider::ProviderOptions &providerOptions ) -> QgsDataProvider*
{
QgsDataProvider *provider;
provider = nullptr;
PyObject *sipResObj;
SIP_BLOCK_THREADS
sipResObj = sipCallMethod( nullptr, a2, "DD", new QString( dataSource ), sipType_QString, nullptr, new QgsDataProvider::ProviderOptions( providerOptions ), sipType_QgsDataProvider_ProviderOptions, NULL );
if ( sipResObj )
{
if ( sipCanConvertToType( sipResObj, sipType_QgsDataProvider, SIP_NOT_NONE ) )
{
int state0;
int sipIsErr = 0;
provider = reinterpret_cast<QgsDataProvider *>( sipConvertToType( sipResObj, sipType_QgsDataProvider, nullptr, SIP_NOT_NONE, &state0, &sipIsErr ) );
if ( sipIsErr != 0 )
{
sipReleaseType( provider, sipType_QgsDataProvider, state0 );
provider = nullptr;
}
}
}
SIP_UNBLOCK_THREADS
return provider;
} );
Py_END_ALLOW_THREADS
%End
virtual ~QgsProviderMetadata();
@ -169,20 +124,6 @@ Class factory to return a pointer to a newly created QgsDataProvider object
.. versionadded:: 3.0
%End
virtual QgsVectorLayerExporter::ExportError createEmptyLayer(
const QString &uri,
const QgsFields &fields,
QgsWkbTypes::Type wkbType,
const QgsCoordinateReferenceSystem &srs,
bool overwrite,
QMap<int, int> &oldToNewAttrIdxMap,
QString &errorMessage,
const QMap<QString, QVariant> *options );
%Docstring
Creates new empty vector layer
.. versionadded:: 3.10
%End
virtual QgsRasterDataProvider *createRasterDataProvider(
const QString &uri,

View File

@ -79,21 +79,6 @@ Creates a new instance of a provider.
.. seealso:: :py:func:`createRasterDataProvider`
%End
QgsVectorLayerExporter::ExportError createEmptyLayer(
const QString &providerKey,
const QString &uri,
const QgsFields &fields,
QgsWkbTypes::Type wkbType,
const QgsCoordinateReferenceSystem &srs,
bool overwrite,
QMap<int, int> &oldToNewAttrIdxMap,
QString &errorMessage,
const QMap<QString, QVariant> *options );
%Docstring
Creates new empty vector layer
.. versionadded:: 3.10
%End
virtual QgsRasterDataProvider *createRasterDataProvider(
const QString &providerKey,
@ -118,17 +103,6 @@ Creates new instance of raster data provider
Returns list of raster pyramid resampling methods
.. versionadded:: 3.10
%End
Qgis::DataCapabilities providerCapabilities( const QString &providerKey ) const;
%Docstring
Returns the provider capabilities
:param providerKey: identifier of the provider
:return: QgsDataProvider.DataCapability
.. versionadded:: 2.6
%End
QVariantMap decodeUri( const QString &providerKey, const QString &uri );

View File

@ -33,7 +33,6 @@ entire layer to the destination provider.
enum ExportError
{
NoError,
ErrNotImplemented,
ErrCreateDataSource,
ErrCreateLayer,
ErrAttributeTypeUnsupported,

View File

@ -1,11 +1,11 @@
# The following has been generated automatically from src/gui/qgsabstractdatasourcewidget.h
QgsAbstractDataSourceWidget.WidgetMode = QgsAbstractDataSourceWidgetMode
# monkey patching scoped based enum
QgsAbstractDataSourceWidget.None = QgsAbstractDataSourceWidgetMode.None
QgsAbstractDataSourceWidget.None.__doc__ = ""
QgsAbstractDataSourceWidget.Normal = QgsAbstractDataSourceWidgetMode.Normal
QgsAbstractDataSourceWidget.Normal.__doc__ = ""
QgsAbstractDataSourceWidget.Embedded = QgsAbstractDataSourceWidgetMode.Embedded
QgsAbstractDataSourceWidget.Embedded.__doc__ = ""
QgsAbstractDataSourceWidget.Manager = QgsAbstractDataSourceWidgetMode.Manager
QgsAbstractDataSourceWidget.Manager.__doc__ = ""
QgsAbstractDataSourceWidgetMode.__doc__ = 'Different ways a source select dialog can be used\n(embedded is for the data source manager dialog)\n\n.. versionadded:: 3.10\n\n' + '* ``None``: ' + QgsAbstractDataSourceWidgetMode.None.__doc__ + '\n' + '* ``Embedded``: ' + QgsAbstractDataSourceWidgetMode.Embedded.__doc__ + '\n' + '* ``Manager``: ' + QgsAbstractDataSourceWidgetMode.Manager.__doc__
QgsAbstractDataSourceWidgetMode.__doc__ = 'Used by data items for :py:func:`QgsDataItem.paramWidget()` Originally used by QGIS Browser,\nbut does not seem to be in live code anymore. The mode was meant to avoid some actions\nto keep the browser interface simple (supposedly).\n\n' + '* ``Normal``: ' + QgsAbstractDataSourceWidgetMode.Normal.__doc__ + '\n' + '* ``Embedded``: ' + QgsAbstractDataSourceWidgetMode.Embedded.__doc__ + '\n' + '* ``Manager``: ' + QgsAbstractDataSourceWidgetMode.Manager.__doc__
# --

View File

@ -13,8 +13,11 @@
enum class QgsAbstractDataSourceWidgetMode
{
None,
Normal,
Embedded,
Manager,
};
@ -128,7 +131,7 @@ Emitted when the ok/add buttons should be enabled/disabled
protected:
QgsAbstractDataSourceWidget( QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsAbstractDataSourceWidget( QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
%Docstring
Constructor
%End

View File

@ -33,7 +33,7 @@ layers from the WCS server to the map canvas.
QString label;
};
QgsOWSSourceSelect( const QString &service, QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsOWSSourceSelect( const QString &service, QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
%Docstring
Constructor
%End

View File

@ -991,7 +991,7 @@ while ($LINE_IDX < $LINE_COUNT){
my $comment = $+{co};
dbg_info("is_scope_based:$is_scope_based enum_mk_base:$enum_mk_base monkeypatch:$monkeypatch");
if ($is_scope_based eq "1") {
if ( $monkeypatch eq 1 ){
if ( $monkeypatch eq 1 and $enum_member ne "" ){
if ($enum_mk_base ne "") {
push @OUTPUT_PYTHON, "$enum_mk_base.$enum_member = $enum_qualname.$enum_member\n";
push @OUTPUT_PYTHON, "$enum_mk_base.$enum_member.__doc__ = \"$comment\"\n" ;

View File

@ -59,9 +59,9 @@ QString QgsQlrDataItemProvider::name()
return QStringLiteral( "QLR" );
}
Qgis::DataCapabilities QgsQlrDataItemProvider::capabilities() const
int QgsQlrDataItemProvider::capabilities() const
{
return Qgis::DataCapability::File;
return QgsDataProvider::File;
}
QgsDataItem *QgsQlrDataItemProvider::createDataItem( const QString &path, QgsDataItem *parentItem )
@ -95,9 +95,9 @@ QString QgsQptDataItemProvider::name()
return QStringLiteral( "QPT" );
}
Qgis::DataCapabilities QgsQptDataItemProvider::capabilities() const
int QgsQptDataItemProvider::capabilities() const
{
return Qgis::DataCapability::File;
return QgsDataProvider::File;
}
QgsDataItem *QgsQptDataItemProvider::createDataItem( const QString &path, QgsDataItem *parentItem )
@ -237,9 +237,9 @@ QString QgsPyDataItemProvider::name()
return QStringLiteral( "py" );
}
Qgis::DataCapabilities QgsPyDataItemProvider::capabilities() const
int QgsPyDataItemProvider::capabilities() const
{
return Qgis::DataCapability::File;
return QgsDataProvider::File;
}
QgsDataItem *QgsPyDataItemProvider::createDataItem( const QString &path, QgsDataItem *parentItem )
@ -361,9 +361,9 @@ QString QgsStyleXmlDataItemProvider::name()
return QStringLiteral( "style_xml" );
}
Qgis::DataCapabilities QgsStyleXmlDataItemProvider::capabilities() const
int QgsStyleXmlDataItemProvider::capabilities() const
{
return Qgis::File;
return QgsDataProvider::File;
}
QgsDataItem *QgsStyleXmlDataItemProvider::createDataItem( const QString &path, QgsDataItem *parentItem )
@ -513,9 +513,9 @@ QString QgsProjectDataItemProvider::name()
return QStringLiteral( "project_item" );
}
Qgis::DataCapabilities QgsProjectDataItemProvider::capabilities() const
int QgsProjectDataItemProvider::capabilities() const
{
return Qgis::DataCapability::File;
return QgsDataProvider::File;
}
QgsDataItem *QgsProjectDataItemProvider::createDataItem( const QString &path, QgsDataItem *parentItem )

View File

@ -42,7 +42,7 @@ class QgsQlrDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override;
Qgis::DataCapabilities capabilities() const override;
int capabilities() const override;
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};
@ -84,7 +84,7 @@ class QgsQptDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override;
Qgis::DataCapabilities capabilities() const override;
int capabilities() const override;
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};
@ -129,7 +129,7 @@ class QgsPyDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override;
Qgis::DataCapabilities capabilities() const override;
int capabilities() const override;
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};
@ -176,7 +176,7 @@ class QgsStyleXmlDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override;
Qgis::DataCapabilities capabilities() const override;
int capabilities() const override;
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};
@ -235,7 +235,7 @@ class APP_EXPORT QgsProjectDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override;
Qgis::DataCapabilities capabilities() const override;
int capabilities() const override;
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};

View File

@ -116,7 +116,7 @@ QgsHandleBadLayers::QgsHandleBadLayers( const QList<QDomNode> &layers )
QString datasource = node.namedItem( QStringLiteral( "datasource" ) ).toElement().text();
QString provider = node.namedItem( QStringLiteral( "provider" ) ).toElement().text();
QString vectorProvider = type == QLatin1String( "vector" ) ? provider : tr( "none" );
bool providerFileBased = ( QgsProviderRegistry::instance()->providerCapabilities( provider ) & Qgis::DataCapability::File ) != 0;
bool providerFileBased = ( provider == QStringLiteral( "gdal" ) || provider == QStringLiteral( "ogr" ) || provider == QStringLiteral( "mdal" ) );
const QString basepath = datasource.left( datasource.lastIndexOf( '/' ) );
mFileBase[name].append( basepath );

View File

@ -51,7 +51,7 @@ class QgsGdalDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "GDAL" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::File | Qgis::DataCapability::Dir | Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::File | QgsDataProvider::Dir | QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -146,7 +146,7 @@ class CORE_EXPORT QgsGeoPackageDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override { return QStringLiteral( "GPKG" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Database; }
int capabilities() const override { return QgsDataProvider::Database; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};

View File

@ -104,7 +104,7 @@ class CORE_EXPORT QgsOgrDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "OGR" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::File | Qgis::DataCapability::Dir | Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::File | QgsDataProvider::Dir | QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;

View File

@ -72,25 +72,6 @@ class CORE_EXPORT Qgis
None = 4
};
/**
* \brief Data provider capability
*
* Used in browser model to understand
* which items for which providers should
* be populated
*
* \since QGIS 3.10
*/
enum DataCapability : int
{
NoDataCapabilities = 0,
File = 1,
Dir = 1 << 1,
Database = 1 << 2,
Net = 1 << 3 // Internet source
};
Q_DECLARE_FLAGS( DataCapabilities, DataCapability )
/**
* Raster data types.
* This is modified and extended copy of GDALDataType.
@ -169,7 +150,6 @@ class CORE_EXPORT Qgis
*/
static const QgsTolerance::UnitType DEFAULT_SNAP_UNITS;
};
Q_DECLARE_OPERATORS_FOR_FLAGS( Qgis::DataCapabilities )
// hack to workaround warnings when casting void pointers
// retrieved from QLibrary::resolve to function pointers.

View File

@ -125,13 +125,13 @@ void QgsBrowserModel::addRootItems()
#endif
// container for displaying providers as sorted groups (by QgsDataProvider::DataCapability enum)
QMap<Qgis::DataCapabilities, QgsDataItem *> providerMap;
QMap<int, QgsDataItem *> providerMap;
const auto constProviders = QgsApplication::dataItemProviderRegistry()->providers();
for ( QgsDataItemProvider *pr : constProviders )
{
Qgis::DataCapabilities capabilities = pr->capabilities();
if ( capabilities == Qgis::DataCapability::NoDataCapabilities )
int capabilities = pr->capabilities();
if ( capabilities == QgsDataProvider::NoDataCapabilities )
{
QgsDebugMsgLevel( pr->name() + " does not have any dataCapabilities", 4 );
continue;
@ -150,7 +150,7 @@ void QgsBrowserModel::addRootItems()
// add as sorted groups by QgsDataProvider::DataCapability enum
const auto constUniqueKeys = providerMap.uniqueKeys();
for ( Qgis::DataCapabilities key : constUniqueKeys )
for ( int key : constUniqueKeys )
{
QList<QgsDataItem *> providerGroup = providerMap.values( key );
if ( providerGroup.size() > 1 )

View File

@ -930,10 +930,10 @@ QVector<QgsDataItem *> QgsDirectoryItem::createChildren()
bool createdItem = false;
for ( QgsDataItemProvider *provider : providers )
{
Qgis::DataCapabilities capabilities = provider->capabilities();
int capabilities = provider->capabilities();
if ( !( ( fileInfo.isFile() && ( capabilities & Qgis::DataCapability::File ) ) ||
( fileInfo.isDir() && ( capabilities & Qgis::DataCapability::Dir ) ) ) )
if ( !( ( fileInfo.isFile() && ( capabilities & QgsDataProvider::File ) ) ||
( fileInfo.isDir() && ( capabilities & QgsDataProvider::Dir ) ) ) )
{
continue;
}
@ -1358,9 +1358,9 @@ QVector<QgsDataItem *> QgsFavoritesItem::createChildren( const QString &favDir,
const auto constProviders = QgsApplication::dataItemProviderRegistry()->providers();
for ( QgsDataItemProvider *provider : constProviders )
{
Qgis::DataCapabilities capabilities = provider->capabilities();
int capabilities = provider->capabilities();
if ( capabilities & Qgis::DataCapability::Dir )
if ( capabilities & QgsDataProvider::Dir )
{
QgsDataItem *item = provider->createDataItem( favDir, this );
if ( item )

View File

@ -50,7 +50,7 @@ class CORE_EXPORT QgsDataItemProvider
virtual QString name() = 0;
//! Returns combination of flags from QgsDataProvider::DataCapabilities
virtual Qgis::DataCapabilities capabilities() const = 0;
virtual int capabilities() const = 0;
/**
* Create a new instance of QgsDataItem (or NULLPTR) for given path and parent item.

View File

@ -64,6 +64,21 @@ class CORE_EXPORT QgsDataProvider : public QObject
public:
/**
* Used in browser model to understand which items for which providers should be populated
*
* TODO: remove in QGIS 4 as this enum is really meant for data items rather than data providers!
*/
enum DataCapability
{
NoDataCapabilities = 0,
File = 1,
Dir = 1 << 1,
Database = 1 << 2,
Net = 1 << 3 // Internet source
};
Q_DECLARE_FLAGS( DataCapabilities, DataCapability )
/**
* Properties are used to pass custom configuration options into data providers.
* This enum defines a list of custom properties which can be used on different

View File

@ -83,6 +83,7 @@ class CORE_EXPORT QgsProviderMetadata
* Constructor for provider metadata
* \param key provider key
* \param description provider description
* \since QGIS 3.10
*/
QgsProviderMetadata( const QString &key, const QString &description );
@ -92,49 +93,7 @@ class CORE_EXPORT QgsProviderMetadata
* \since QGIS 3.0
* \deprecated QGIS 3.10
*/
#ifndef SIP_RUN
QgsProviderMetadata( const QString &key, const QString &description, const QgsProviderMetadata::CreateDataProviderFunction &createFunc );
#else
QgsProviderMetadata( const QString &key, const QString &description, SIP_PYCALLABLE / AllowNone / );
% MethodCode
// Make sure the callable doesn't get garbage collected, this is needed because refcount for a2 is 0
// and the creation function pointer is passed to the metadata and it needs to be kept in memory.
Py_INCREF( a2 );
Py_BEGIN_ALLOW_THREADS
sipCpp = new QgsProviderMetadata( *a0, *a1, [a2]( const QString &dataSource, const QgsDataProvider::ProviderOptions &providerOptions ) -> QgsDataProvider*
{
QgsDataProvider *provider;
provider = nullptr;
PyObject *sipResObj;
SIP_BLOCK_THREADS
sipResObj = sipCallMethod( nullptr, a2, "DD", new QString( dataSource ), sipType_QString, nullptr, new QgsDataProvider::ProviderOptions( providerOptions ), sipType_QgsDataProvider_ProviderOptions, NULL );
if ( sipResObj )
{
if ( sipCanConvertToType( sipResObj, sipType_QgsDataProvider, SIP_NOT_NONE ) )
{
int state0;
int sipIsErr = 0;
provider = reinterpret_cast<QgsDataProvider *>( sipConvertToType( sipResObj, sipType_QgsDataProvider, nullptr, SIP_NOT_NONE, &state0, &sipIsErr ) );
if ( sipIsErr != 0 )
{
sipReleaseType( provider, sipType_QgsDataProvider, state0 );
provider = nullptr;
}
}
}
SIP_UNBLOCK_THREADS
return provider;
} );
Py_END_ALLOW_THREADS
% End
#endif
SIP_SKIP QgsProviderMetadata( const QString &key, const QString &description, const QgsProviderMetadata::CreateDataProviderFunction &createFunc );
//! dtor
virtual ~QgsProviderMetadata();
@ -213,16 +172,9 @@ class CORE_EXPORT QgsProviderMetadata
/**
* Creates new empty vector layer
* \since QGIS 3.10
* \note not available in Python bindings
*/
virtual QgsVectorLayerExporter::ExportError createEmptyLayer(
const QString &uri,
const QgsFields &fields,
QgsWkbTypes::Type wkbType,
const QgsCoordinateReferenceSystem &srs,
bool overwrite,
QMap<int, int> &oldToNewAttrIdxMap,
QString &errorMessage,
const QMap<QString, QVariant> *options );
SIP_SKIP virtual QgsVectorLayerExporter::ExportError createEmptyLayer( const QString &uri, const QgsFields &fields, QgsWkbTypes::Type wkbType, const QgsCoordinateReferenceSystem &srs, bool overwrite, QMap<int, int> &oldToNewAttrIdxMap, QString &errorMessage, const QMap<QString, QVariant> *options );
/**
* Creates a new instance of the raster data provider.

View File

@ -501,18 +501,6 @@ QgsTransaction *QgsProviderRegistry::createTransaction( const QString &providerK
return nullptr;
}
Qgis::DataCapabilities QgsProviderRegistry::providerCapabilities( const QString &providerKey ) const
{
const QList< QgsDataItemProvider * > itemProviders = dataItemProviders( providerKey );
Qgis::DataCapabilities ret = Qgis::DataCapability::NoDataCapabilities;
//concat flags
for ( const QgsDataItemProvider *itemProvider : itemProviders )
{
ret = ret | itemProvider->capabilities();
}
return ret;
}
QFunctionPointer QgsProviderRegistry::function( QString const &providerKey,
QString const &functionName )
{

View File

@ -97,17 +97,9 @@ class CORE_EXPORT QgsProviderRegistry
/**
* Creates new empty vector layer
* \since QGIS 3.10
* \note not available in Python bindings
*/
QgsVectorLayerExporter::ExportError createEmptyLayer(
const QString &providerKey,
const QString &uri,
const QgsFields &fields,
QgsWkbTypes::Type wkbType,
const QgsCoordinateReferenceSystem &srs,
bool overwrite,
QMap<int, int> &oldToNewAttrIdxMap,
QString &errorMessage,
const QMap<QString, QVariant> *options );
SIP_SKIP QgsVectorLayerExporter::ExportError createEmptyLayer( const QString &providerKey, const QString &uri, const QgsFields &fields, QgsWkbTypes::Type wkbType, const QgsCoordinateReferenceSystem &srs, bool overwrite, QMap<int, int> &oldToNewAttrIdxMap, QString &errorMessage, const QMap<QString, QVariant> *options );
/**
* Creates new instance of raster data provider
@ -133,15 +125,6 @@ class CORE_EXPORT QgsProviderRegistry
*/
QList<QPair<QString, QString> > pyramidResamplingMethods( const QString &providerKey );
/**
* Returns the provider capabilities
* \param providerKey identifier of the provider
* \returns QgsDataProvider::DataCapability
*
* \since QGIS 2.6
*/
Qgis::DataCapabilities providerCapabilities( const QString &providerKey ) const;
/**
* Breaks a provider data source URI into its component paths (e.g. file path, layer name).
* \param providerKey identifier of the provider

View File

@ -35,7 +35,7 @@ class QgsGdalSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsG
public:
//! Constructor
QgsGdalSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsGdalSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
//! Returns whether the protocol is a cloud type
bool isProtocolCloudType();

View File

@ -62,7 +62,7 @@ QgsOgrDbSourceSelect::QgsOgrDbSourceSelect( const QString &theSettingsKey, const
connect( mBuildQueryButton, &QAbstractButton::clicked, this, &QgsOgrDbSourceSelect::buildQuery );
mBuildQueryButton->setEnabled( false );
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::Normal )
{
mHoldDialogOpen->hide();
}
@ -311,7 +311,7 @@ void QgsOgrDbSourceSelect::addButtonClicked()
{
emit addRasterLayer( info.first, info.second, QStringLiteral( "gdal" ) );
}
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::None && ! mHoldDialogOpen->isChecked() )
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::Normal && ! mHoldDialogOpen->isChecked() )
{
accept();
}

View File

@ -45,7 +45,7 @@ class QgsOgrDbSourceSelect: public QgsAbstractDataSourceWidget, private Ui::QgsD
* and \a theName as string for describing the layers managed by the source select (e.g. : "GeoPackage" etc.)
* The \a extensions is a string dscribing the accepted file extensions (e.g. : "GeoPackage Database (*.gpkg *.GPKG)")
*/
QgsOgrDbSourceSelect( const QString &theOgrDriverName, const QString &theName, const QString &theExtensions, QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode theWidgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsOgrDbSourceSelect( const QString &theOgrDriverName, const QString &theName, const QString &theExtensions, QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode theWidgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsOgrDbSourceSelect() override;

View File

@ -51,7 +51,7 @@ QgsOgrSourceSelect::QgsOgrSourceSelect( QWidget *parent, Qt::WindowFlags fl, Qgs
setupButtons( buttonBox );
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsOgrSourceSelect::showHelp );
if ( mWidgetMode != QgsAbstractDataSourceWidgetMode::None )
if ( mWidgetMode != QgsAbstractDataSourceWidgetMode::Normal )
{
this->layout()->setSizeConstraint( QLayout::SetNoConstraint );
}

View File

@ -49,7 +49,7 @@ class QgsOgrSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsOg
Q_OBJECT
public:
QgsOgrSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = nullptr, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsOgrSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = nullptr, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsOgrSourceSelect() override;
//! Opens a dialog to select a file datasource*/
QStringList openFile();
@ -74,7 +74,7 @@ class QgsOgrSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsOg
//! Stores the datasource type
QString mDataSourceType;
//! Embedded dialog (do not call parent's accept) and emit signals
QgsAbstractDataSourceWidgetMode mWidgetMode = QgsAbstractDataSourceWidgetMode::None;
QgsAbstractDataSourceWidgetMode mWidgetMode = QgsAbstractDataSourceWidgetMode::Normal;
public slots:
void addButtonClicked() override;

View File

@ -32,13 +32,29 @@ class QgsMapCanvas;
/**
* \ingroup gui
* Different ways a source select dialog can be used
* (embedded is for the data source manager dialog)
* \since QGIS 3.10
*/
enum class QgsAbstractDataSourceWidgetMode SIP_MONKEYPATCH_SCOPEENUM_UNNEST( QgsAbstractDataSourceWidget, WidgetMode ) : int
{
None,
/**
* Basic mode when the widget is used as a standalone dialog. Originally used
* as GUI for individual "Add XXX layer" buttons in the main window.
* Likely not used in live code anymore.
*/
Normal,
/**
* Used for the data source manager dialog where the widget is embedded as the main content
* for a particular tab.
*/
Embedded,
/**
* Used by data items for QgsDataItem::paramWidget(). Originally used by QGIS Browser,
* but does not seem to be in live code anymore. The mode was meant to avoid some actions
* to keep the browser interface simple (supposedly).
*/
Manager,
};
@ -140,7 +156,7 @@ class GUI_EXPORT QgsAbstractDataSourceWidget : public QDialog
protected:
//! Constructor
QgsAbstractDataSourceWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsAbstractDataSourceWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
//! Returns the widget mode
QgsAbstractDataSourceWidgetMode widgetMode() const;

View File

@ -61,7 +61,7 @@ class GUI_EXPORT QgsOWSSourceSelect : public QgsAbstractDataSourceWidget, protec
};
//! Constructor
QgsOWSSourceSelect( const QString &service, QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsOWSSourceSelect( const QString &service, QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsOWSSourceSelect() override;

View File

@ -68,6 +68,10 @@ class GUI_EXPORT QgsProjectStorageGuiRegistry
void unregisterProjectStorage( QgsProjectStorageGuiProvider *storage );
private:
#ifdef SIP_RUN
QgsProjectStorageGuiRegistry( const QgsProjectStorageGuiRegistry &rh );
#endif
QHash<QString, QgsProjectStorageGuiProvider *> mBackends;
};

View File

@ -130,7 +130,7 @@ class QgsAfsDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "AFS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};

View File

@ -29,7 +29,7 @@ class QgsAfsSourceSelect: public QgsArcGisServiceSourceSelect
Q_OBJECT
public:
QgsAfsSourceSelect( QWidget *parent, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsAfsSourceSelect( QWidget *parent, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
protected:
bool connectToService( const QgsOwsConnection &connection ) override;
void buildQuery( const QgsOwsConnection &connection, const QModelIndex & ) override;

View File

@ -120,7 +120,7 @@ class QgsAmsDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "AMS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};

View File

@ -28,7 +28,7 @@ class QgsAmsSourceSelect: public QgsArcGisServiceSourceSelect
Q_OBJECT
public:
QgsAmsSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsAmsSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
protected:
bool connectToService( const QgsOwsConnection &connection ) override;

View File

@ -51,7 +51,7 @@ class QgsArcGisServiceSourceSelect : public QgsAbstractDataSourceWidget, protect
enum ServiceType { MapService, FeatureService };
//! Constructor
QgsArcGisServiceSourceSelect( const QString &serviceName, ServiceType serviceType, QWidget *parent, Qt::WindowFlags fl, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsArcGisServiceSourceSelect( const QString &serviceName, ServiceType serviceType, QWidget *parent, Qt::WindowFlags fl, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
//! Destructor
~QgsArcGisServiceSourceSelect() override;

View File

@ -176,6 +176,6 @@ class QgsDb2DataItemProvider : public QgsDataItemProvider
{
public:
QString name() override { return QStringLiteral( "DB2" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Database; }
int capabilities() const override { return QgsDataProvider::Database; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -139,7 +139,7 @@ QgsDb2SourceSelect::QgsDb2SourceSelect( QWidget *parent, Qt::WindowFlags fl, Qgs
setWindowTitle( tr( "Add Db2 Table(s)" ) );
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::Normal )
{
mHoldDialogOpen->hide();
}
@ -459,7 +459,7 @@ void QgsDb2SourceSelect::addButtonClicked()
else
{
emit addDatabaseLayers( mSelectedTables, QStringLiteral( "DB2" ) );
if ( !mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::None )
if ( !mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
{
accept();
}

View File

@ -99,7 +99,7 @@ class QgsDb2SourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsDb
static void deleteConnection( const QString &key );
//! Constructor
QgsDb2SourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsDb2SourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsDb2SourceSelect() override;
//! Populate the connection list combo box

View File

@ -215,7 +215,7 @@ void QgsDelimitedTextSourceSelect::addButtonClicked()
mFileWidget->setFilePath( QString() );
txtLayerName->setText( QString() );
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
{
accept();
}

View File

@ -33,7 +33,7 @@ class QgsDelimitedTextSourceSelect : public QgsAbstractDataSourceWidget, private
Q_OBJECT
public:
QgsDelimitedTextSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsDelimitedTextSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsDelimitedTextSourceSelect() override;
QStringList splitLine( QString line );

View File

@ -81,7 +81,7 @@ class QgsGeoNodeDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "GeoNode" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
};

View File

@ -42,7 +42,7 @@ class QgsGeoNodeSourceSelect: public QgsAbstractDataSourceWidget, private Ui::Qg
public:
QgsGeoNodeSourceSelect( QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsGeoNodeSourceSelect( QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsGeoNodeSourceSelect() override;
public slots:

View File

@ -1258,7 +1258,7 @@ class QgsGrassDataItemProvider : public QgsDataItemProvider
int capabilities() const override { return QgsDataProvider::Dir; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override
QgsDataItem *createDataItem( const QString &dirPath, QgsDataItem *parentItem ) override
{
if ( !QgsGrass::init() )
{
@ -1292,12 +1292,13 @@ class QgsGrassProviderMetadata: public QgsProviderMetadata
QgsGrassProviderMetadata(): QgsProviderMetadata( PROVIDER_KEY, PROVIDER_DESCRIPTION ) {}
QgsGrassProvider *createProvider( const QString *uri, const QgsDataProvider::ProviderOptions &options ) override
{
return new QgsGrassProvider( uri );
Q_UNUSED( options );
return new QgsGrassProvider( *uri );
}
QList< QgsDataItemProvider * > *dataItemProviders() const override
QList< QgsDataItemProvider * > dataItemProviders() const override
{
QList< QgsDataItemProvider * > *providers = new QList< QgsDataItemProvider * >();
*providers << new QgsGrassDataItemProvider;
QList< QgsDataItemProvider * > providers;
providers << new QgsGrassDataItemProvider;
return providers;
}
@ -1310,7 +1311,6 @@ class QgsGrassProviderMetadata: public QgsProviderMetadata
{
QgsDebugMsg( "init failed" );
}
return true;
}
};

View File

@ -28,7 +28,7 @@ class QgsGrassRasterProviderMetadata: public QgsProviderMetadata
QgsGrassRasterProviderMetadata(): QgsProviderMetadata( PROVIDER_KEY, PROVIDER_DESCRIPTION ) {}
QgsGrassRasterProvider *createProvider( const QString *uri, const QgsDataProvider::ProviderOptions &options ) override
{
return new QgsGrassRasterProvider( uri );
return new QgsGrassRasterProvider( *uri );
}
};

View File

@ -35,7 +35,7 @@ class QgsMdalDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "MDAL" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::File; }
int capabilities() const override { return QgsDataProvider::File; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -32,7 +32,7 @@ class QgsMdalSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsM
public:
//! Constructor
QgsMdalSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsMdalSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
public slots:
//! Determines the tables the user selected and closes the dialog

View File

@ -158,7 +158,7 @@ class QgsMssqlDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "MSSQL" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Database; }
int capabilities() const override { return QgsDataProvider::Database; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -140,7 +140,7 @@ QgsMssqlSourceSelect::QgsMssqlSourceSelect( QWidget *parent, Qt::WindowFlags fl,
setupButtons( buttonBox );
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsMssqlSourceSelect::showHelp );
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::Normal )
{
mHoldDialogOpen->hide();
}
@ -460,7 +460,7 @@ void QgsMssqlSourceSelect::addButtonClicked()
else
{
emit addDatabaseLayers( mSelectedTables, QStringLiteral( "mssql" ) );
if ( !mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::None )
if ( !mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
{
accept();
}

View File

@ -69,7 +69,7 @@ class QgsMssqlSourceSelect : public QgsAbstractDataSourceWidget, private Ui::Qgs
static void deleteConnection( const QString &key );
//! Constructor
QgsMssqlSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsMssqlSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsMssqlSourceSelect() override;
//! Populate the connection list combo box

View File

@ -72,7 +72,7 @@ class QgsOwsDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "OWS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -217,7 +217,7 @@ QgsPgSourceSelect::QgsPgSourceSelect( QWidget *parent, Qt::WindowFlags fl, QgsAb
setupButtons( buttonBox );
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsPgSourceSelect::showHelp );
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::Normal )
{
mHoldDialogOpen->hide();
}
@ -524,7 +524,7 @@ void QgsPgSourceSelect::addButtonClicked()
else
{
emit addDatabaseLayers( mSelectedTables, QStringLiteral( "postgres" ) );
if ( !mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::None )
if ( !mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
{
accept();
}

View File

@ -67,7 +67,7 @@ class QgsPgSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsDbS
public:
//! Constructor
QgsPgSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsPgSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsPgSourceSelect() override;
//! Populate the connection list combo box

View File

@ -146,7 +146,7 @@ class QgsPostgresDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "PostGIS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Database; }
int capabilities() const override { return QgsDataProvider::Database; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -89,7 +89,7 @@ class QgsSpatiaLiteDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "SPATIALITE" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Database; }
int capabilities() const override { return QgsDataProvider::Database; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -76,7 +76,7 @@ QgsSpatiaLiteSourceSelect::QgsSpatiaLiteSourceSelect( QWidget *parent, Qt::Windo
connect( mBuildQueryButton, &QAbstractButton::clicked, this, &QgsSpatiaLiteSourceSelect::buildQuery );
mBuildQueryButton->setEnabled( false );
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::Normal )
{
mHoldDialogOpen->hide();
}
@ -418,7 +418,7 @@ void QgsSpatiaLiteSourceSelect::addButtonClicked()
else
{
emit addDatabaseLayers( m_selectedTables, QStringLiteral( "spatialite" ) );
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::None && ! mHoldDialogOpen->isChecked() )
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::Normal && ! mHoldDialogOpen->isChecked() )
{
accept();
}

View File

@ -53,7 +53,7 @@ class QgsSpatiaLiteSourceSelect: public QgsAbstractDataSourceWidget, private Ui:
static bool newConnection( QWidget *parent );
//! Constructor
QgsSpatiaLiteSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsSpatiaLiteSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsSpatiaLiteSourceSelect() override;
//! Populate the connection list combo box

View File

@ -394,7 +394,7 @@ void QgsVirtualLayerSourceSelect::addButtonClicked()
emit addVectorLayer( def.toString(), layerName );
}
}
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
{
accept();
}

View File

@ -36,7 +36,7 @@ class QgsVirtualLayerSourceSelect : public QgsAbstractDataSourceWidget, private
Q_OBJECT
public:
QgsVirtualLayerSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsVirtualLayerSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
public slots:
//! Triggered when the provider's connections need to be refreshed

View File

@ -91,7 +91,7 @@ class QgsWcsDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "WCS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &pathIn, QgsDataItem *parentItem ) override;
};

View File

@ -54,7 +54,7 @@ class QgsWCSSourceSelect : public QgsOWSSourceSelect
public:
//! Constructor
QgsWCSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsWCSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
private:
QgsWcsCapabilities mCapabilities;

View File

@ -103,7 +103,7 @@ class QgsWfsDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "WFS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;

View File

@ -56,7 +56,7 @@ QgsWFSSourceSelect::QgsWFSSourceSelect( QWidget *parent, Qt::WindowFlags fl, Qgs
setupButtons( buttonBox );
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsWFSSourceSelect::showHelp );
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::None )
if ( widgetMode() != QgsAbstractDataSourceWidgetMode::Normal )
{
mHoldDialogOpen->hide();
}
@ -404,7 +404,7 @@ void QgsWFSSourceSelect::addButtonClicked()
emit addVectorLayer( mUri, layerName );
}
if ( ! mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::None )
if ( ! mHoldDialogOpen->isChecked() && widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
{
accept();
}

View File

@ -64,7 +64,7 @@ class QgsWFSSourceSelect: public QgsAbstractDataSourceWidget, private Ui::QgsWFS
public:
QgsWFSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsWFSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsWFSSourceSelect() override;
private:

View File

@ -120,7 +120,7 @@ class QgsWmsDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "WMS" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override;
@ -176,7 +176,7 @@ class QgsXyzTileDataItemProvider : public QgsDataItemProvider
public:
QString name() override { return QStringLiteral( "XYZ Tiles" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::Net; }
int capabilities() const override { return QgsDataProvider::Net; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override
{

View File

@ -49,7 +49,7 @@ class QgsWMSSourceSelect : public QgsAbstractDataSourceWidget, private Ui::QgsWM
public:
//! Constructor
QgsWMSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::None );
QgsWMSSourceSelect( QWidget *parent = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsAbstractDataSourceWidgetMode widgetMode = QgsAbstractDataSourceWidgetMode::Normal );
~QgsWMSSourceSelect() override;

View File

@ -242,7 +242,7 @@ class TestProjectDataItemProvider : public QgsDataItemProvider
{
public:
QString name() override { return QStringLiteral( "project_test" ); }
Qgis::DataCapabilities capabilities() const override { return Qgis::DataCapability::File; }
int capabilities() const override { return QgsDataProvider::File; }
QgsDataItem *createDataItem( const QString &path, QgsDataItem *parentItem ) override
{
QFileInfo fileInfo( path );