mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-08 00:06:51 -05:00
Add QgsLayerItem::iconForWkbType() and QgsWkbTypes::translatedDisplayString()
and use them to avoid a lot of copy&paste in "New layer XXXX" dialogs and providers.
This commit is contained in:
parent
40569f414e
commit
af9da65c23
@ -251,7 +251,14 @@ GeometryCollections are reported as QgsWkbTypes.UnknownGeometry.
|
||||
|
||||
static QString displayString( Type type ) /HoldGIL/;
|
||||
%Docstring
|
||||
Returns a display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
Returns a non-translated display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
%End
|
||||
|
||||
static QString translatedDisplayString( Type type ) /HoldGIL/;
|
||||
%Docstring
|
||||
Returns a translated display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
|
||||
.. versionadded:: 3.18
|
||||
%End
|
||||
|
||||
static QString geometryDisplayString( GeometryType type ) /HoldGIL/;
|
||||
|
||||
@ -576,6 +576,14 @@ Use QgsDataItemGuiProvider.deleteLayer instead
|
||||
protected:
|
||||
|
||||
public:
|
||||
|
||||
static QIcon iconForWkbType( QgsWkbTypes::Type type );
|
||||
%Docstring
|
||||
Returns the icon for a vector layer whose geometry type is provided.
|
||||
|
||||
.. versionadded:: 3.18
|
||||
%End
|
||||
|
||||
static QIcon iconPoint();
|
||||
static QIcon iconLine();
|
||||
static QIcon iconPolygon();
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsabstractdatabaseproviderconnection.h"
|
||||
#include "qgisapp.h" // <- for theme icons
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgsproject.h"
|
||||
#include "qgscoordinatereferencesystem.h"
|
||||
@ -50,13 +51,18 @@ QgsNewSpatialiteLayerDialog::QgsNewSpatialiteLayerDialog( QWidget *parent, Qt::W
|
||||
setupUi( this );
|
||||
QgsGui::enableAutoGeometryRestore( this );
|
||||
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) ), tr( "No Geometry" ), QString() );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "Point" ), QStringLiteral( "POINT" ) );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "Line" ), QStringLiteral( "LINESTRING" ) );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "Polygon" ), QStringLiteral( "POLYGON" ) );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "MultiPoint" ), QStringLiteral( "MULTIPOINT" ) );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "MultiLine" ), QStringLiteral( "MULTILINESTRING" ) );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "MultiPolygon" ), QStringLiteral( "MULTIPOLYGON" ) );
|
||||
const auto addGeomItem = [this]( QgsWkbTypes::Type type, const QString & sqlType )
|
||||
{
|
||||
mGeometryTypeBox->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), sqlType );
|
||||
};
|
||||
|
||||
addGeomItem( QgsWkbTypes::NoGeometry, QString() );
|
||||
addGeomItem( QgsWkbTypes::Point, QStringLiteral( "POINT" ) );
|
||||
addGeomItem( QgsWkbTypes::LineString, QStringLiteral( "LINESTRING" ) );
|
||||
addGeomItem( QgsWkbTypes::Polygon, QStringLiteral( "POLYGON" ) );
|
||||
addGeomItem( QgsWkbTypes::MultiPoint, QStringLiteral( "MULTIPOINT" ) );
|
||||
addGeomItem( QgsWkbTypes::MultiLineString, QStringLiteral( "MULTILINESTRING" ) );
|
||||
addGeomItem( QgsWkbTypes::MultiPolygon, QStringLiteral( "MULTIPOLYGON" ) );
|
||||
mGeometryTypeBox->setCurrentIndex( -1 );
|
||||
|
||||
pbnFindSRID->setEnabled( false );
|
||||
|
||||
@ -152,6 +152,74 @@ QString QgsWkbTypes::displayString( Type type )
|
||||
return it->mName;
|
||||
}
|
||||
|
||||
QString QgsWkbTypes::translatedDisplayString( Type type )
|
||||
{
|
||||
switch ( type )
|
||||
{
|
||||
case Unknown: return QObject::tr( "Unknown" );
|
||||
case Point: return QObject::tr( "Point" );
|
||||
case LineString: return QObject::tr( "LineString" );
|
||||
case Polygon: return QObject::tr( "Polygon" );
|
||||
case Triangle: return QObject::tr( "Triangle" );
|
||||
case MultiPoint: return QObject::tr( "MultiPoint" );
|
||||
case MultiLineString: return QObject::tr( "MultiLine" );
|
||||
case MultiPolygon: return QObject::tr( "MultiPolygon" );
|
||||
case GeometryCollection: return QObject::tr( "GeometryCollection" );
|
||||
case CircularString: return QObject::tr( "CircularString" );
|
||||
case CompoundCurve: return QObject::tr( "CompoundCurve" );
|
||||
case CurvePolygon: return QObject::tr( "CurvePolygon" );
|
||||
case MultiCurve: return QObject::tr( "MultiCurve" );
|
||||
case MultiSurface: return QObject::tr( "MultiSurface" );
|
||||
case NoGeometry: return QObject::tr( "No Geometry" );
|
||||
case PointZ: return QObject::tr( "PointZ" );
|
||||
case LineStringZ: return QObject::tr( "LineStringZ" );
|
||||
case PolygonZ: return QObject::tr( "PolygonZ" );
|
||||
case TriangleZ: return QObject::tr( "TriangleZ" );
|
||||
case MultiPointZ: return QObject::tr( "MultiPointZ" );
|
||||
case MultiLineStringZ: return QObject::tr( "MultiLineZ" );
|
||||
case MultiPolygonZ: return QObject::tr( "MultiPolygonZ" );
|
||||
case GeometryCollectionZ: return QObject::tr( "GeometryCollectionZ" );
|
||||
case CircularStringZ: return QObject::tr( "CircularStringZ" );
|
||||
case CompoundCurveZ: return QObject::tr( "CompoundCurveZ" );
|
||||
case CurvePolygonZ: return QObject::tr( "CurvePolygonZ" );
|
||||
case MultiCurveZ: return QObject::tr( "MultiCurveZ" );
|
||||
case MultiSurfaceZ: return QObject::tr( "MultiSurfaceZ" );
|
||||
case PointM: return QObject::tr( "PointM" );
|
||||
case LineStringM: return QObject::tr( "LineStringM" );
|
||||
case PolygonM: return QObject::tr( "PolygonM" );
|
||||
case TriangleM: return QObject::tr( "TriangleM" );
|
||||
case MultiPointM: return QObject::tr( "MultiPointM" );
|
||||
case MultiLineStringM: return QObject::tr( "MultiLineStringM" );
|
||||
case MultiPolygonM: return QObject::tr( "MultiPolygonM" );
|
||||
case GeometryCollectionM: return QObject::tr( "GeometryCollectionM" );
|
||||
case CircularStringM: return QObject::tr( "CircularStringM" );
|
||||
case CompoundCurveM: return QObject::tr( "CompoundCurveM" );
|
||||
case CurvePolygonM: return QObject::tr( "CurvePolygonM" );
|
||||
case MultiCurveM: return QObject::tr( "MultiCurveM" );
|
||||
case MultiSurfaceM: return QObject::tr( "MultiSurfaceM" );
|
||||
case PointZM: return QObject::tr( "PointZM" );
|
||||
case LineStringZM: return QObject::tr( "LineStringZM" );
|
||||
case PolygonZM: return QObject::tr( "PolygonZM" );
|
||||
case MultiPointZM: return QObject::tr( "MultiPointZM" );
|
||||
case MultiLineStringZM: return QObject::tr( "MultiLineZM" );
|
||||
case MultiPolygonZM: return QObject::tr( "MultiPolygonZM" );
|
||||
case GeometryCollectionZM: return QObject::tr( "GeometryCollectionZM" );
|
||||
case CircularStringZM: return QObject::tr( "CircularStringZM" );
|
||||
case CompoundCurveZM: return QObject::tr( "CompoundCurveZM" );
|
||||
case CurvePolygonZM: return QObject::tr( "CurvePolygonZM" );
|
||||
case MultiCurveZM: return QObject::tr( "MultiCurveZM" );
|
||||
case MultiSurfaceZM: return QObject::tr( "MultiSurfaceZM" );
|
||||
case TriangleZM: return QObject::tr( "TriangleZM" );
|
||||
case Point25D: return QObject::tr( "Point25D" );
|
||||
case LineString25D: return QObject::tr( "LineString25D" );
|
||||
case Polygon25D: return QObject::tr( "Polygon25D" );
|
||||
case MultiPoint25D: return QObject::tr( "MultiPoint25D" );
|
||||
case MultiLineString25D: return QObject::tr( "MultiLineString25D" );
|
||||
case MultiPolygon25D: return QObject::tr( "MultiPolygon25D" );
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString QgsWkbTypes::geometryDisplayString( QgsWkbTypes::GeometryType type )
|
||||
{
|
||||
|
||||
|
||||
@ -1014,10 +1014,17 @@ class CORE_EXPORT QgsWkbTypes
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
* Returns a non-translated display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
*/
|
||||
static QString displayString( Type type ) SIP_HOLDGIL;
|
||||
|
||||
/**
|
||||
* Returns a translated display string type for a WKB type, e.g., the geometry name used in WKT geometry representations.
|
||||
*
|
||||
* \since QGIS 3.18
|
||||
*/
|
||||
static QString translatedDisplayString( Type type ) SIP_HOLDGIL;
|
||||
|
||||
/**
|
||||
* Returns a display string for a geometry type.
|
||||
*
|
||||
|
||||
@ -51,6 +51,26 @@
|
||||
#include "cpl_string.h"
|
||||
|
||||
// shared icons
|
||||
|
||||
QIcon QgsLayerItem::iconForWkbType( QgsWkbTypes::Type type )
|
||||
{
|
||||
QgsWkbTypes::GeometryType geomType = QgsWkbTypes::geometryType( QgsWkbTypes::Type( type ) );
|
||||
switch ( geomType )
|
||||
{
|
||||
case QgsWkbTypes::NullGeometry:
|
||||
return iconTable();
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
return iconPoint();
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
return iconLine();
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
return iconPolygon();
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return iconDefault();
|
||||
}
|
||||
|
||||
QIcon QgsLayerItem::iconPoint()
|
||||
{
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) );
|
||||
|
||||
@ -603,6 +603,13 @@ class CORE_EXPORT QgsLayerItem : public QgsDataItem
|
||||
QStringList mSupportFormats;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Returns the icon for a vector layer whose geometry type is provided.
|
||||
* \since QGIS 3.18
|
||||
*/
|
||||
static QIcon iconForWkbType( QgsWkbTypes::Type type );
|
||||
|
||||
static QIcon iconPoint();
|
||||
static QIcon iconLine();
|
||||
static QIcon iconPolygon();
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
* *
|
||||
***************************************************************************/
|
||||
#include "qgslogger.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsvectorlayersaveasdialog.h"
|
||||
#include "qgsprojectionselectiondialog.h"
|
||||
#include "qgsvectordataprovider.h"
|
||||
@ -130,13 +131,18 @@ void QgsVectorLayerSaveAsDialog::setup()
|
||||
mFormatComboBox->setCurrentIndex( mFormatComboBox->findData( format ) );
|
||||
mFormatComboBox->blockSignals( false );
|
||||
|
||||
const auto addGeomItem = [this]( QgsWkbTypes::Type type )
|
||||
{
|
||||
mGeometryTypeComboBox->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
};
|
||||
|
||||
//add geometry types to combobox
|
||||
mGeometryTypeComboBox->addItem( tr( "Automatic" ), -1 );
|
||||
mGeometryTypeComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), QgsWkbTypes::displayString( QgsWkbTypes::Point ), QgsWkbTypes::Point );
|
||||
mGeometryTypeComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), QgsWkbTypes::displayString( QgsWkbTypes::LineString ), QgsWkbTypes::LineString );
|
||||
mGeometryTypeComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), QgsWkbTypes::displayString( QgsWkbTypes::Polygon ), QgsWkbTypes::Polygon );
|
||||
mGeometryTypeComboBox->addItem( QgsWkbTypes::displayString( QgsWkbTypes::GeometryCollection ), QgsWkbTypes::GeometryCollection );
|
||||
mGeometryTypeComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) ), tr( "No geometry" ), QgsWkbTypes::NoGeometry );
|
||||
addGeomItem( QgsWkbTypes::Point );
|
||||
addGeomItem( QgsWkbTypes::LineString );
|
||||
addGeomItem( QgsWkbTypes::Polygon );
|
||||
mGeometryTypeComboBox->addItem( QgsWkbTypes::translatedDisplayString( QgsWkbTypes::GeometryCollection ), QgsWkbTypes::GeometryCollection );
|
||||
addGeomItem( QgsWkbTypes::NoGeometry );
|
||||
mGeometryTypeComboBox->setCurrentIndex( mGeometryTypeComboBox->findData( -1 ) );
|
||||
|
||||
mEncodingComboBox->addItems( QgsVectorDataProvider::availableEncodings() );
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "qgsidentifymenu.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsactionmanager.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgshighlight.h"
|
||||
#include "qgsmapcanvas.h"
|
||||
#include "qgsactionmenu.h"
|
||||
@ -327,21 +328,7 @@ void QgsIdentifyMenu::addVectorLayer( QgsVectorLayer *layer, const QList<QgsMapT
|
||||
// case 1 or 2
|
||||
if ( layerAction )
|
||||
{
|
||||
// icons
|
||||
switch ( layer->geometryType() )
|
||||
{
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
layerAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ) );
|
||||
break;
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
layerAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ) );
|
||||
break;
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
layerAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ) );
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
layerAction->setIcon( QgsLayerItem::iconForWkbType( layer->wkbType() ) );
|
||||
|
||||
// add layer action to the top menu
|
||||
layerAction->setData( QVariant::fromValue<ActionData>( ActionData( layer ) ) );
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
|
||||
#include "qgis.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsproviderregistry.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgsproject.h"
|
||||
@ -68,22 +69,28 @@ QgsNewGeoPackageLayerDialog::QgsNewGeoPackageLayerDialog( QWidget *parent, Qt::W
|
||||
mAddAttributeButton->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionNewAttribute.svg" ) ) );
|
||||
mRemoveAttributeButton->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionDeleteAttribute.svg" ) ) );
|
||||
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) ), tr( "No Geometry" ), wkbNone );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "Point" ), wkbPoint );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "Line" ), wkbLineString );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "Polygon" ), wkbPolygon );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "MultiPoint" ), wkbMultiPoint );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "MultiLine" ), wkbMultiLineString );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "MultiPolygon" ), wkbMultiPolygon );
|
||||
const auto addGeomItem = [this]( OGRwkbGeometryType ogrGeomType )
|
||||
{
|
||||
QgsWkbTypes::Type qgsType = QgsOgrUtils::ogrGeometryTypeToQgsWkbType( ogrGeomType );
|
||||
mGeometryTypeBox->addItem( QgsLayerItem::iconForWkbType( qgsType ), QgsWkbTypes::translatedDisplayString( qgsType ), ogrGeomType );
|
||||
};
|
||||
|
||||
addGeomItem( wkbNone );
|
||||
addGeomItem( wkbPoint );
|
||||
addGeomItem( wkbLineString );
|
||||
addGeomItem( wkbPolygon );
|
||||
addGeomItem( wkbMultiPoint );
|
||||
addGeomItem( wkbMultiLineString );
|
||||
addGeomItem( wkbMultiPolygon );
|
||||
|
||||
#if 0
|
||||
// QGIS always create CompoundCurve and there's no real interest of having just CircularString. CompoundCurve are more useful
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "CircularString" ), wkbCircularString );
|
||||
addGeomItem( wkbCircularString );
|
||||
#endif
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "CompoundCurve" ), wkbCompoundCurve );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "CurvePolygon" ), wkbCurvePolygon );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "MultiCurve" ), wkbMultiCurve );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "MultiSurface" ), wkbMultiSurface );
|
||||
addGeomItem( wkbCompoundCurve );
|
||||
addGeomItem( wkbCurvePolygon );
|
||||
addGeomItem( wkbMultiCurve );
|
||||
addGeomItem( wkbMultiSurface );
|
||||
mGeometryTypeBox->setCurrentIndex( -1 );
|
||||
|
||||
mGeometryWithZCheckBox->setEnabled( false );
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
#include "qgsnewmemorylayerdialog.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgis.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgscoordinatereferencesystem.h"
|
||||
#include "qgsproviderregistry.h"
|
||||
#include "qgsvectordataprovider.h"
|
||||
@ -57,17 +58,23 @@ QgsNewMemoryLayerDialog::QgsNewMemoryLayerDialog( QWidget *parent, Qt::WindowFla
|
||||
|
||||
mNameLineEdit->setText( tr( "New scratch layer" ) );
|
||||
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) ), tr( "No Geometry" ), QgsWkbTypes::NoGeometry );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "Point" ), QgsWkbTypes::Point );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "LineString" ), QgsWkbTypes::LineString );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "CompoundCurve" ), QgsWkbTypes::CompoundCurve );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "Polygon" ), QgsWkbTypes::Polygon );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "CurvePolygon" ), QgsWkbTypes::CurvePolygon );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "MultiPoint" ), QgsWkbTypes::MultiPoint );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "MultiLineString" ), QgsWkbTypes::MultiLineString );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "MultiCurve" ), QgsWkbTypes::MultiCurve );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "MultiPolygon" ), QgsWkbTypes::MultiPolygon );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "MultiSurface" ), QgsWkbTypes::MultiSurface );
|
||||
const QgsWkbTypes::Type geomTypes[] =
|
||||
{
|
||||
QgsWkbTypes::NoGeometry,
|
||||
QgsWkbTypes::Point,
|
||||
QgsWkbTypes::LineString,
|
||||
QgsWkbTypes::CompoundCurve,
|
||||
QgsWkbTypes::Polygon,
|
||||
QgsWkbTypes::CurvePolygon,
|
||||
QgsWkbTypes::MultiPoint,
|
||||
QgsWkbTypes::MultiLineString,
|
||||
QgsWkbTypes::MultiCurve,
|
||||
QgsWkbTypes::MultiPolygon,
|
||||
QgsWkbTypes::MultiSurface,
|
||||
};
|
||||
|
||||
for ( const auto type : geomTypes )
|
||||
mGeometryTypeBox->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
mGeometryTypeBox->setCurrentIndex( -1 );
|
||||
|
||||
mGeometryWithZCheckBox->setEnabled( false );
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsnewvectorlayerdialog.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsfilewidget.h"
|
||||
@ -56,11 +57,17 @@ QgsNewVectorLayerDialog::QgsNewVectorLayerDialog( QWidget *parent, Qt::WindowFla
|
||||
mWidth->setValidator( new QIntValidator( 1, 255, this ) );
|
||||
mPrecision->setValidator( new QIntValidator( 0, 15, this ) );
|
||||
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) ), tr( "No Geometry" ), QgsWkbTypes::NoGeometry );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "Point" ), QgsWkbTypes::Point );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "MultiPoint" ), QgsWkbTypes::MultiPoint );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "Line" ), QgsWkbTypes::LineString );
|
||||
mGeometryTypeBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "Polygon" ), QgsWkbTypes::Polygon );
|
||||
const QgsWkbTypes::Type geomTypes[] =
|
||||
{
|
||||
QgsWkbTypes::NoGeometry,
|
||||
QgsWkbTypes::Point,
|
||||
QgsWkbTypes::MultiPoint,
|
||||
QgsWkbTypes::LineString,
|
||||
QgsWkbTypes::Polygon,
|
||||
};
|
||||
|
||||
for ( const auto type : geomTypes )
|
||||
mGeometryTypeBox->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
mGeometryTypeBox->setCurrentIndex( -1 );
|
||||
|
||||
mOkButton = buttonBox->button( QDialogButtonBox::Ok );
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
* *
|
||||
***************************************************************************/
|
||||
#include "qgsnewvectortabledialog.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgslogger.h"
|
||||
#include "qgsgui.h"
|
||||
@ -137,23 +138,29 @@ QgsNewVectorTableDialog::QgsNewVectorTableDialog( QgsAbstractDatabaseProviderCon
|
||||
|
||||
// geometry types
|
||||
const bool hasSinglePart { conn->geometryColumnCapabilities().testFlag( QgsAbstractDatabaseProviderConnection::GeometryColumnCapability::SinglePart ) };
|
||||
|
||||
const auto addGeomItem = [this]( QgsWkbTypes::Type type )
|
||||
{
|
||||
mGeomTypeCbo->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
};
|
||||
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconTableLayer.svg" ) ), tr( "No Geometry" ), QgsWkbTypes::Type::NoGeometry );
|
||||
if ( hasSinglePart )
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconPointLayer.svg" ) ), tr( "Point" ), QgsWkbTypes::Type::Point );
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconPointLayer.svg" ) ), tr( "MultiPoint" ), QgsWkbTypes::Type::MultiPoint );
|
||||
addGeomItem( QgsWkbTypes::Type::Point );
|
||||
addGeomItem( QgsWkbTypes::Type::MultiPoint );
|
||||
if ( hasSinglePart )
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconLineLayer.svg" ) ), tr( "Line" ), QgsWkbTypes::Type::LineString );
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconLineLayer.svg" ) ), tr( "MultiLine" ), QgsWkbTypes::Type::MultiLineString );
|
||||
addGeomItem( QgsWkbTypes::Type::LineString );
|
||||
addGeomItem( QgsWkbTypes::Type::MultiLineString );
|
||||
if ( hasSinglePart )
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconPolygonLayer.svg" ) ), tr( "Polygon" ), QgsWkbTypes::Type::Polygon );
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconPolygonLayer.svg" ) ), tr( "MultiPolygon" ), QgsWkbTypes::Type::MultiPolygon );
|
||||
addGeomItem( QgsWkbTypes::Type::Polygon );
|
||||
addGeomItem( QgsWkbTypes::Type::MultiPolygon );
|
||||
|
||||
if ( conn->geometryColumnCapabilities().testFlag( QgsAbstractDatabaseProviderConnection::GeometryColumnCapability::Curves ) )
|
||||
{
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconLineLayer.svg" ) ), tr( "CompoundCurve" ), QgsWkbTypes::Type::CompoundCurve );
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconPolygonLayer.svg" ) ), tr( "CurvePolygon" ), QgsWkbTypes::Type::CurvePolygon );
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconLineLayer.svg" ) ), tr( "MultiCurve" ), QgsWkbTypes::Type::MultiCurve );
|
||||
mGeomTypeCbo->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconPolygonLayer.svg" ) ), tr( "MultiSurface" ), QgsWkbTypes::Type::MultiSurface );
|
||||
addGeomItem( QgsWkbTypes::Type::CompoundCurve );
|
||||
addGeomItem( QgsWkbTypes::Type::CurvePolygon );
|
||||
addGeomItem( QgsWkbTypes::Type::MultiCurve );
|
||||
addGeomItem( QgsWkbTypes::Type::MultiSurface );
|
||||
}
|
||||
|
||||
mGeomTypeCbo->setCurrentIndex( 0 );
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgstextformatwidget.h"
|
||||
#include "qgsmapcanvas.h"
|
||||
#include "qgscharacterselectordialog.h"
|
||||
@ -473,9 +474,9 @@ void QgsTextFormatWidget::initWidget()
|
||||
updateCalloutFrameStatus();
|
||||
} );
|
||||
|
||||
mGeometryGeneratorType->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "Polygon / MultiPolygon" ), QgsWkbTypes::GeometryType::PolygonGeometry );
|
||||
mGeometryGeneratorType->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "LineString / MultiLineString" ), QgsWkbTypes::GeometryType::LineGeometry );
|
||||
mGeometryGeneratorType->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "Point / MultiPoint" ), QgsWkbTypes::GeometryType::PointGeometry );
|
||||
mGeometryGeneratorType->addItem( QgsLayerItem::iconForWkbType( QgsWkbTypes::Polygon ), tr( "Polygon / MultiPolygon" ), QgsWkbTypes::GeometryType::PolygonGeometry );
|
||||
mGeometryGeneratorType->addItem( QgsLayerItem::iconForWkbType( QgsWkbTypes::LineString ), tr( "LineString / MultiLineString" ), QgsWkbTypes::GeometryType::LineGeometry );
|
||||
mGeometryGeneratorType->addItem( QgsLayerItem::iconForWkbType( QgsWkbTypes::Point ), tr( "Point / MultiPoint" ), QgsWkbTypes::GeometryType::PointGeometry );
|
||||
|
||||
// set correct initial tab to match displayed setting page
|
||||
whileBlocking( mOptionsTab )->setCurrentIndex( mLabelStackedWidget->currentIndex() );
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
#include "qgsstylemanagerdialog.h"
|
||||
#include "qgsstylesavedialog.h"
|
||||
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgssymbol.h"
|
||||
#include "qgssymbollayerutils.h"
|
||||
#include "qgscolorramp.h"
|
||||
@ -331,13 +332,13 @@ QgsStyleManagerDialog::QgsStyleManagerDialog( QgsStyle *style, QWidget *parent,
|
||||
mMenuBtnAddItemLegendPatchShape = new QMenu( this );
|
||||
mMenuBtnAddItemSymbol3D = new QMenu( this );
|
||||
|
||||
QAction *item = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconPointLayer.svg" ) ), tr( "Marker…" ), this );
|
||||
QAction *item = new QAction( QgsLayerItem::iconPoint(), tr( "Marker…" ), this );
|
||||
connect( item, &QAction::triggered, this, [ = ]( bool ) { addSymbol( QgsSymbol::Marker ); } );
|
||||
mMenuBtnAddItemAll->addAction( item );
|
||||
item = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconLineLayer.svg" ) ), tr( "Line…" ), this );
|
||||
item = new QAction( QgsLayerItem::iconLine(), tr( "Line…" ), this );
|
||||
connect( item, &QAction::triggered, this, [ = ]( bool ) { addSymbol( QgsSymbol::Line ); } );
|
||||
mMenuBtnAddItemAll->addAction( item );
|
||||
item = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconPolygonLayer.svg" ) ), tr( "Fill…" ), this );
|
||||
item = new QAction( QgsLayerItem::iconPolygon(), tr( "Fill…" ), this );
|
||||
connect( item, &QAction::triggered, this, [ = ]( bool ) { addSymbol( QgsSymbol::Fill ); } );
|
||||
mMenuBtnAddItemAll->addAction( item );
|
||||
mMenuBtnAddItemAll->addSeparator();
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
|
||||
#include "qgssymbollayerwidget.h"
|
||||
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgslinesymbollayer.h"
|
||||
#include "qgsmarkersymbollayer.h"
|
||||
#include "qgsfillsymbollayer.h"
|
||||
@ -4160,9 +4161,9 @@ QgsGeometryGeneratorSymbolLayerWidget::QgsGeometryGeneratorSymbolLayerWidget( Qg
|
||||
modificationExpressionSelector->setMultiLine( true );
|
||||
modificationExpressionSelector->setLayer( const_cast<QgsVectorLayer *>( vl ) );
|
||||
modificationExpressionSelector->registerExpressionContextGenerator( this );
|
||||
cbxGeometryType->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) ), tr( "Polygon / MultiPolygon" ), QgsSymbol::Fill );
|
||||
cbxGeometryType->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) ), tr( "LineString / MultiLineString" ), QgsSymbol::Line );
|
||||
cbxGeometryType->addItem( QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) ), tr( "Point / MultiPoint" ), QgsSymbol::Marker );
|
||||
cbxGeometryType->addItem( QgsLayerItem::iconPolygon(), tr( "Polygon / MultiPolygon" ), QgsSymbol::Fill );
|
||||
cbxGeometryType->addItem( QgsLayerItem::iconLine(), tr( "LineString / MultiLineString" ), QgsSymbol::Line );
|
||||
cbxGeometryType->addItem( QgsLayerItem::iconPoint(), tr( "Point / MultiPoint" ), QgsSymbol::Marker );
|
||||
connect( modificationExpressionSelector, &QgsExpressionLineEdit::expressionChanged, this, &QgsGeometryGeneratorSymbolLayerWidget::updateExpression );
|
||||
connect( cbxGeometryType, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsGeometryGeneratorSymbolLayerWidget::updateSymbolType );
|
||||
}
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include "qgsfeaturepool.h"
|
||||
#include "qgsvectordataproviderfeaturepool.h"
|
||||
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsfeatureiterator.h"
|
||||
#include "qgisinterface.h"
|
||||
#include "qgsproject.h"
|
||||
@ -114,16 +115,16 @@ void QgsGeometryCheckerSetupTab::updateLayers()
|
||||
bool supportedGeometryType = true;
|
||||
if ( layer->geometryType() == QgsWkbTypes::PointGeometry )
|
||||
{
|
||||
item->setIcon( QgsApplication::getThemeIcon( "/mIconPointLayer.svg" ) );
|
||||
item->setIcon( QgsLayerItem::iconPoint() );
|
||||
}
|
||||
else if ( layer->geometryType() == QgsWkbTypes::LineGeometry )
|
||||
{
|
||||
item->setIcon( QgsApplication::getThemeIcon( "/mIconLineLayer.svg" ) );
|
||||
item->setIcon( QgsLayerItem::iconLine() );
|
||||
ui.comboLineLayerIntersection->addItem( layer->name(), layer->id() );
|
||||
}
|
||||
else if ( layer->geometryType() == QgsWkbTypes::PolygonGeometry )
|
||||
{
|
||||
item->setIcon( QgsApplication::getThemeIcon( "/mIconPolygonLayer.svg" ) );
|
||||
item->setIcon( QgsLayerItem::iconPolygon() );
|
||||
ui.comboLineLayerIntersection->addItem( layer->name(), layer->id() );
|
||||
ui.comboBoxFollowBoundaries->addItem( layer->name(), layer->id() );
|
||||
}
|
||||
|
||||
@ -27,6 +27,7 @@
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsmanageconnectionsdialog.h"
|
||||
#include "qgsquerybuilder.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsdatasourceuri.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgssettings.h"
|
||||
@ -62,7 +63,7 @@ QWidget *QgsDb2SourceSelectDelegate::createEditor( QWidget *parent, const QStyle
|
||||
<< QgsWkbTypes::MultiPolygon
|
||||
<< QgsWkbTypes::NoGeometry )
|
||||
{
|
||||
cb->addItem( QgsDb2TableModel::iconForWkbType( type ), QgsWkbTypes::displayString( type ), type );
|
||||
cb->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
}
|
||||
cb->setCurrentIndex( cb->findData( index.data( Qt::UserRole + 2 ).toInt() ) );
|
||||
return cb;
|
||||
@ -101,8 +102,8 @@ void QgsDb2SourceSelectDelegate::setModelData( QWidget *editor, QAbstractItemMod
|
||||
{
|
||||
const QgsWkbTypes::Type type = static_cast< QgsWkbTypes::Type >( cb->currentData().toInt() );
|
||||
|
||||
model->setData( index, QgsDb2TableModel::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsWkbTypes::displayString( type ) : tr( "Select…" ) );
|
||||
model->setData( index, QgsLayerItem::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsWkbTypes::translatedDisplayString( type ) : tr( "Select…" ) );
|
||||
model->setData( index, type, Qt::UserRole + 2 );
|
||||
}
|
||||
else if ( index.column() == QgsDb2TableModel::DbtmPkCol )
|
||||
|
||||
@ -77,10 +77,10 @@ void QgsDb2TableModel::addTableEntry( const QgsDb2LayerProperty &layerProperty )
|
||||
QStandardItem *schemaNameItem = new QStandardItem( layerProperty.schemaName );
|
||||
schemaNameItem->setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable );
|
||||
|
||||
QStandardItem *typeItem = new QStandardItem( iconForWkbType( wkbType ),
|
||||
QStandardItem *typeItem = new QStandardItem( QgsLayerItem::iconForWkbType( wkbType ),
|
||||
needToDetect
|
||||
? tr( "Detecting…" )
|
||||
: QgsWkbTypes::displayString( wkbType ) );
|
||||
: QgsWkbTypes::translatedDisplayString( wkbType ) );
|
||||
typeItem->setData( needToDetect, Qt::UserRole + 1 );
|
||||
typeItem->setData( wkbType, Qt::UserRole + 2 );
|
||||
|
||||
@ -265,8 +265,8 @@ void QgsDb2TableModel::setGeometryTypesForTable( QgsDb2LayerProperty layerProper
|
||||
// update existing row
|
||||
QgsWkbTypes::Type wkbType = QgsDb2TableModel::wkbTypeFromDb2( typeList.at( 0 ) );
|
||||
|
||||
row[ DbtmType ]->setIcon( iconForWkbType( wkbType ) );
|
||||
row[ DbtmType ]->setText( QgsWkbTypes::displayString( wkbType ) );
|
||||
row[ DbtmType ]->setIcon( QgsLayerItem::iconForWkbType( wkbType ) );
|
||||
row[ DbtmType ]->setText( QgsWkbTypes::translatedDisplayString( wkbType ) );
|
||||
row[ DbtmType ]->setData( false, Qt::UserRole + 1 );
|
||||
row[ DbtmType ]->setData( wkbType, Qt::UserRole + 2 );
|
||||
|
||||
@ -292,25 +292,6 @@ void QgsDb2TableModel::setGeometryTypesForTable( QgsDb2LayerProperty layerProper
|
||||
}
|
||||
}
|
||||
|
||||
QIcon QgsDb2TableModel::iconForWkbType( QgsWkbTypes::Type type )
|
||||
{
|
||||
switch ( QgsWkbTypes::geometryType( type ) )
|
||||
|
||||
{
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) );
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) );
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) );
|
||||
case QgsWkbTypes::NullGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) );
|
||||
case QgsWkbTypes::UnknownGeometry:
|
||||
break;
|
||||
}
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconLayer.png" ) );
|
||||
}
|
||||
|
||||
bool QgsDb2TableModel::setData( const QModelIndex &idx, const QVariant &value, int role )
|
||||
{
|
||||
if ( !QStandardItemModel::setData( idx, value, role ) )
|
||||
|
||||
@ -84,8 +84,6 @@ class QgsDb2TableModel : public QStandardItemModel
|
||||
|
||||
QString layerURI( const QModelIndex &index, const QString &connInfo, bool useEstimatedMetadata );
|
||||
|
||||
static QIcon iconForWkbType( QgsWkbTypes::Type type );
|
||||
|
||||
static QgsWkbTypes::Type wkbTypeFromDb2( QString dbType, int dim = 2 );
|
||||
|
||||
private:
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
#include "qgsmssqlnewconnection.h"
|
||||
#include "qgsmanageconnectionsdialog.h"
|
||||
#include "qgsquerybuilder.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsdatasourceuri.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgssettings.h"
|
||||
@ -65,7 +66,7 @@ QWidget *QgsMssqlSourceSelectDelegate::createEditor( QWidget *parent, const QSty
|
||||
<< QgsWkbTypes::MultiPolygon
|
||||
<< QgsWkbTypes::NoGeometry )
|
||||
{
|
||||
cb->addItem( QgsMssqlTableModel::iconForWkbType( type ), QgsWkbTypes::displayString( type ), type );
|
||||
cb->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
}
|
||||
cb->setCurrentIndex( cb->findData( index.data( Qt::UserRole + 2 ).toInt() ) );
|
||||
return cb;
|
||||
@ -104,8 +105,8 @@ void QgsMssqlSourceSelectDelegate::setModelData( QWidget *editor, QAbstractItemM
|
||||
{
|
||||
QgsWkbTypes::Type type = static_cast< QgsWkbTypes::Type >( cb->currentData().toInt() );
|
||||
|
||||
model->setData( index, QgsMssqlTableModel::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsWkbTypes::displayString( type ) : tr( "Select…" ) );
|
||||
model->setData( index, QgsLayerItem::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsWkbTypes::translatedDisplayString( type ) : tr( "Select…" ) );
|
||||
model->setData( index, type, Qt::UserRole + 2 );
|
||||
}
|
||||
else if ( index.column() == QgsMssqlTableModel::DbtmPkCol )
|
||||
|
||||
@ -76,7 +76,7 @@ void QgsMssqlTableModel::addTableEntry( const QgsMssqlLayerProperty &layerProper
|
||||
QStandardItem *schemaNameItem = new QStandardItem( layerProperty.schemaName );
|
||||
schemaNameItem->setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable );
|
||||
|
||||
QStandardItem *typeItem = new QStandardItem( iconForWkbType( wkbType ),
|
||||
QStandardItem *typeItem = new QStandardItem( QgsLayerItem::iconForWkbType( wkbType ),
|
||||
needToDetect
|
||||
? tr( "Detecting…" )
|
||||
: QgsWkbTypes::displayString( wkbType ) );
|
||||
@ -266,8 +266,8 @@ void QgsMssqlTableModel::setGeometryTypesForTable( QgsMssqlLayerProperty layerPr
|
||||
// update existing row
|
||||
QgsWkbTypes::Type wkbType = QgsMssqlTableModel::wkbTypeFromMssql( typeList.at( 0 ) );
|
||||
|
||||
row[ DbtmType ]->setIcon( iconForWkbType( wkbType ) );
|
||||
row[ DbtmType ]->setText( QgsWkbTypes::displayString( wkbType ) );
|
||||
row[ DbtmType ]->setIcon( QgsLayerItem::iconForWkbType( wkbType ) );
|
||||
row[ DbtmType ]->setText( QgsWkbTypes::translatedDisplayString( wkbType ) );
|
||||
row[ DbtmType ]->setData( false, Qt::UserRole + 1 );
|
||||
row[ DbtmType ]->setData( wkbType, Qt::UserRole + 2 );
|
||||
|
||||
@ -293,24 +293,6 @@ void QgsMssqlTableModel::setGeometryTypesForTable( QgsMssqlLayerProperty layerPr
|
||||
}
|
||||
}
|
||||
|
||||
QIcon QgsMssqlTableModel::iconForWkbType( QgsWkbTypes::Type type )
|
||||
{
|
||||
switch ( QgsWkbTypes::geometryType( type ) )
|
||||
{
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconPointLayer.svg" ) );
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconLineLayer.svg" ) );
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconPolygonLayer.svg" ) );
|
||||
case QgsWkbTypes::NullGeometry:
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconTableLayer.svg" ) );
|
||||
case QgsWkbTypes::UnknownGeometry:
|
||||
break;
|
||||
}
|
||||
return QgsApplication::getThemeIcon( QStringLiteral( "/mIconLayer.png" ) );
|
||||
}
|
||||
|
||||
bool QgsMssqlTableModel::setData( const QModelIndex &idx, const QVariant &value, int role )
|
||||
{
|
||||
if ( !QStandardItemModel::setData( idx, value, role ) )
|
||||
|
||||
@ -82,8 +82,6 @@ class QgsMssqlTableModel : public QStandardItemModel
|
||||
|
||||
QString layerURI( const QModelIndex &index, const QString &connInfo, bool useEstimatedMetadata, bool disableInvalidGeometryHandling );
|
||||
|
||||
static QIcon iconForWkbType( QgsWkbTypes::Type type );
|
||||
|
||||
static QgsWkbTypes::Type wkbTypeFromMssql( QString dbType );
|
||||
|
||||
private:
|
||||
|
||||
@ -742,48 +742,6 @@ QgsWkbTypes::Type QgsOracleConn::wkbTypeFromDatabase( int gtype )
|
||||
}
|
||||
}
|
||||
|
||||
QString QgsOracleConn::displayStringForWkbType( QgsWkbTypes::Type type )
|
||||
{
|
||||
switch ( type )
|
||||
{
|
||||
case QgsWkbTypes::Point:
|
||||
case QgsWkbTypes::Point25D:
|
||||
return tr( "Point" );
|
||||
|
||||
case QgsWkbTypes::MultiPoint:
|
||||
case QgsWkbTypes::MultiPoint25D:
|
||||
return tr( "Multipoint" );
|
||||
|
||||
case QgsWkbTypes::LineString:
|
||||
case QgsWkbTypes::LineString25D:
|
||||
return tr( "Line" );
|
||||
|
||||
case QgsWkbTypes::MultiLineString:
|
||||
case QgsWkbTypes::MultiLineString25D:
|
||||
return tr( "Multiline" );
|
||||
|
||||
case QgsWkbTypes::Polygon:
|
||||
case QgsWkbTypes::Polygon25D:
|
||||
return tr( "Polygon" );
|
||||
|
||||
case QgsWkbTypes::MultiPolygon:
|
||||
case QgsWkbTypes::MultiPolygon25D:
|
||||
return tr( "Multipolygon" );
|
||||
|
||||
case QgsWkbTypes::NoGeometry:
|
||||
return tr( "No Geometry" );
|
||||
|
||||
case QgsWkbTypes::Unknown:
|
||||
return tr( "Unknown Geometry" );
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Q_ASSERT( !"unexpected wkbType" );
|
||||
return QString();
|
||||
}
|
||||
|
||||
QgsWkbTypes::Type QgsOracleConn::wkbTypeFromGeomType( QgsWkbTypes::GeometryType geomType )
|
||||
{
|
||||
switch ( geomType )
|
||||
|
||||
@ -186,7 +186,6 @@ class QgsOracleConn : public QObject
|
||||
|
||||
static const int sGeomTypeSelectLimit;
|
||||
|
||||
static QString displayStringForWkbType( QgsWkbTypes::Type wkbType );
|
||||
static QgsWkbTypes::Type wkbTypeFromDatabase( int gtype );
|
||||
|
||||
static QString databaseTypeFilter( const QString &alias, QString geomCol, QgsWkbTypes::Type wkbType );
|
||||
|
||||
@ -494,7 +494,7 @@ void QgsOracleOwnerItem::addLayer( const QgsOracleLayerProperty &layerProperty )
|
||||
|
||||
Q_ASSERT( layerProperty.size() == 1 );
|
||||
QgsWkbTypes::Type wkbType = layerProperty.types.at( 0 );
|
||||
QString tip = tr( "%1 as %2 in %3" ).arg( layerProperty.geometryColName, QgsOracleConn::displayStringForWkbType( wkbType ) ).arg( layerProperty.srids.at( 0 ) );
|
||||
QString tip = tr( "%1 as %2 in %3" ).arg( layerProperty.geometryColName, QgsWkbTypes::translatedDisplayString( wkbType ) ).arg( layerProperty.srids.at( 0 ) );
|
||||
|
||||
QgsLayerItem::LayerType layerType;
|
||||
switch ( wkbType )
|
||||
|
||||
@ -25,6 +25,7 @@ email : jef at norbit dot de
|
||||
#include "qgsoracletablecache.h"
|
||||
#include "qgsmanageconnectionsdialog.h"
|
||||
#include "qgsquerybuilder.h"
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgsdatasourceuri.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgsoraclecolumntypethread.h"
|
||||
@ -66,7 +67,7 @@ QWidget *QgsOracleSourceSelectDelegate::createEditor( QWidget *parent, const QSt
|
||||
<< QgsWkbTypes::MultiPolygon
|
||||
<< QgsWkbTypes::NoGeometry )
|
||||
{
|
||||
cb->addItem( QgsOracleTableModel::iconForWkbType( type ), QgsOracleConn::displayStringForWkbType( type ), type );
|
||||
cb->addItem( QgsLayerItem::iconForWkbType( type ), QgsWkbTypes::translatedDisplayString( type ), type );
|
||||
}
|
||||
return cb;
|
||||
}
|
||||
@ -141,8 +142,8 @@ void QgsOracleSourceSelectDelegate::setModelData( QWidget *editor, QAbstractItem
|
||||
{
|
||||
QgsWkbTypes::Type type = static_cast< QgsWkbTypes::Type >( cb->currentData().toInt() );
|
||||
|
||||
model->setData( index, QgsOracleTableModel::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsOracleConn::displayStringForWkbType( type ) : tr( "Select…" ) );
|
||||
model->setData( index, QgsLayerItem::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsWkbTypes::translatedDisplayString( type ) : tr( "Select…" ) );
|
||||
model->setData( index, type, Qt::UserRole + 2 );
|
||||
}
|
||||
else if ( index.column() == QgsOracleTableModel::DbtmPkCol )
|
||||
|
||||
@ -69,7 +69,9 @@ void QgsOracleTableModel::addTableEntry( const QgsOracleLayerProperty &layerProp
|
||||
}
|
||||
|
||||
QStandardItem *ownerNameItem = new QStandardItem( layerProperty.ownerName );
|
||||
QStandardItem *typeItem = new QStandardItem( iconForWkbType( wkbType ), wkbType == QgsWkbTypes::Unknown ? tr( "Select…" ) : QgsOracleConn::displayStringForWkbType( wkbType ) );
|
||||
QStandardItem *typeItem = new QStandardItem(
|
||||
QgsLayerItem::iconForWkbType( wkbType ),
|
||||
wkbType == QgsWkbTypes::Unknown ? tr( "Select…" ) : QgsWkbTypes::translatedDisplayString( wkbType ) );
|
||||
typeItem->setData( wkbType == QgsWkbTypes::Unknown, Qt::UserRole + 1 );
|
||||
typeItem->setData( wkbType, Qt::UserRole + 2 );
|
||||
if ( wkbType == QgsWkbTypes::Unknown )
|
||||
@ -220,29 +222,6 @@ void QgsOracleTableModel::setSql( const QModelIndex &index, const QString &sql )
|
||||
}
|
||||
}
|
||||
|
||||
QIcon QgsOracleTableModel::iconForWkbType( QgsWkbTypes::Type type )
|
||||
{
|
||||
switch ( QgsWkbTypes::geometryType( type ) )
|
||||
{
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconPointLayer.svg" );
|
||||
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconLineLayer.svg" );
|
||||
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconPolygonLayer.svg" );
|
||||
|
||||
case QgsWkbTypes::UnknownGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconLayer.png" );
|
||||
|
||||
case QgsWkbTypes::NullGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconTableLayer.svg" );
|
||||
|
||||
}
|
||||
return QgsApplication::getThemeIcon( "/mIconTableLayer.png" );
|
||||
}
|
||||
|
||||
bool QgsOracleTableModel::setData( const QModelIndex &idx, const QVariant &value, int role )
|
||||
{
|
||||
if ( !QStandardItemModel::setData( idx, value, role ) )
|
||||
|
||||
@ -59,8 +59,6 @@ class QgsOracleTableModel : public QStandardItemModel
|
||||
|
||||
QString layerURI( const QModelIndex &index, const QgsDataSourceUri &connInfo );
|
||||
|
||||
static QIcon iconForWkbType( QgsWkbTypes::Type type );
|
||||
|
||||
private:
|
||||
//! Number of tables in the model
|
||||
int mTableCount = 0;
|
||||
|
||||
@ -18,6 +18,7 @@ email : sherman at mrcc.com
|
||||
|
||||
#include "qgspgsourceselect.h"
|
||||
|
||||
#include "qgsdataitem.h"
|
||||
#include "qgslogger.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgspostgresprovider.h"
|
||||
@ -67,7 +68,7 @@ QWidget *QgsPgSourceSelectDelegate::createEditor( QWidget *parent, const QStyleO
|
||||
, QgsWkbTypes::NoGeometry };
|
||||
for ( QgsWkbTypes::Type type : types )
|
||||
{
|
||||
cb->addItem( QgsPgTableModel::iconForWkbType( type ), QgsPostgresConn::displayStringForWkbType( type ), type );
|
||||
cb->addItem( QgsLayerItem::iconForWkbType( type ), QgsPostgresConn::displayStringForWkbType( type ), type );
|
||||
}
|
||||
return cb;
|
||||
}
|
||||
@ -162,7 +163,7 @@ void QgsPgSourceSelectDelegate::setModelData( QWidget *editor, QAbstractItemMode
|
||||
{
|
||||
QgsWkbTypes::Type type = static_cast< QgsWkbTypes::Type >( cb->currentData().toInt() );
|
||||
|
||||
model->setData( index, QgsPgTableModel::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, QgsLayerItem::iconForWkbType( type ), Qt::DecorationRole );
|
||||
model->setData( index, type != QgsWkbTypes::Unknown ? QgsPostgresConn::displayStringForWkbType( type ) : tr( "Select…" ) );
|
||||
model->setData( index, type, Qt::UserRole + 2 );
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ void QgsPgTableModel::addTableEntry( const QgsPostgresLayerProperty &layerProper
|
||||
}
|
||||
else
|
||||
{
|
||||
typeItem = new QStandardItem( iconForWkbType( wkbType ), wkbType == QgsWkbTypes::Unknown ? tr( "Select…" ) : QgsPostgresConn::displayStringForWkbType( wkbType ) );
|
||||
typeItem = new QStandardItem( QgsLayerItem::iconForWkbType( wkbType ), wkbType == QgsWkbTypes::Unknown ? tr( "Select…" ) : QgsPostgresConn::displayStringForWkbType( wkbType ) );
|
||||
}
|
||||
typeItem->setData( wkbType == QgsWkbTypes::Unknown, Qt::UserRole + 1 );
|
||||
typeItem->setData( wkbType, Qt::UserRole + 2 );
|
||||
@ -310,23 +310,6 @@ void QgsPgTableModel::setSql( const QModelIndex &index, const QString &sql )
|
||||
}
|
||||
}
|
||||
|
||||
QIcon QgsPgTableModel::iconForWkbType( QgsWkbTypes::Type type )
|
||||
{
|
||||
QgsWkbTypes::GeometryType geomType = QgsWkbTypes::geometryType( QgsWkbTypes::Type( type ) );
|
||||
switch ( geomType )
|
||||
{
|
||||
case QgsWkbTypes::PointGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconPointLayer.svg" );
|
||||
case QgsWkbTypes::LineGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconLineLayer.svg" );
|
||||
case QgsWkbTypes::PolygonGeometry:
|
||||
return QgsApplication::getThemeIcon( "/mIconPolygonLayer.svg" );
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return QgsApplication::getThemeIcon( "/mIconLayer.png" );
|
||||
}
|
||||
|
||||
bool QgsPgTableModel::setData( const QModelIndex &idx, const QVariant &value, int role )
|
||||
{
|
||||
if ( !QStandardItemModel::setData( idx, value, role ) )
|
||||
|
||||
@ -62,8 +62,6 @@ class QgsPgTableModel : public QStandardItemModel
|
||||
|
||||
QString layerURI( const QModelIndex &index, const QString &connInfo, bool useEstimatedMetadata );
|
||||
|
||||
static QIcon iconForWkbType( QgsWkbTypes::Type type );
|
||||
|
||||
void setConnectionName( const QString &connName ) { mConnName = connName; }
|
||||
|
||||
private:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user