File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
python/plugins/processing Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change 2828import shutil
2929import os
3030import sys
31+ from functools import partial
3132
3233from qgis .core import (QgsApplication ,
3334 QgsProcessingUtils ,
@@ -254,9 +255,16 @@ def initGui(self):
254255 initializeMenus ()
255256 createMenus ()
256257
257- self .iface .currentLayerChanged .connect (self .layer_changed )
258+ # In-place editing button state sync
259+ self .iface .currentLayerChanged .connect (self .sync_in_place_button_state )
260+ self .iface .mapCanvas ().selectionChanged .connect (self .sync_in_place_button_state )
261+ self .iface .actionToggleEditing ().triggered .connect (partial (self .sync_in_place_button_state , None ))
262+ self .sync_in_place_button_state ()
258263
259- def layer_changed (self , layer ):
264+ def sync_in_place_button_state (self , layer = None ):
265+ """Synchronise the button state with layer state and selection"""
266+ if layer is None :
267+ layer = self .iface .activeLayer ()
260268 if layer is None or layer .type () != QgsMapLayer .VectorLayer or not layer .isEditable () or not layer .selectedFeatureCount ():
261269 self .editSelectedAction .setChecked (False )
262270 self .editSelectedAction .setEnabled (False )
You can’t perform that action at this time.
0 commit comments