Skip to content

Commit 83a8a8d

Browse files
committed
Use text encoded versions of points and extents in history panel
Fixes generation of unit tests with point/extent parameters
1 parent fb08b0a commit 83a8a8d

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

python/plugins/processing/gui/ExtentSelectionPanel.py

+9-12
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,14 @@ def __init__(self, dialog, param):
7979
if param.defaultValue() is not None:
8080
context = createContext()
8181
rect = QgsProcessingParameters.parameterAsExtent(param, {param.name(): param.defaultValue()}, context)
82+
crs = QgsProcessingParameters.parameterAsExtentCrs(param, {param.name(): param.defaultValue()}, context)
8283
if not rect.isNull():
8384
try:
8485
s = '{},{},{},{}'.format(
8586
rect.xMinimum(), rect.xMaximum(), rect.yMinimum(), rect.yMaximum())
87+
if crs.isValid():
88+
s += ' [' + crs.authid() + ']'
89+
self.crs = crs
8690
self.leText.setText(s)
8791
except:
8892
pass
@@ -133,10 +137,6 @@ def useLayerExtent(self):
133137
self.tr('Use extent from'), extents, False)
134138
if ok:
135139
self.setValueFromRect(QgsReferencedRectangle(extentsDict[item]["extent"], QgsCoordinateReferenceSystem(extentsDict[item]["authid"])))
136-
if extentsDict[item]["authid"] != iface.mapCanvas().mapSettings().destinationCrs().authid():
137-
iface.messageBar().pushMessage(self.tr("Warning"),
138-
self.tr("The projection of the chosen layer is not the same as canvas projection! The selected extent might not be what was intended."),
139-
QgsMessageBar.WARNING, 8)
140140

141141
def selectOnCanvas(self):
142142
canvas = iface.mapCanvas()
@@ -151,11 +151,14 @@ def setValueFromRect(self, r):
151151
s = '{},{},{},{}'.format(
152152
r.xMinimum(), r.xMaximum(), r.yMinimum(), r.yMaximum())
153153

154-
self.leText.setText(s)
155154
try:
156155
self.crs = r.crs()
157156
except:
158157
self.crs = QgsProject.instance().crs()
158+
if self.crs.isValid():
159+
s += ' [' + self.crs.authid() + ']'
160+
161+
self.leText.setText(s)
159162
self.tool.reset()
160163
canvas = iface.mapCanvas()
161164
canvas.setMapTool(self.prevMapTool)
@@ -165,13 +168,7 @@ def setValueFromRect(self, r):
165168

166169
def getValue(self):
167170
if str(self.leText.text()).strip() != '':
168-
try:
169-
parts = self.leText.text().split(',')
170-
parts = [float(p) for p in parts]
171-
r = QgsReferencedRectangle(QgsRectangle(parts[0], parts[2], parts[1], parts[3]), self.crs)
172-
return r
173-
except:
174-
return str(self.leText.text())
171+
return str(self.leText.text())
175172
else:
176173
return None
177174

python/plugins/processing/gui/PointSelectionPanel.py

+3-9
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ def selectOnCanvas(self):
8282
def updatePoint(self, point, button):
8383
s = '{},{}'.format(point.x(), point.y())
8484
self.crs = QgsProject.instance().crs()
85+
if self.crs.isValid():
86+
s += ' [' + self.crs.authid() + ']'
8587
self.leText.setText(s)
8688

8789
def pointPicked(self):
@@ -93,15 +95,7 @@ def pointPicked(self):
9395

9496
def getValue(self):
9597
if str(self.leText.text()).strip() != '':
96-
try:
97-
parts = self.leText.text().split(',')
98-
parts = [float(p) for p in parts]
99-
r = QgsReferencedPointXY(QgsPointXY(parts[0], parts[1]),
100-
self.crs)
101-
return r
102-
103-
except:
104-
return str(self.leText.text())
98+
return str(self.leText.text())
10599
else:
106100
return None
107101

0 commit comments

Comments
 (0)