diff --git a/images/images.qrc b/images/images.qrc index d012d43fe35..5a80fa16487 100755 --- a/images/images.qrc +++ b/images/images.qrc @@ -76,6 +76,7 @@ north_arrows/gpsarrow2.svg splash/splash.png composer/missing_image.svg + themes/default/algorithms/mAlgorithmAddGeometryAttributes.svg themes/default/algorithms/mAlgorithmBasicStatistics.svg themes/default/algorithms/mAlgorithmBuffer.svg themes/default/algorithms/mAlgorithmCentroids.svg @@ -83,12 +84,13 @@ themes/default/algorithms/mAlgorithmClip.svg themes/default/algorithms/mAlgorithmCollect.svg themes/default/algorithms/mAlgorithmConvexHull.svg + themes/default/algorithms/mAlgorithmCreateGrid.svg themes/default/algorithms/mAlgorithmDelaunay.svg themes/default/algorithms/mAlgorithmDifference.svg themes/default/algorithms/mAlgorithmDissolve.svg themes/default/algorithms/mAlgorithmDistanceMatrix.svg - themes/default/algorithms/mAlgorithmAddGeometryAttributes.svg themes/default/algorithms/mAlgorithmExtractVertices.svg + themes/default/algorithms/mAlgorithmExtractLayerExtent.svg themes/default/algorithms/mAlgorithmIntersect.svg themes/default/algorithms/mAlgorithmLineIntersections.svg themes/default/algorithms/mAlgorithmLineToPolygon.svg @@ -97,6 +99,11 @@ themes/default/algorithms/mAlgorithmMultiToSingle.svg themes/default/algorithms/mAlgorithmNearestNeighbour.svg themes/default/algorithms/mAlgorithmPolygonToLine.svg + themes/default/algorithms/mAlgorithmRandomPointsWithinPolygon.svg + themes/default/algorithms/mAlgorithmRandomPointsWithinExtent.svg + themes/default/algorithms/mAlgorithmRegularPoints.svg + themes/default/algorithms/mAlgorithmSelectLocation.svg + themes/default/algorithms/mAlgorithmSelectRandom.svg themes/default/algorithms/mAlgorithmSimplify.svg themes/default/algorithms/mAlgorithmSingleToMulti.svg themes/default/algorithms/mAlgorithmSplitLayer.svg diff --git a/images/themes/default/algorithms/mAlgorithmCreateGrid.svg b/images/themes/default/algorithms/mAlgorithmCreateGrid.svg new file mode 100644 index 00000000000..1574819a63d --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmCreateGrid.svg @@ -0,0 +1 @@ + diff --git a/images/themes/default/algorithms/mAlgorithmExtractLayerExtent.svg b/images/themes/default/algorithms/mAlgorithmExtractLayerExtent.svg new file mode 100644 index 00000000000..6357e1c78ad --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmExtractLayerExtent.svg @@ -0,0 +1 @@ + diff --git a/images/themes/default/algorithms/mAlgorithmRandomPointsWithinExtent.svg b/images/themes/default/algorithms/mAlgorithmRandomPointsWithinExtent.svg new file mode 100644 index 00000000000..c4a7221af9c --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmRandomPointsWithinExtent.svg @@ -0,0 +1 @@ + diff --git a/images/themes/default/algorithms/mAlgorithmRandomPointsWithinPolygon.svg b/images/themes/default/algorithms/mAlgorithmRandomPointsWithinPolygon.svg new file mode 100644 index 00000000000..3c32d991e2d --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmRandomPointsWithinPolygon.svg @@ -0,0 +1 @@ + diff --git a/images/themes/default/algorithms/mAlgorithmRegularPoints.svg b/images/themes/default/algorithms/mAlgorithmRegularPoints.svg new file mode 100644 index 00000000000..c44690b86ea --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmRegularPoints.svg @@ -0,0 +1 @@ + diff --git a/images/themes/default/algorithms/mAlgorithmSelectLocation.svg b/images/themes/default/algorithms/mAlgorithmSelectLocation.svg new file mode 100644 index 00000000000..e1df5a39059 --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmSelectLocation.svg @@ -0,0 +1 @@ + diff --git a/images/themes/default/algorithms/mAlgorithmSelectRandom.svg b/images/themes/default/algorithms/mAlgorithmSelectRandom.svg new file mode 100644 index 00000000000..73e3cfc7424 --- /dev/null +++ b/images/themes/default/algorithms/mAlgorithmSelectRandom.svg @@ -0,0 +1 @@ +?? diff --git a/python/plugins/processing/algs/qgis/ExtentFromLayer.py b/python/plugins/processing/algs/qgis/ExtentFromLayer.py index 8b03f8de1ce..ff8355b548c 100644 --- a/python/plugins/processing/algs/qgis/ExtentFromLayer.py +++ b/python/plugins/processing/algs/qgis/ExtentFromLayer.py @@ -30,7 +30,8 @@ import os from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtCore import QVariant -from qgis.core import (QgsField, +from qgis.core import (QgsApplication, + QgsField, QgsFeatureSink, QgsGeometry, QgsFeature, @@ -54,7 +55,10 @@ class ExtentFromLayer(QgisAlgorithm): OUTPUT = 'OUTPUT' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'layer_extent.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmExtractLayerExtent.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmExtractLayerExtent.svg") def tags(self): return self.tr('polygon,from,vector,raster,extent,envelope,bounds,bounding,boundary,layer').split(',') diff --git a/python/plugins/processing/algs/qgis/Grid.py b/python/plugins/processing/algs/qgis/Grid.py index dad4c853879..2411f362829 100644 --- a/python/plugins/processing/algs/qgis/Grid.py +++ b/python/plugins/processing/algs/qgis/Grid.py @@ -65,7 +65,10 @@ class Grid(QgisAlgorithm): OUTPUT = 'OUTPUT' def icon(self): - return QgsApplication.getThemeIcon("/vector_grid.svg") + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmCreateGrid.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmCreateGrid.svg") def tags(self): return self.tr('grid,lines,polygons,vector,create,fishnet,diamond,hexagon').split(',') diff --git a/python/plugins/processing/algs/qgis/RandomPointsExtent.py b/python/plugins/processing/algs/qgis/RandomPointsExtent.py index 4b97f24361a..896463008ff 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsExtent.py +++ b/python/plugins/processing/algs/qgis/RandomPointsExtent.py @@ -30,7 +30,8 @@ import random from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtCore import QVariant -from qgis.core import (QgsField, +from qgis.core import (QgsApplication, + QgsField, QgsFeatureSink, QgsFeature, QgsFields, @@ -62,7 +63,10 @@ class RandomPointsExtent(QgisAlgorithm): OUTPUT = 'OUTPUT' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'random_points.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmRandomPointsWithinExtent.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmRandomPointsWithinExtent.svg") def group(self): return self.tr('Vector creation') diff --git a/python/plugins/processing/algs/qgis/RandomPointsLayer.py b/python/plugins/processing/algs/qgis/RandomPointsLayer.py index df9b318d4c8..c9f8d97b52c 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsLayer.py +++ b/python/plugins/processing/algs/qgis/RandomPointsLayer.py @@ -30,7 +30,8 @@ import random from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtCore import QVariant -from qgis.core import (QgsField, +from qgis.core import (QgsApplication, + QgsField, QgsFeatureSink, QgsFeature, QgsFields, @@ -61,7 +62,10 @@ class RandomPointsLayer(QgisAlgorithm): OUTPUT = 'OUTPUT' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'random_points.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmRandomPointsWithinExtent.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmRandomPointsWithinExtent.svg") def group(self): return self.tr('Vector creation') diff --git a/python/plugins/processing/algs/qgis/RandomPointsPolygons.py b/python/plugins/processing/algs/qgis/RandomPointsPolygons.py index 44316c73812..6349d85932f 100644 --- a/python/plugins/processing/algs/qgis/RandomPointsPolygons.py +++ b/python/plugins/processing/algs/qgis/RandomPointsPolygons.py @@ -30,7 +30,8 @@ import random from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtCore import QVariant -from qgis.core import (QgsField, +from qgis.core import (QgsApplication, + QgsField, QgsFeatureSink, QgsFeature, QgsFields, @@ -67,7 +68,10 @@ class RandomPointsPolygons(QgisAlgorithm): OUTPUT = 'OUTPUT' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'random_points.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmRandomPointsWithinPolygon.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmRandomPointsWithinPolygon.svg") def group(self): return self.tr('Vector creation') diff --git a/python/plugins/processing/algs/qgis/RandomSelection.py b/python/plugins/processing/algs/qgis/RandomSelection.py index 146d0497f6d..cdb5f98c30c 100644 --- a/python/plugins/processing/algs/qgis/RandomSelection.py +++ b/python/plugins/processing/algs/qgis/RandomSelection.py @@ -29,7 +29,8 @@ import os import random from qgis.PyQt.QtGui import QIcon -from qgis.core import (QgsFeatureSink, +from qgis.core import (QgsApplication, + QgsFeatureSink, QgsProcessingException, QgsProcessingUtils, QgsProcessingAlgorithm, @@ -52,7 +53,10 @@ class RandomSelection(QgisAlgorithm): NUMBER = 'NUMBER' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'random_selection.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmSelectRandom.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmSelectRandom.svg") def group(self): return self.tr('Vector selection') diff --git a/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py b/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py index e2aaea6384e..9281da0545b 100644 --- a/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py +++ b/python/plugins/processing/algs/qgis/RandomSelectionWithinSubsets.py @@ -30,7 +30,8 @@ import random from qgis.PyQt.QtGui import QIcon -from qgis.core import (QgsFeatureRequest, +from qgis.core import (QgsApplication, + QgsFeatureRequest, QgsProcessingException, QgsProcessingUtils, QgsProcessingAlgorithm, @@ -55,7 +56,10 @@ class RandomSelectionWithinSubsets(QgisAlgorithm): OUTPUT = 'OUTPUT' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'sub_selection.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmSelectRandom.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmSelectRandom.svg") def group(self): return self.tr('Vector selection') diff --git a/python/plugins/processing/algs/qgis/RegularPoints.py b/python/plugins/processing/algs/qgis/RegularPoints.py index d8f4d868a52..2633fb30f55 100644 --- a/python/plugins/processing/algs/qgis/RegularPoints.py +++ b/python/plugins/processing/algs/qgis/RegularPoints.py @@ -31,7 +31,8 @@ from math import sqrt from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtCore import QVariant -from qgis.core import (QgsFields, +from qgis.core import (QgsApplication, + QgsFields, QgsFeatureSink, QgsField, QgsFeature, @@ -63,7 +64,10 @@ class RegularPoints(QgisAlgorithm): CRS = 'CRS' def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'regular_points.png')) + return QgsApplication.getThemeIcon("/algorithms/mAlgorithmRegularPoints.svg") + + def svgIconPath(self): + return QgsApplication.iconPath("/algorithms/mAlgorithmRegularPoints.svg") def group(self): return self.tr('Vector creation') diff --git a/python/plugins/processing/algs/qgis/SpatialJoin.py b/python/plugins/processing/algs/qgis/SpatialJoin.py index e65f00d41af..808aa354e48 100644 --- a/python/plugins/processing/algs/qgis/SpatialJoin.py +++ b/python/plugins/processing/algs/qgis/SpatialJoin.py @@ -57,9 +57,6 @@ class SpatialJoin(QgisAlgorithm): DISCARD_NONMATCHING = "DISCARD_NONMATCHING" OUTPUT = "OUTPUT" - def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'join_location.png')) - def group(self): return self.tr('Vector general') diff --git a/python/plugins/processing/algs/qgis/SpatialJoinSummary.py b/python/plugins/processing/algs/qgis/SpatialJoinSummary.py index 08bc2e90f86..87c93d6fce1 100644 --- a/python/plugins/processing/algs/qgis/SpatialJoinSummary.py +++ b/python/plugins/processing/algs/qgis/SpatialJoinSummary.py @@ -65,9 +65,6 @@ class SpatialJoinSummary(QgisAlgorithm): DISCARD_NONMATCHING = "DISCARD_NONMATCHING" OUTPUT = "OUTPUT" - def icon(self): - return QIcon(os.path.join(pluginPath, 'images', 'ftools', 'join_location.png')) - def group(self): return self.tr('Vector general') diff --git a/src/analysis/processing/qgsalgorithmextractbylocation.h b/src/analysis/processing/qgsalgorithmextractbylocation.h index bb6e1ce25dc..2cd4579dc41 100644 --- a/src/analysis/processing/qgsalgorithmextractbylocation.h +++ b/src/analysis/processing/qgsalgorithmextractbylocation.h @@ -63,6 +63,8 @@ class QgsSelectByLocationAlgorithm : public QgsLocationBasedAlgorithm QgsSelectByLocationAlgorithm() = default; void initAlgorithm( const QVariantMap &configuration = QVariantMap() ) override; + QIcon icon() const override { return QgsApplication::getThemeIcon( QStringLiteral( "/algorithms/mAlgorithmSelectLocation.svg" ) ); } + QString svgIconPath() const override { return QgsApplication::iconPath( QStringLiteral( "/algorithms/mAlgorithmSelectLocation.svg" ) ); } QString name() const override; Flags flags() const override; QString displayName() const override;