[processing] Move some SVG icons out of plugin to themes

...and swap to using QgsApplication methods for retrieving cached icons,
implement svgIconPath for providers with SVG icons
This commit is contained in:
Nyall Dawson 2017-01-09 12:34:46 +10:00
parent bf484dafa8
commit 04eb293362
43 changed files with 148 additions and 137 deletions

View File

@ -550,6 +550,14 @@
<file>themes/default/mTaskRunning.svg</file> <file>themes/default/mTaskRunning.svg</file>
<file>themes/default/mTaskTerminated.svg</file> <file>themes/default/mTaskTerminated.svg</file>
<file>themes/default/mTaskCancel.svg</file> <file>themes/default/mTaskCancel.svg</file>
<file>themes/default/providerGdal.svg</file>
<file>themes/default/providerGrass.svg</file>
<file>themes/default/providerQgis.svg</file>
<file>themes/default/providerR.svg</file>
<file>themes/default/providerTaudem.svg</file>
<file>themes/default/processingModel.svg</file>
<file>themes/default/processingScript.svg</file>
<file>themes/default/processingAlgorithm.svg</file>
</qresource> </qresource>
<qresource prefix="/images/tips"> <qresource prefix="/images/tips">
<file alias="symbol_levels.png">qgis_tips/symbol_levels.png</file> <file alias="symbol_levels.png">qgis_tips/symbol_levels.png</file>

View File

Before

Width:  |  Height:  |  Size: 861 B

After

Width:  |  Height:  |  Size: 861 B

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -13,11 +13,11 @@
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg3399" id="svg3399"
version="1.1" version="1.1"
inkscape:version="0.91 r13725" inkscape:version="0.92pre3 r"
width="25.4mm" width="25.4mm"
height="25.4mm" height="25.4mm"
viewBox="0 0 89.999998 89.999999" viewBox="0 0 89.999998 89.999999"
sodipodi:docname="taudem.svg"> sodipodi:docname="providerTaudem.svg">
<metadata <metadata
id="metadata3405"> id="metadata3405">
<rdf:RDF> <rdf:RDF>
@ -32,30 +32,6 @@
</metadata> </metadata>
<defs <defs
id="defs3403"> id="defs3403">
<linearGradient
inkscape:collect="always"
id="linearGradient5605">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop5607" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop5610" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5613">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop5615" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop5617" />
</linearGradient>
<linearGradient <linearGradient
id="linearGradient5607" id="linearGradient5607"
osb:paint="solid"> osb:paint="solid">
@ -94,35 +70,6 @@
y2="699.9278" y2="699.9278"
gradientUnits="userSpaceOnUse" gradientUnits="userSpaceOnUse"
gradientTransform="translate(0,-654.09448)" /> gradientTransform="translate(0,-654.09448)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5589"
id="linearGradient5593"
x1="54.945377"
y1="51.502598"
x2="85.780338"
y2="51.502598"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5613"
id="linearGradient5619"
x1="54.445377"
y1="51.502598"
x2="86.280338"
y2="51.502598"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5605"
id="radialGradient5612"
cx="71.826358"
cy="50.677773"
fx="71.826358"
fy="50.677773"
r="15.378681"
gradientTransform="matrix(1,0,0,0.317652,0,34.579877)"
gradientUnits="userSpaceOnUse" />
</defs> </defs>
<sodipodi:namedview <sodipodi:namedview
pagecolor="#ffffff" pagecolor="#ffffff"
@ -133,8 +80,8 @@
guidetolerance="10" guidetolerance="10"
inkscape:pageopacity="0" inkscape:pageopacity="0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:window-width="1366" inkscape:window-width="1920"
inkscape:window-height="714" inkscape:window-height="1016"
id="namedview3401" id="namedview3401"
showgrid="false" showgrid="false"
fit-margin-top="0" fit-margin-top="0"
@ -143,12 +90,12 @@
fit-margin-bottom="0" fit-margin-bottom="0"
units="mm" units="mm"
inkscape:zoom="2.1213203" inkscape:zoom="2.1213203"
inkscape:cx="-78.093983" inkscape:cx="37.400126"
inkscape:cy="46.505347" inkscape:cy="64.418719"
inkscape:window-x="0" inkscape:window-x="0"
inkscape:window-y="25" inkscape:window-y="27"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:current-layer="layer1" /> inkscape:current-layer="layer3" />
<g <g
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer1" id="layer1"
@ -178,19 +125,5 @@
<g <g
inkscape:groupmode="layer" inkscape:groupmode="layer"
id="layer3" id="layer3"
inkscape:label="dem"> inkscape:label="dem" />
<text
xml:space="preserve"
style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12.07694149px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold Italic';letter-spacing:0px;word-spacing:0px;opacity:0.766;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.966;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;"
x="56.677109"
y="55.079842"
id="text4139"
sodipodi:linespacing="125%"
transform="scale(0.97457262,1.0260908)"><tspan
sodipodi:role="line"
id="tspan4141"
x="56.677109"
y="55.079842"
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.966;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-linejoin:round;stroke-linecap:round;">DEM</tspan></text>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -72,13 +72,13 @@ class ProcessingPlugin(object):
self.toolboxAction = self.toolbox.toggleViewAction() self.toolboxAction = self.toolbox.toggleViewAction()
self.toolboxAction.setObjectName('toolboxAction') self.toolboxAction.setObjectName('toolboxAction')
self.toolboxAction.setIcon( self.toolboxAction.setIcon(
QIcon(os.path.join(cmd_folder, 'images', 'alg.svg'))) QgsApplication.getThemeIcon("/processingAlgorithm.svg"))
self.toolboxAction.setText(self.tr('&Toolbox')) self.toolboxAction.setText(self.tr('&Toolbox'))
self.iface.registerMainWindowAction(self.toolboxAction, 'Ctrl+Alt+T') self.iface.registerMainWindowAction(self.toolboxAction, 'Ctrl+Alt+T')
self.menu.addAction(self.toolboxAction) self.menu.addAction(self.toolboxAction)
self.modelerAction = QAction( self.modelerAction = QAction(
QIcon(os.path.join(cmd_folder, 'images', 'model.svg')), QgsApplication.getThemeIcon("/processingModel.svg"),
self.tr('Graphical &Modeler...'), self.iface.mainWindow()) self.tr('Graphical &Modeler...'), self.iface.mainWindow())
self.modelerAction.setObjectName('modelerAction') self.modelerAction.setObjectName('modelerAction')
self.modelerAction.triggered.connect(self.openModeler) self.modelerAction.triggered.connect(self.openModeler)

