File tree 1 file changed +10
-2
lines changed
python/plugins/processing
1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change 28
28
import shutil
29
29
import os
30
30
import sys
31
+ from functools import partial
31
32
32
33
from qgis .core import (QgsApplication ,
33
34
QgsProcessingUtils ,
@@ -254,9 +255,16 @@ def initGui(self):
254
255
initializeMenus ()
255
256
createMenus ()
256
257
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 ()
258
263
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 ()
260
268
if layer is None or layer .type () != QgsMapLayer .VectorLayer or not layer .isEditable () or not layer .selectedFeatureCount ():
261
269
self .editSelectedAction .setChecked (False )
262
270
self .editSelectedAction .setEnabled (False )
You can’t perform that action at this time.
0 commit comments