mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-27 06:12:19 +01:00
RoosWidget renamed to SitesWidget which also cares about comboboxes
This commit is contained in:
parent
fcfd537830
commit
5e96950fc6
1 changed files with 41 additions and 43 deletions
|
|
@ -216,9 +216,9 @@ class RootInputWidget(QtWidgets.QWidget):
|
|||
self._update_style()
|
||||
|
||||
|
||||
class RootsWidget(QtWidgets.QWidget):
|
||||
class SitesWidget(QtWidgets.QWidget):
|
||||
def __init__(self, modules_manager, project_settings, parent):
|
||||
super(RootsWidget, self).__init__(parent)
|
||||
super(SitesWidget, self).__init__(parent)
|
||||
|
||||
self.modules_manager = modules_manager
|
||||
self.project_settings = project_settings
|
||||
|
|
@ -227,7 +227,33 @@ class RootsWidget(QtWidgets.QWidget):
|
|||
self.local_project_settings_orig = None
|
||||
self._project_name = None
|
||||
|
||||
self.content_layout = QtWidgets.QVBoxLayout(self)
|
||||
comboboxes_widget = QtWidgets.QWidget(self)
|
||||
|
||||
active_site_widget = AciveSiteCombo(
|
||||
modules_manager, project_settings, comboboxes_widget
|
||||
)
|
||||
remote_site_widget = RemoteSiteCombo(
|
||||
modules_manager, project_settings, comboboxes_widget
|
||||
)
|
||||
|
||||
comboboxes_layout = QtWidgets.QHBoxLayout(comboboxes_widget)
|
||||
comboboxes_layout.setContentsMargins(0, 0, 0, 0)
|
||||
comboboxes_layout.addWidget(active_site_widget)
|
||||
comboboxes_layout.addWidget(remote_site_widget)
|
||||
comboboxes_layout.addWidget(SpacerWidget(comboboxes_widget), 1)
|
||||
|
||||
content_widget = QtWidgets.QWidget(self)
|
||||
content_layout = QtWidgets.QVBoxLayout(content_widget)
|
||||
content_layout.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
main_layout = QtWidgets.QVBoxLayout(self)
|
||||
main_layout.addWidget(comboboxes_widget, 0)
|
||||
main_layout.addWidget(content_widget, 1)
|
||||
|
||||
self.active_site_widget = active_site_widget
|
||||
self.remote_site_widget = remote_site_widget
|
||||
|
||||
self.content_layout = content_layout
|
||||
|
||||
def _clear_widgets(self):
|
||||
while self.content_layout.count():
|
||||
|
|
@ -289,8 +315,16 @@ class RootsWidget(QtWidgets.QWidget):
|
|||
self.local_project_settings_orig = copy.deepcopy(
|
||||
dict(local_project_settings)
|
||||
)
|
||||
self.active_site_widget.update_local_settings(local_project_settings)
|
||||
self.remote_site_widget.update_local_settings(local_project_settings)
|
||||
|
||||
def change_project(self, project_name):
|
||||
self._project_name = None
|
||||
self.refresh()
|
||||
|
||||
self.active_site_widget.change_project(project_name)
|
||||
self.remote_site_widget.change_project(project_name)
|
||||
|
||||
self._project_name = project_name
|
||||
self.refresh()
|
||||
|
||||
|
|
@ -627,47 +661,17 @@ class RootSiteWidget(QtWidgets.QWidget):
|
|||
self.project_settings = project_settings
|
||||
self._project_name = None
|
||||
|
||||
sites_widget = QtWidgets.QWidget(self)
|
||||
|
||||
active_site_widget = AciveSiteCombo(
|
||||
modules_manager, project_settings, sites_widget
|
||||
)
|
||||
remote_site_widget = RemoteSiteCombo(
|
||||
modules_manager, project_settings, sites_widget
|
||||
)
|
||||
|
||||
sites_layout = QtWidgets.QHBoxLayout(sites_widget)
|
||||
sites_layout.setContentsMargins(0, 0, 0, 0)
|
||||
sites_layout.addWidget(active_site_widget)
|
||||
sites_layout.addWidget(remote_site_widget)
|
||||
sites_layout.addWidget(SpacerWidget(self), 1)
|
||||
|
||||
roots_widget = RootsWidget(modules_manager, project_settings, self)
|
||||
sites_widget = SitesWidget(modules_manager, project_settings, self)
|
||||
|
||||
main_layout = QtWidgets.QVBoxLayout(self)
|
||||
main_layout.addWidget(sites_widget)
|
||||
main_layout.addWidget(roots_widget)
|
||||
main_layout.addWidget(SpacerWidget(self), 1)
|
||||
|
||||
self.active_site_widget = active_site_widget
|
||||
self.remote_site_widget = remote_site_widget
|
||||
self.roots_widget = roots_widget
|
||||
|
||||
def _active_site_values(self):
|
||||
global_entity = self.project_settings["project_settings"]["global"]
|
||||
sites_entity = global_entity["sync_server"]["sites"]
|
||||
return tuple(sites_entity.keys())
|
||||
|
||||
def _remote_site_values(self):
|
||||
global_entity = self.project_settings["project_settings"]["global"]
|
||||
sites_entity = global_entity["sync_server"]["sites"]
|
||||
return tuple(sites_entity.keys())
|
||||
self.sites_widget = sites_widget
|
||||
|
||||
def update_local_settings(self, local_project_settings):
|
||||
self.local_project_settings = local_project_settings
|
||||
self.active_site_widget.update_local_settings(local_project_settings)
|
||||
self.remote_site_widget.update_local_settings(local_project_settings)
|
||||
self.roots_widget.update_local_settings(local_project_settings)
|
||||
self.sites_widget.update_local_settings(local_project_settings)
|
||||
project_name = self._project_name
|
||||
if project_name is None:
|
||||
project_name = DEFAULT_PROJECT_KEY
|
||||
|
|
@ -676,15 +680,9 @@ class RootSiteWidget(QtWidgets.QWidget):
|
|||
|
||||
def change_project(self, project_name):
|
||||
self._project_name = project_name
|
||||
# Set roots project to None so all changes below are ignored
|
||||
self.roots_widget.change_project(None)
|
||||
|
||||
# Aply changes in site comboboxes
|
||||
self.active_site_widget.change_project(project_name)
|
||||
self.remote_site_widget.change_project(project_name)
|
||||
|
||||
# Change project name in roots widget
|
||||
self.roots_widget.change_project(project_name)
|
||||
self.sites_widget.change_project(project_name)
|
||||
|
||||
|
||||
class ProjectValue(dict):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue