diff --git a/ORStools/gui/ORStoolsDialog.py b/ORStools/gui/ORStoolsDialog.py index 275073a2..eb1d1c06 100644 --- a/ORStools/gui/ORStoolsDialog.py +++ b/ORStools/gui/ORStoolsDialog.py @@ -382,6 +382,9 @@ def __init__(self, iface: QgisInterface, parent=None) -> None: lambda: self.color_duplicate_items(self.routing_fromline_list) ) + self.load_provider_combo_state() + self.provider_combo.activated.connect(self.save_selected_provider_state) + advanced_boxes = self.advances_group.findChildren(QgsCollapsibleGroupBox) for box in advanced_boxes: box.collapsedStateChanged.connect(self.reload_rubber_band) @@ -553,3 +556,18 @@ def reload_rubber_band(self) -> None: """Reloads the rubber band of the linetool.""" if self.line_tool is not None: self.line_tool.create_rubber_band() + + def save_selected_provider_state(self) -> None: + s = QgsSettings() + s.setValue("ORSTools/gui/provider_combo", self.provider_combo.currentIndex()) + + def load_provider_combo_state(self): + s = QgsSettings() + index = s.value("ORSTools/gui/provider_combo") + if index: + self.provider_combo.setCurrentIndex(int(index)) + + def show(self): + """Load the saved state when the window is shown""" + super().show() + self.load_provider_combo_state()