View File

@ -31,6 +31,8 @@ import re
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtCore import QUrl from qgis.PyQt.QtCore import QUrl
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.algs.gdal.GdalAlgorithmDialog import GdalAlgorithmDialog from processing.algs.gdal.GdalAlgorithmDialog import GdalAlgorithmDialog
from processing.algs.gdal.GdalUtils import GdalUtils from processing.algs.gdal.GdalUtils import GdalUtils
@ -48,7 +50,7 @@ class GdalAlgorithm(GeoAlgorithm):
def getIcon(self): def getIcon(self):
if self._icon is None: if self._icon is None:
self._icon = QIcon(os.path.join(pluginPath, 'images', 'gdal.svg')) self._icon = QgsApplication.getThemeIcon("/providerGdal.svg")
return self._icon return self._icon
def getCustomParametersDialog(self): def getCustomParametersDialog(self):

View File

@ -28,6 +28,7 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.core.ProcessingConfig import ProcessingConfig, Setting from processing.core.ProcessingConfig import ProcessingConfig, Setting
from .GdalUtils import GdalUtils from .GdalUtils import GdalUtils
@ -120,7 +121,10 @@ class GdalAlgorithmProvider(AlgorithmProvider):
return 'gdal' return 'gdal'
def icon(self): def icon(self):
return QIcon(os.path.join(pluginPath, 'images', 'gdal.svg')) return QgsApplication.getThemeIcon("/providerGdal.svg")
def svgIconPath(self):
return QgsApplication.iconPath("providerGdal.svg")
def _loadAlgorithms(self): def _loadAlgorithms(self):
self.algs = self.preloadedAlgs self.algs = self.preloadedAlgs

View File

@ -35,7 +35,8 @@ import importlib
from qgis.PyQt.QtCore import QCoreApplication, QUrl from qgis.PyQt.QtCore import QCoreApplication, QUrl
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsRasterLayer from qgis.core import (QgsRasterLayer,
QgsApplication)
from qgis.utils import iface from qgis.utils import iface
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
@ -102,7 +103,7 @@ class Grass7Algorithm(GeoAlgorithm):
def getIcon(self): def getIcon(self):
if self._icon is None: if self._icon is None:
self._icon = QIcon(os.path.join(pluginPath, 'images', 'grass.svg')) self._icon = QgsApplication.getThemeIcon("/providerGrass.svg")
return self._icon return self._icon
def help(self): def help(self):

