mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-15 00:07:25 -05:00
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:
parent
62d615c2cd
commit
f6049e01d0
@ -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);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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 );
|
||||
|
||||
@ -33,7 +33,6 @@ entire layer to the destination provider.
|
||||
enum ExportError
|
||||
{
|
||||
NoError,
|
||||
ErrNotImplemented,
|
||||
ErrCreateDataSource,
|
||||
ErrCreateLayer,
|
||||
ErrAttributeTypeUnsupported,
|
||||
|
||||
@ -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__
|
||||
# --
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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" ;
|
||||
|
||||
@ -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 )
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
@ -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 );
|
||||
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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 )
|
||||
|
||||
@ -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 )
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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 )
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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 );
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -215,7 +215,7 @@ void QgsDelimitedTextSourceSelect::addButtonClicked()
|
||||
mFileWidget->setFilePath( QString() );
|
||||
txtLayerName->setText( QString() );
|
||||
|
||||
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::None )
|
||||
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
|
||||
{
|
||||
accept();
|
||||
}
|
||||
|
||||
@ -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 );
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -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 );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -394,7 +394,7 @@ void QgsVirtualLayerSourceSelect::addButtonClicked()
|
||||
emit addVectorLayer( def.toString(), layerName );
|
||||
}
|
||||
}
|
||||
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::None )
|
||||
if ( widgetMode() == QgsAbstractDataSourceWidgetMode::Normal )
|
||||
{
|
||||
accept();
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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 );
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user