@@ -97,17 +97,23 @@ def __init__(self, dialog, param):
9797
9898 def selectExtent (self ):
9999 popupmenu = QMenu ()
100+ useCanvasExtentAction = QAction (
101+ QCoreApplication .translate ("ExtentSelectionPanel" , 'Use Canvas Extent' ),
102+ self .btnSelect )
100103 useLayerExtentAction = QAction (
101- QCoreApplication .translate ("ExtentSelectionPanel" , 'Use Layer/Canvas Extent…' ),
104+ QCoreApplication .translate ("ExtentSelectionPanel" , 'Use Layer Extent…' ),
102105 self .btnSelect )
103106 selectOnCanvasAction = QAction (
104107 self .tr ('Select Extent on Canvas' ), self .btnSelect )
105108
106- popupmenu .addAction (useLayerExtentAction )
109+ popupmenu .addAction (useCanvasExtentAction )
107110 popupmenu .addAction (selectOnCanvasAction )
111+ popupmenu .addSeparator ()
112+ popupmenu .addAction (useLayerExtentAction )
108113
109114 selectOnCanvasAction .triggered .connect (self .selectOnCanvas )
110115 useLayerExtentAction .triggered .connect (self .useLayerExtent )
116+ useCanvasExtentAction .triggered .connect (self .useCanvasExtent )
111117
112118 if self .param .flags () & QgsProcessingParameterDefinition .FlagOptional :
113119 useMincoveringExtentAction = QAction (
@@ -123,11 +129,8 @@ def useMinCoveringExtent(self):
123129 self .leText .setText ('' )
124130
125131 def useLayerExtent (self ):
126- CANVAS_KEY = 'Canvas Extent'
127132 extentsDict = {}
128- extentsDict [CANVAS_KEY ] = {"extent" : iface .mapCanvas ().extent (),
129- "authid" : iface .mapCanvas ().mapSettings ().destinationCrs ().authid ()}
130- extents = [CANVAS_KEY ]
133+ extents = []
131134 layers = QgsProcessingUtils .compatibleLayers (QgsProject .instance ())
132135 for layer in layers :
133136 authid = layer .crs ().authid ()
@@ -143,6 +146,10 @@ def useLayerExtent(self):
143146 if ok :
144147 self .setValueFromRect (QgsReferencedRectangle (extentsDict [item ]["extent" ], QgsCoordinateReferenceSystem (extentsDict [item ]["authid" ])))
145148
149+ def useCanvasExtent (self ):
150+ self .setValueFromRect (QgsReferencedRectangle (iface .mapCanvas ().extent (),
151+ iface .mapCanvas ().mapSettings ().destinationCrs ()))
152+
146153 def selectOnCanvas (self ):
147154 canvas = iface .mapCanvas ()
148155 canvas .setMapTool (self .tool )
0 commit comments