OP-4512 - updated way to get sites

Labels for roots are now actually changing according to selected sites
This commit is contained in:
Petr Kalis 2022-12-15 12:05:42 +01:00
parent 19ab86499a
commit e29f8d445b

View file

@ -248,6 +248,9 @@ class SitesWidget(QtWidgets.QWidget):
main_layout.addWidget(comboboxes_widget, 0)
main_layout.addWidget(content_widget, 1)
active_site_widget.value_changed.connect(self.refresh)
remote_site_widget.value_changed.connect(self.refresh)
self.active_site_widget = active_site_widget
self.remote_site_widget = remote_site_widget
@ -268,25 +271,29 @@ class SitesWidget(QtWidgets.QWidget):
self.modules_manager.modules_by_name["sync_server"]
)
# This is temporary modification
# - whole logic here should be in sync module's providers
site_names = sync_server_module.get_active_sites_from_settings(
self.project_settings["project_settings"].value
)
site_configs = sync_server_module.get_all_site_configs(
self._project_name)
roots_entity = (
self.project_settings[PROJECT_ANATOMY_KEY][LOCAL_ROOTS_KEY]
)
site_names = [self.active_site_widget.current_text(),
self.remote_site_widget.current_text()]
output = []
for site_name in site_names:
if not site_name:
continue
site_inputs = []
for root_name, path_entity in roots_entity.items():
platform_entity = path_entity[platform.system().lower()]
site_config = site_configs[site_name]
for root_name, path_entity in site_config.get("root", {}).items():
if not path_entity:
continue
platform_value = path_entity[platform.system().lower()]
site_inputs.append({
"label": root_name,
"key": root_name,
"value": platform_entity.value
"value": platform_value
})
output.append(
@ -436,6 +443,7 @@ class SitesWidget(QtWidgets.QWidget):
class _SiteCombobox(QtWidgets.QWidget):
input_label = None
value_changed = QtCore.Signal()
def __init__(self, modules_manager, project_settings, parent):
super(_SiteCombobox, self).__init__(parent)
@ -661,6 +669,7 @@ class _SiteCombobox(QtWidgets.QWidget):
self._set_local_settings_value(self.current_text())
self._update_style()
self.value_changed.emit()
def _set_local_settings_value(self, value):
raise NotImplementedError(