Skip to content

Commit db98a38

Browse files
elpasonyalldawson
authored andcommittedSep 14, 2018
Remember button checked status
1 parent d1ec4ac commit db98a38

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed
 

‎python/plugins/processing/ProcessingPlugin.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -263,13 +263,17 @@ def initGui(self):
263263

264264
def sync_in_place_button_state(self, layer=None):
265265
"""Synchronise the button state with layer state and selection"""
266+
266267
if layer is None:
267268
layer = self.iface.activeLayer()
268-
if layer is None or layer.type() != QgsMapLayer.VectorLayer or not layer.isEditable() or not layer.selectedFeatureCount():
269-
self.editSelectedAction.setChecked(False)
270-
self.editSelectedAction.setEnabled(False)
271-
else:
272-
self.editSelectedAction.setEnabled(True)
269+
270+
old_enabled_state = self.editSelectedAction.isEnabled()
271+
272+
new_enabled_state = layer is not None and layer.type() == QgsMapLayer.VectorLayer and layer.isEditable() and layer.selectedFeatureCount()
273+
self.editSelectedAction.setEnabled(new_enabled_state)
274+
275+
if new_enabled_state != old_enabled_state:
276+
self.toolbox.set_in_place_edit_mode(new_enabled_state and self.editSelectedAction.isChecked())
273277

274278
def openProcessingOptions(self):
275279
self.iface.showOptionsDialog(self.iface.mainWindow(), currentPage='processingOptions')

0 commit comments

Comments
 (0)
Please sign in to comment.