View File

@ -28,6 +28,7 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.ProcessingConfig import ProcessingConfig, Setting from processing.core.ProcessingConfig import ProcessingConfig, Setting
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.core.ProcessingLog import ProcessingLog from processing.core.ProcessingLog import ProcessingLog
@ -105,7 +106,10 @@ class Grass7AlgorithmProvider(AlgorithmProvider):
return 'grass7' return 'grass7'
def icon(self): def icon(self):
return QIcon(os.path.join(pluginPath, 'images', 'grass.svg')) return QgsApplication.getThemeIcon("/providerGrass.svg")
def svgIconPath(self):
return QgsApplication.iconPath("providerGrass.svg")
def getSupportedOutputVectorLayerExtensions(self): def getSupportedOutputVectorLayerExtensions(self):
return ['shp'] return ['shp']

View File

@ -43,7 +43,9 @@ except:
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import Qgis, QgsWkbTypes from qgis.core import (Qgis,
QgsWkbTypes,
QgsApplication)
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.script.ScriptUtils import ScriptUtils from processing.script.ScriptUtils import ScriptUtils
@ -197,7 +199,7 @@ class QGISAlgorithmProvider(AlgorithmProvider):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self._icon = QIcon(os.path.join(pluginPath, 'images', 'qgis.svg')) self._icon = QgsApplication.getThemeIcon("/providerQgis.svg")
self.alglist = [SumLines(), PointsInPolygon(), self.alglist = [SumLines(), PointsInPolygon(),
PointsInPolygonWeighted(), PointsInPolygonUnique(), PointsInPolygonWeighted(), PointsInPolygonUnique(),
@ -304,7 +306,10 @@ class QGISAlgorithmProvider(AlgorithmProvider):
return 'QGIS' return 'QGIS'
def icon(self): def icon(self):
return self._icon return QgsApplication.getThemeIcon("/providerQgis.svg")
def svgIconPath(self):
return QgsApplication.iconPath("providerQgis.svg")
def _loadAlgorithms(self): def _loadAlgorithms(self):
self.algs = list(self.alglist) + self.externalAlgs self.algs = list(self.alglist) + self.externalAlgs

View File

@ -33,6 +33,8 @@ import json
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
from processing.core.ProcessingLog import ProcessingLog from processing.core.ProcessingLog import ProcessingLog
@ -88,7 +90,7 @@ class RAlgorithm(GeoAlgorithm):
def getIcon(self): def getIcon(self):
if self._icon is None: if self._icon is None:
self._icon = QIcon(os.path.join(pluginPath, 'images', 'r.svg')) self._icon = QgsApplication.getThemeIcon("/providerR.svg")
return self._icon return self._icon
def defineCharacteristicsFromScript(self): def defineCharacteristicsFromScript(self):

View File

@ -29,7 +29,7 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.ProcessingConfig import ProcessingConfig, Setting from processing.core.ProcessingConfig import ProcessingConfig, Setting
from processing.core.ProcessingLog import ProcessingLog from processing.core.ProcessingLog import ProcessingLog
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
@ -87,7 +87,10 @@ class RAlgorithmProvider(AlgorithmProvider):
ProcessingConfig.removeSetting(RUtils.R_USE64) ProcessingConfig.removeSetting(RUtils.R_USE64)
def icon(self): def icon(self):
return QIcon(os.path.join(pluginPath, 'images', 'r.svg')) return QgsApplication.getThemeIcon("/providerR.svg")
def svgIconPath(self):
return QgsApplication.iconPath("providerR.svg")
def name(self): def name(self):
return 'R scripts' return 'R scripts'

View File

@ -31,7 +31,7 @@ __revision__ = '$Format:%H$'
import os import os
import codecs import codecs
from qgis.PyQt.QtGui import QIcon from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingLog import ProcessingLog from processing.core.ProcessingLog import ProcessingLog
@ -68,7 +68,7 @@ class TauDEMAlgorithm(GeoAlgorithm):
def getIcon(self): def getIcon(self):
if self._icon is None: if self._icon is None:
self._icon = QIcon(os.path.join(pluginPath, 'images', 'taudem.svg')) self._icon = QgsApplication.getThemeIcon("/providerTaudem.svg")
return self._icon return self._icon
def defineCharacteristicsFromFile(self): def defineCharacteristicsFromFile(self):

View File

@ -30,6 +30,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.core.ProcessingConfig import ProcessingConfig, Setting from processing.core.ProcessingConfig import ProcessingConfig, Setting
from processing.core.ProcessingLog import ProcessingLog from processing.core.ProcessingLog import ProcessingLog
@ -64,7 +66,10 @@ class TauDEMAlgorithmProvider(AlgorithmProvider):
return 'taudem' return 'taudem'
def icon(self): def icon(self):
return QIcon(os.path.join(pluginPath, 'images', 'taudem.svg')) return QgsApplication.getThemeIcon("/providerTaudem.svg")
def svgIconPath(self):
return QgsApplication.iconPath("providerTaudem.svg")
def initializeSettings(self): def initializeSettings(self):
AlgorithmProvider.initializeSettings(self) AlgorithmProvider.initializeSettings(self)

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
@ -68,7 +70,7 @@ class DinfDistDown(GeoAlgorithm):
} }
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('D-Infinity Distance Down') self.name, self.i18n_name = self.trAlgorithm('D-Infinity Distance Down')

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
@ -69,7 +71,7 @@ class DinfDistUp(GeoAlgorithm):
} }
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('D-Infinity Distance Up') self.name, self.i18n_name = self.trAlgorithm('D-Infinity Distance Up')

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import \ from processing.core.GeoAlgorithmExecutionException import \
@ -61,7 +63,7 @@ class DinfTransLimAccum(GeoAlgorithm):
OUT_CONCENTR_GRID = 'OUT_CONCENTR_GRID' OUT_CONCENTR_GRID = 'OUT_CONCENTR_GRID'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('D-Infinity Transport Limited Accumulation') self.name, self.i18n_name = self.trAlgorithm('D-Infinity Transport Limited Accumulation')

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import \ from processing.core.GeoAlgorithmExecutionException import \
@ -61,7 +63,7 @@ class DinfTransLimAccum2(GeoAlgorithm):
OUT_CONCENTR_GRID = 'OUT_CONCENTR_GRID' OUT_CONCENTR_GRID = 'OUT_CONCENTR_GRID'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('D-Infinity Transport Limited Accumulation - 2') self.name, self.i18n_name = self.trAlgorithm('D-Infinity Transport Limited Accumulation - 2')

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import \ from processing.core.GeoAlgorithmExecutionException import \
@ -63,7 +65,7 @@ class DropAnalysis(GeoAlgorithm):
DROP_ANALYSIS_FILE = 'DROP_ANALYSIS_FILE' DROP_ANALYSIS_FILE = 'DROP_ANALYSIS_FILE'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Stream Drop Analysis') self.name, self.i18n_name = self.trAlgorithm('Stream Drop Analysis')

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import \ from processing.core.GeoAlgorithmExecutionException import \
@ -59,7 +61,7 @@ class GridNet(GeoAlgorithm):
STRAHLER_GRID = 'STRAHLER_GRID' STRAHLER_GRID = 'STRAHLER_GRID'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Grid Network') self.name, self.i18n_name = self.trAlgorithm('Grid Network')

