|
51 | 51 | from arho_feature_template.utils.misc_utils import (
|
52 | 52 | LANGUAGE,
|
53 | 53 | check_layer_changes,
|
| 54 | + disconnect_signal, |
54 | 55 | get_active_plan_id,
|
55 | 56 | handle_unsaved_changes,
|
56 | 57 | iface,
|
@@ -405,33 +406,34 @@ def save_plan_jsons(self, plan_json, outline_json):
|
405 | 406 | )
|
406 | 407 |
|
407 | 408 | def unload(self):
|
| 409 | + # Set pan map tool as active (to deactivate our custom tools to avoid errors) |
| 410 | + iface.actionPan().trigger() |
| 411 | + |
408 | 412 | # Lambda service
|
409 |
| - self.lambda_service.jsons_received.disconnect(self.save_plan_jsons) |
| 413 | + disconnect_signal(self.lambda_service.jsons_received) |
410 | 414 | self.lambda_service.deleteLater()
|
411 | 415 |
|
412 | 416 | # Feature digitize tool
|
413 | 417 | if self.feature_digitize_map_tool:
|
414 |
| - self.feature_digitize_map_tool.digitizingCompleted.disconnect() |
415 |
| - self.feature_digitize_map_tool.digitizingFinished.disconnect() |
| 418 | + disconnect_signal(self.feature_digitize_map_tool.digitizingCompleted) |
| 419 | + disconnect_signal(self.feature_digitize_map_tool.digitizingFinished) |
416 | 420 | self.feature_digitize_map_tool.deleteLater()
|
417 | 421 |
|
418 | 422 | # Plan digitize tool
|
419 |
| - self.plan_digitize_map_tool.digitizingCompleted.disconnect(self._plan_geom_digitized) |
| 423 | + disconnect_signal(self.plan_digitize_map_tool.digitizingCompleted) |
420 | 424 | self.plan_digitize_map_tool.deleteLater()
|
421 | 425 |
|
422 | 426 | # Inspect plan feature tool
|
423 |
| - self.inspect_plan_feature_tool.edit_feature_requested.disconnect(self.edit_plan_feature) |
| 427 | + self.inspect_plan_feature_tool.unload() |
424 | 428 | self.inspect_plan_feature_tool.deleteLater()
|
425 | 429 |
|
426 | 430 | # New feature dock
|
427 |
| - self.new_feature_dock.tool_activated.disconnect(self.add_new_plan_feature) |
| 431 | + disconnect_signal(self.new_feature_dock.tool_activated) |
428 | 432 | iface.removeDockWidget(self.new_feature_dock)
|
429 | 433 | self.new_feature_dock.deleteLater()
|
430 | 434 |
|
431 | 435 | # Regulation group dock
|
432 |
| - self.regulation_groups_dock.new_regulation_group_requested.disconnect() |
433 |
| - self.regulation_groups_dock.edit_regulation_group_requested.disconnect() |
434 |
| - self.regulation_groups_dock.delete_regulation_group_requested.disconnect() |
| 436 | + self.regulation_groups_dock.unload() |
435 | 437 | iface.removeDockWidget(self.regulation_groups_dock)
|
436 | 438 | self.regulation_groups_dock.deleteLater()
|
437 | 439 |
|
|
0 commit comments