27
27
28
28
import os
29
29
30
- from qgis .PyQt .QtXml import QDomDocument
31
-
32
30
from processing .core .GeoAlgorithm import GeoAlgorithm
33
31
from processing .core .parameters import ParameterFile
34
32
from processing .core .parameters import ParameterRaster
@@ -54,19 +52,14 @@ def defineCharacteristics(self):
54
52
55
53
def processAlgorithm (self , progress ):
56
54
filename = self .getParameterValue (self .INPUT )
57
- layer = dataobjects .getObjectFromUri (filename )
58
-
59
55
style = self .getParameterValue (self .STYLE )
56
+
57
+ dataobjects .resetLoadedLayers ()
58
+ layer = dataobjects .getObjectFromUri (filename , False )
60
59
if layer is None :
61
- dataobjects .load (filename , os .path .basename (filename ), style = style )
62
- self .getOutputFromName (self .OUTPUT ).open = False
60
+ dataobjects .load (filename , os .path .basename (filename ), style = style , isRaster = True )
63
61
else :
64
- with open (style ) as f :
65
- xml = "" .join (f .readlines ())
66
- d = QDomDocument ()
67
- d .setContent (xml )
68
- n = d .firstChild ()
69
- layer .readSymbology (n , '' )
70
- self .setOutputValue (self .OUTPUT , filename )
71
- iface .mapCanvas ().refresh ()
62
+ layer .loadNamedStyle (style )
63
+ layer .triggerRepaint ()
72
64
iface .legendInterface ().refreshLayerSymbology (layer )
65
+ self .setOutputValue (self .OUTPUT , filename )
0 commit comments