View File

@ -32,6 +32,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import \ from processing.core.GeoAlgorithmExecutionException import \
@ -54,7 +56,7 @@ class LengthArea(GeoAlgorithm):
STREAM_SOURCE_GRID = 'STREAM_SOURCE_GRID' STREAM_SOURCE_GRID = 'STREAM_SOURCE_GRID'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Length Area Stream Source') self.name, self.i18n_name = self.trAlgorithm('Length Area Stream Source')

View File

@ -29,7 +29,9 @@ __copyright__ = '(C) 2012, Alexander Bruy'
__revision__ = '$Format:%H$' __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.GeoAlgorithmExecutionException import \ from processing.core.GeoAlgorithmExecutionException import \
@ -51,7 +53,7 @@ class PeukerDouglas(GeoAlgorithm):
STREAM_SOURCE_GRID = 'STREAM_SOURCE_GRID' STREAM_SOURCE_GRID = 'STREAM_SOURCE_GRID'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Peuker Douglas') self.name, self.i18n_name = self.trAlgorithm('Peuker Douglas')

View File

@ -30,7 +30,7 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon from qgis.core import QgsApplication
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.core.ProcessingConfig import ProcessingConfig from processing.core.ProcessingConfig import ProcessingConfig
@ -54,7 +54,7 @@ class SlopeArea(GeoAlgorithm):
SLOPE_AREA_GRID = 'SLOPE_AREA_GRID' SLOPE_AREA_GRID = 'SLOPE_AREA_GRID'
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../../images/taudem.svg') return QgsApplication.getThemeIcon("/providerTaudem.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
self.name, self.i18n_name = self.trAlgorithm('Slope Area Combination') self.name, self.i18n_name = self.trAlgorithm('Slope Area Combination')

