From 950da8749efaed7eeb17ab9511de1c7ddd1075ed Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Wed, 22 Sep 2021 16:11:43 +0200 Subject: [PATCH] Fix - project lists refresh each show up event Fix can_edit method --- .../modules/default_modules/sync_server/tray/app.py | 1 + .../default_modules/sync_server/tray/widgets.py | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/openpype/modules/default_modules/sync_server/tray/app.py b/openpype/modules/default_modules/sync_server/tray/app.py index 0299edb2eb..5298c7be1d 100644 --- a/openpype/modules/default_modules/sync_server/tray/app.py +++ b/openpype/modules/default_modules/sync_server/tray/app.py @@ -97,6 +97,7 @@ class SyncServerWindow(QtWidgets.QDialog): def showEvent(self, event): self.representationWidget.model.set_project( self.projects.current_project) + self.projects.refresh() self._set_running(True) super().showEvent(event) diff --git a/openpype/modules/default_modules/sync_server/tray/widgets.py b/openpype/modules/default_modules/sync_server/tray/widgets.py index e2009bd219..4fc5723f42 100644 --- a/openpype/modules/default_modules/sync_server/tray/widgets.py +++ b/openpype/modules/default_modules/sync_server/tray/widgets.py @@ -65,6 +65,7 @@ class SyncProjectListWidget(QtWidgets.QWidget): self.current_project = None self.project_name = None self.local_site = None + self.remote_site = None self.icons = {} def _on_index_change(self, new_idx, _old_idx): @@ -99,6 +100,11 @@ class SyncProjectListWidget(QtWidgets.QWidget): if project_name: self.local_site = self.sync_server.get_active_site(project_name) + self.remote_site = self.sync_server.get_remote_site(project_name) + + def _can_edit(self): + """Returns true if some site is user local site, eg. could edit""" + return get_local_site_id() in (self.local_site, self.remote_site) def _get_icon(self, status): if not self.icons.get(status): @@ -122,9 +128,7 @@ class SyncProjectListWidget(QtWidgets.QWidget): menu = QtWidgets.QMenu(self) actions_mapping = {} - can_edit = self.model.can_edit - - if can_edit: + if self._can_edit(): if self.sync_server.is_project_paused(self.project_name): action = QtWidgets.QAction("Unpause") actions_mapping[action] = self._unpause