Skip to content

Commit 060a57f

Browse files
authoredMar 22, 2017
Merge pull request #4287 from nyalldawson/processing_default_layer
[processing] Default to current layer in layer selection combos
2 parents 746d288 + ce7180c commit 060a57f

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed
 

‎python/plugins/processing/gui/wrappers.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
QgsMapLayerProxyModel,
4040
QgsWkbTypes,
4141
QgsSettings,
42-
QgsProject
42+
QgsProject,
43+
QgsMapLayer
4344
)
4445
from qgis.PyQt.QtWidgets import (
4546
QCheckBox,
@@ -63,6 +64,7 @@
6364
QgsProjectionSelectionWidget,
6465
)
6566
from qgis.PyQt.QtCore import pyqtSignal, QObject, QVariant
67+
from qgis.utils import iface
6668

6769
from processing.gui.NumberInputPanel import NumberInputPanel, ModellerNumberInputPanel
6870
from processing.modeler.MultilineTextPanel import MultilineTextPanel
@@ -628,6 +630,11 @@ def createWidget(self):
628630

629631
self.combo.setFilters(QgsMapLayerProxyModel.RasterLayer)
630632
self.combo.setExcludedProviders(['grass'])
633+
try:
634+
if iface.activeLayer().type() == QgsMapLayer.RasterLayer:
635+
self.combo.setLayer(iface.activeLayer())
636+
except:
637+
pass
631638

632639
self.combo.currentIndexChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
633640
self.combo.currentTextChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
@@ -755,6 +762,12 @@ def createWidget(self):
755762
if QgsWkbTypes.PolygonGeometry in self.param.datatype:
756763
filters |= QgsMapLayerProxyModel.PolygonLayer
757764

765+
try:
766+
if iface.activeLayer().type() == QgsMapLayer.VectorLayer:
767+
self.combo.setLayer(iface.activeLayer())
768+
except:
769+
pass
770+
758771
if self.param.optional:
759772
self.combo.setAllowEmptyLayer(True)
760773
if ProcessingConfig.getSetting(ProcessingConfig.SHOW_CRS_DEF):
@@ -989,6 +1002,11 @@ def createWidget(self):
9891002

9901003
self.combo.setFilters(QgsMapLayerProxyModel.VectorLayer)
9911004
self.combo.setExcludedProviders(['grass'])
1005+
try:
1006+
if iface.activeLayer().type() == QgsMapLayer.VectorLayer:
1007+
self.combo.setLayer(iface.activeLayer())
1008+
except:
1009+
pass
9921010

9931011
self.combo.currentIndexChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
9941012
self.combo.currentTextChanged.connect(lambda: self.widgetValueHasChanged.emit(self))

0 commit comments

Comments
 (0)
Please sign in to comment.