View File

@ -30,10 +30,9 @@ import traceback
import subprocess import subprocess
import copy import copy
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtCore import QCoreApplication, QSettings from qgis.PyQt.QtCore import QCoreApplication, QSettings
from qgis.core import QgsVectorLayer, QgsRasterLayer from qgis.core import QgsApplication
from builtins import str from builtins import str
from builtins import object from builtins import object
@ -52,7 +51,7 @@ from processing.algs.help import shortHelp
class GeoAlgorithm(object): class GeoAlgorithm(object):
def __init__(self): def __init__(self):
self._icon = QIcon(os.path.dirname(__file__) + '/../images/alg.svg') self._icon = QgsApplication.getThemeIcon("/processingAlgorithm.svg")
# Parameters needed by the algorithm # Parameters needed by the algorithm
self.parameters = list() self.parameters = list()

View File

@ -31,7 +31,8 @@ import os
from qgis.PyQt.QtCore import QCoreApplication, QSettings, QObject, pyqtSignal from qgis.PyQt.QtCore import QCoreApplication, QSettings, QObject, pyqtSignal
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import NULL from qgis.core import (NULL,
QgsApplication)
from processing.tools.system import defaultOutputFolder from processing.tools.system import defaultOutputFolder
import processing.tools.dataobjects import processing.tools.dataobjects
@ -72,7 +73,7 @@ class ProcessingConfig(object):
@staticmethod @staticmethod
def initialize(): def initialize():
icon = QIcon(os.path.dirname(__file__) + '/../images/alg.svg') icon = QgsApplication.getThemeIcon("/processingAlgorithm.svg")
ProcessingConfig.settingIcons['General'] = icon ProcessingConfig.settingIcons['General'] = icon
ProcessingConfig.addSetting(Setting( ProcessingConfig.addSetting(Setting(
ProcessingConfig.tr('General'), ProcessingConfig.tr('General'),
@ -182,11 +183,11 @@ class ProcessingConfig(object):
@staticmethod @staticmethod
def getGroupIcon(group): def getGroupIcon(group):
if group == ProcessingConfig.tr('General'): if group == ProcessingConfig.tr('General'):
return QIcon(os.path.dirname(__file__) + '/../images/alg.svg') return QgsApplication.getThemeIcon("/processingAlgorithm.svg")
if group in ProcessingConfig.settingIcons: if group in ProcessingConfig.settingIcons:
return ProcessingConfig.settingIcons[group] return ProcessingConfig.settingIcons[group]
else: else:
return QIcon(os.path.dirname(__file__) + '/../images/alg.svg') return QgsApplication.getThemeIcon("/processingAlgorithm.svg")
@staticmethod @staticmethod
def addSetting(setting): def addSetting(setting):

View File

@ -73,7 +73,7 @@ class BatchPanel(BASE, WIDGET):
self.btnRemove.setIcon(QgsApplication.getThemeIcon('/symbologyRemove.svg')) self.btnRemove.setIcon(QgsApplication.getThemeIcon('/symbologyRemove.svg'))
self.btnOpen.setIcon(QgsApplication.getThemeIcon('/mActionFileOpen.svg')) self.btnOpen.setIcon(QgsApplication.getThemeIcon('/mActionFileOpen.svg'))
self.btnSave.setIcon(QgsApplication.getThemeIcon('/mActionFileSave.svg')) self.btnSave.setIcon(QgsApplication.getThemeIcon('/mActionFileSave.svg'))
self.btnAdvanced.setIcon(QIcon(os.path.join(pluginPath, 'images', 'alg.svg'))) self.btnAdvanced.setIcon(QgsApplication.getThemeIcon("/processingAlgorithm.svg"))
self.alg = alg self.alg = alg
self.parent = parent self.parent = parent

View File

@ -51,7 +51,8 @@ from qgis.PyQt.QtGui import (QIcon,
from qgis.gui import (QgsDoubleSpinBox, from qgis.gui import (QgsDoubleSpinBox,
QgsSpinBox QgsSpinBox
) )
from qgis.core import NULL from qgis.core import (NULL,
QgsApplication)
from processing.core.ProcessingConfig import (ProcessingConfig, from processing.core.ProcessingConfig import (ProcessingConfig,
settingsWatcher, settingsWatcher,
@ -159,7 +160,7 @@ class ConfigDialog(BASE, WIDGET):
Filter 'Providers' items Filter 'Providers' items
""" """
providersItem = QStandardItem(self.tr('Providers')) providersItem = QStandardItem(self.tr('Providers'))
icon = QIcon(os.path.join(pluginPath, 'images', 'alg.svg')) icon = QgsApplication.getThemeIcon("/processingAlgorithm.svg")
providersItem.setIcon(icon) providersItem.setIcon(icon)
providersItem.setEditable(False) providersItem.setEditable(False)
emptyItem = QStandardItem() emptyItem = QStandardItem()

View File

@ -29,6 +29,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.gui.ToolboxAction import ToolboxAction from processing.gui.ToolboxAction import ToolboxAction
from processing.gui.ScriptEditorDialog import ScriptEditorDialog from processing.gui.ScriptEditorDialog import ScriptEditorDialog
from processing.core.alglist import algList from processing.core.alglist import algList
@ -49,9 +51,9 @@ class CreateNewScriptAction(ToolboxAction):
def getIcon(self): def getIcon(self):
if self.scriptType == self.SCRIPT_PYTHON: if self.scriptType == self.SCRIPT_PYTHON:
return QIcon(os.path.join(pluginPath, 'images', 'script.svg')) return QgsApplication.getThemeIcon("/processingScript.svg")
elif self.scriptType == self.SCRIPT_R: elif self.scriptType == self.SCRIPT_R:
return QIcon(os.path.join(pluginPath, 'images', 'r.svg')) return QgsApplication.getThemeIcon("/providerR.svg")
def execute(self): def execute(self):
dlg = None dlg = None

View File

@ -39,7 +39,9 @@ from qgis.PyQt.QtWidgets import QApplication, QTreeWidgetItem, QPushButton, QMes
from qgis.PyQt.QtNetwork import QNetworkReply, QNetworkRequest from qgis.PyQt.QtNetwork import QNetworkReply, QNetworkRequest
from qgis.utils import iface, show_message_log from qgis.utils import iface, show_message_log
from qgis.core import QgsNetworkAccessManager, QgsMessageLog from qgis.core import (QgsNetworkAccessManager,
QgsMessageLog,
QgsApplication)
from qgis.gui import QgsMessageBar from qgis.gui import QgsMessageBar
from processing.core.alglist import algList from processing.core.alglist import algList
@ -63,7 +65,7 @@ class GetScriptsAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'script.svg')) return QgsApplication.getThemeIcon("/processingScript.svg")
def execute(self): def execute(self):
repoUrl = ProcessingConfig.getSetting(ProcessingConfig.MODELS_SCRIPTS_REPO) repoUrl = ProcessingConfig.getSetting(ProcessingConfig.MODELS_SCRIPTS_REPO)
@ -85,7 +87,7 @@ class GetRScriptsAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'r.svg')) return QgsApplication.getThemeIcon("/providerR.svg")
def execute(self): def execute(self):
repoUrl = ProcessingConfig.getSetting(ProcessingConfig.MODELS_SCRIPTS_REPO) repoUrl = ProcessingConfig.getSetting(ProcessingConfig.MODELS_SCRIPTS_REPO)
@ -108,7 +110,7 @@ class GetModelsAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'model.svg')) return QgsApplication.getThemeIcon("/processingModel.svg")
def execute(self): def execute(self):
repoUrl = ProcessingConfig.getSetting(ProcessingConfig.MODELS_SCRIPTS_REPO) repoUrl = ProcessingConfig.getSetting(ProcessingConfig.MODELS_SCRIPTS_REPO)
@ -160,15 +162,15 @@ class GetScriptsAndModelsDialog(BASE, WIDGET):
if self.resourceType == self.MODELS: if self.resourceType == self.MODELS:
self.folder = ModelerUtils.modelsFolders()[0] self.folder = ModelerUtils.modelsFolders()[0]
self.urlBase = '{}/models/'.format(repoUrl) self.urlBase = '{}/models/'.format(repoUrl)
self.icon = QIcon(os.path.join(pluginPath, 'images', 'model.svg')) self.icon = QgsApplication.getThemeIcon("/processingModel.svg")
elif self.resourceType == self.SCRIPTS: elif self.resourceType == self.SCRIPTS:
self.folder = ScriptUtils.scriptsFolders()[0] self.folder = ScriptUtils.scriptsFolders()[0]
self.urlBase = '{}/scripts/'.format(repoUrl) self.urlBase = '{}/scripts/'.format(repoUrl)
self.icon = QIcon(os.path.join(pluginPath, 'images', 'script.svg')) self.icon = QgsApplication.getThemeIcon("/processingScript.svg")
else: else:
self.folder = RUtils.RScriptsFolders()[0] self.folder = RUtils.RScriptsFolders()[0]
self.urlBase = '{}/rscripts/'.format(repoUrl) self.urlBase = '{}/rscripts/'.format(repoUrl)
self.icon = QIcon(os.path.join(pluginPath, 'images', 'r.svg')) self.icon = QgsApplication.getThemeIcon("/providerR.svg")
self.lastSelectedItem = None self.lastSelectedItem = None
self.updateProvider = False self.updateProvider = False

View File

@ -27,9 +27,11 @@ __copyright__ = '(C) 2012, Victor Olaya'
__revision__ = '$Format:%H$' __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtCore import QCoreApplication from qgis.PyQt.QtCore import QCoreApplication
from qgis.core import QgsApplication
class ToolboxAction(object): class ToolboxAction(object):
@ -37,7 +39,7 @@ class ToolboxAction(object):
self.toolbox = toolbox self.toolbox = toolbox
def getIcon(self): def getIcon(self):
return QIcon(os.path.dirname(__file__) + '/../images/alg.svg') return QgsApplication.getThemeIcon("/processingAlgorithm.svg")
def tr(self, string, context=''): def tr(self, string, context=''):
if context == '': if context == '':

View File

@ -30,6 +30,9 @@ import shutil
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtWidgets import QFileDialog, QMessageBox from qgis.PyQt.QtWidgets import QFileDialog, QMessageBox
from qgis.PyQt.QtCore import QSettings, QFileInfo from qgis.PyQt.QtCore import QSettings, QFileInfo
from qgis.core import QgsApplication
from processing.gui.ToolboxAction import ToolboxAction from processing.gui.ToolboxAction import ToolboxAction
from processing.modeler.ModelerAlgorithm import ModelerAlgorithm from processing.modeler.ModelerAlgorithm import ModelerAlgorithm
from processing.modeler.WrongModelException import WrongModelException from processing.modeler.WrongModelException import WrongModelException
@ -46,7 +49,7 @@ class AddModelFromFileAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'model.svg')) return QgsApplication.getThemeIcon("/processingModel.svg")
def execute(self): def execute(self):
settings = QSettings() settings = QSettings()

