From ad9cb9d19440c8f95516f1bbeb10ddb03178d949 Mon Sep 17 00:00:00 2001 From: Alexander Bruy Date: Sun, 29 Jul 2012 11:27:11 +0300 Subject: [PATCH] allow create grid without specifying base layer (fix #6109) --- python/plugins/fTools/tools/doVectorGrid.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/python/plugins/fTools/tools/doVectorGrid.py b/python/plugins/fTools/tools/doVectorGrid.py index a34834d5644..541c7597c75 100644 --- a/python/plugins/fTools/tools/doVectorGrid.py +++ b/python/plugins/fTools/tools/doVectorGrid.py @@ -139,8 +139,10 @@ class Dialog(QDialog, Ui_Dialog): QMessageBox.information(self, self.tr("Vector grid"), self.tr("Invalid extent coordinates entered")) xSpace = self.spnX.value() ySpace = self.spnY.value() - if self.rdoPolygons.isChecked(): polygon = True - else: polygon = False + if self.rdoPolygons.isChecked(): + polygon = True + else: + polygon = False self.outShape.clear() QApplication.setOverrideCursor(Qt.WaitCursor) self.compute( boundBox, xSpace, ySpace, polygon ) @@ -153,7 +155,13 @@ class Dialog(QDialog, Ui_Dialog): self.buttonOk.setEnabled( True ) def compute( self, bound, xOffset, yOffset, polygon ): - crs = ftools_utils.getMapLayerByName(unicode(self.inShape.currentText())).crs() + crs = None + layer = ftools_utils.getMapLayerByName(unicode(self.inShape.currentText())) + + if layer is None: + crs = self.iface.mapCanvas().mapRenderer().destinationCrs() + else: + crs = layer.crs() if not crs.isValid(): crs = None if polygon: fields = {0:QgsField("ID", QVariant.Int), 1:QgsField("XMIN", QVariant.Double), 2:QgsField("XMAX", QVariant.Double), @@ -173,7 +181,6 @@ class Dialog(QDialog, Ui_Dialog): outFeat = QgsFeature() outGeom = QgsGeometry() idVar = 0 -# self.progressBar.setRange( 0, 0 ) self.progressBar.setValue( 0 ) if not polygon: # counters for progressbar - update every 5%