View File

@ -27,6 +27,9 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.gui.ToolboxAction import ToolboxAction from processing.gui.ToolboxAction import ToolboxAction
from processing.modeler.ModelerDialog import ModelerDialog from processing.modeler.ModelerDialog import ModelerDialog
from processing.core.alglist import algList from processing.core.alglist import algList
@ -41,7 +44,7 @@ class CreateNewModelAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'model.svg')) return QgsApplication.getThemeIcon("/processingModel.svg")
def execute(self): def execute(self):
dlg = ModelerDialog() dlg = ModelerDialog()

View File

@ -38,7 +38,7 @@ from qgis.PyQt.QtCore import QCoreApplication, QPointF
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from operator import attrgetter from operator import attrgetter
from qgis.core import QgsRasterLayer, QgsVectorLayer from qgis.core import QgsApplication
from qgis.gui import QgsMessageBar from qgis.gui import QgsMessageBar
from qgis.utils import iface from qgis.utils import iface
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
@ -263,7 +263,7 @@ class ModelerAlgorithm(GeoAlgorithm):
GeoAlgorithm.__init__(self) GeoAlgorithm.__init__(self)
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'model.svg')) return QgsApplication.getThemeIcon("/processingModel.svg")
def defineCharacteristics(self): def defineCharacteristics(self):
classes = [ParameterRaster, ParameterVector, ParameterTable, ParameterTableField, classes = [ParameterRaster, ParameterVector, ParameterTable, ParameterTableField,

View File

@ -29,6 +29,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.core.ProcessingConfig import ProcessingConfig, Setting from processing.core.ProcessingConfig import ProcessingConfig, Setting
from processing.core.ProcessingLog import ProcessingLog from processing.core.ProcessingLog import ProcessingLog
@ -67,7 +69,10 @@ class ModelerAlgorithmProvider(AlgorithmProvider):
return 'model' return 'model'
def icon(self): def icon(self):
return QIcon(os.path.join(pluginPath, 'images', 'model.svg')) return QgsApplication.getThemeIcon("/processingModel.svg")
def svgIconPath(self):
return QgsApplication.iconPath("processingModel.svg")
def _loadAlgorithms(self): def _loadAlgorithms(self):
folders = ModelerUtils.modelsFolders() folders = ModelerUtils.modelsFolders()

View File

@ -28,9 +28,10 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtWidgets import QFileDialog, QMessageBox from qgis.PyQt.QtWidgets import QFileDialog, QMessageBox
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtCore import QSettings, QFileInfo from qgis.PyQt.QtCore import QSettings, QFileInfo
from qgis.core import QgsApplication
from processing.script.ScriptAlgorithm import ScriptAlgorithm from processing.script.ScriptAlgorithm import ScriptAlgorithm
from processing.gui.ToolboxAction import ToolboxAction from processing.gui.ToolboxAction import ToolboxAction
from processing.script.WrongScriptException import WrongScriptException from processing.script.WrongScriptException import WrongScriptException
@ -47,7 +48,7 @@ class AddScriptFromFileAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'script.svg')) return QgsApplication.getThemeIcon("/processingScript.svg")
def execute(self): def execute(self):
settings = QSettings() settings = QSettings()

View File

@ -27,7 +27,8 @@ __revision__ = '$Format:%H$'
import os import os
from qgis.PyQt.QtGui import QIcon from qgis.core import QgsApplication
from processing.gui.ToolboxAction import ToolboxAction from processing.gui.ToolboxAction import ToolboxAction
from processing.script.ScriptSelector import ScriptSelector from processing.script.ScriptSelector import ScriptSelector
from processing.tools.system import mkdir from processing.tools.system import mkdir
@ -77,7 +78,7 @@ class CreateScriptCollectionPluginAction(ToolboxAction):
self.group, self.i18n_group = self.trAction('Tools') self.group, self.i18n_group = self.trAction('Tools')
def getIcon(self): def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'script.svg')) return QgsApplication.getThemeIcon("/processingScript.svg")
def execute(self): def execute(self):
dlg = ScriptSelector() dlg = ScriptSelector()

View File

@ -29,8 +29,11 @@ __revision__ = '$Format:%H$'
import os import os
import re import re
import json import json
from qgis.core import QgsExpressionContextUtils, QgsExpressionContext, QgsProject from qgis.core import (QgsExpressionContextUtils,
from qgis.PyQt.QtGui import QIcon QgsExpressionContext,
QgsProject,
QgsApplication)
from processing.core.GeoAlgorithm import GeoAlgorithm from processing.core.GeoAlgorithm import GeoAlgorithm
from processing.gui.Help2Html import getHtmlFromHelpFile from processing.gui.Help2Html import getHtmlFromHelpFile
from processing.core.parameters import getParameterFromString from processing.core.parameters import getParameterFromString
@ -52,7 +55,7 @@ class ScriptAlgorithm(GeoAlgorithm):
""" """
GeoAlgorithm.__init__(self) GeoAlgorithm.__init__(self)
self._icon = QIcon(os.path.join(pluginPath, 'images', 'script.svg')) self._icon = QgsApplication.getThemeIcon("/processingScript.svg")
self.script = script self.script = script
self.allowEdit = True self.allowEdit = True

View File

@ -29,6 +29,8 @@ import os
from qgis.PyQt.QtGui import QIcon from qgis.PyQt.QtGui import QIcon
from qgis.core import QgsApplication
from processing.core.ProcessingConfig import ProcessingConfig, Setting from processing.core.ProcessingConfig import ProcessingConfig, Setting
from processing.core.AlgorithmProvider import AlgorithmProvider from processing.core.AlgorithmProvider import AlgorithmProvider
from processing.gui.EditScriptAction import EditScriptAction from processing.gui.EditScriptAction import EditScriptAction
@ -67,7 +69,10 @@ class ScriptAlgorithmProvider(AlgorithmProvider):
ProcessingConfig.addSetting(ScriptUtils.SCRIPTS_FOLDER) ProcessingConfig.addSetting(ScriptUtils.SCRIPTS_FOLDER)
def icon(self): def icon(self):
return QIcon(os.path.join(pluginPath, 'images', 'script.svg')) return QgsApplication.getThemeIcon("/processingScript.svg")
def svgIconPath(self):
return QgsApplication.iconPath("processingScript.svg")
def id(self): def id(self):
return 'script' return 'script'