SceneInventory: Fix site sync icon conversion (#6123)

* use 'get_qt_icon' to convert icon definition

* check if site sync is enabled before getting sites info

* convert containers to list

* Fix wrong method name

---------

Co-authored-by: Petr Kalis <petr.kalis@gmail.com>
This commit is contained in:
Jakub Trllo 2024-01-12 13:50:34 +01:00 committed by GitHub
parent 1eb7e59b93
commit f88ab85cc1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 8 deletions

View file

@ -84,9 +84,9 @@ class SceneInventoryController:
def get_containers(self):
host = self._host
if isinstance(host, ILoadHost):
return host.get_containers()
return list(host.get_containers())
elif hasattr(host, "ls"):
return host.ls()
return list(host.ls())
return []
# Site Sync methods

View file

@ -23,6 +23,7 @@ from openpype.pipeline import (
)
from openpype.style import get_default_entity_icon_color
from openpype.tools.utils.models import TreeModel, Item
from openpype.tools.ayon_utils.widgets import get_qt_icon
def walk_hierarchy(node):
@ -71,8 +72,8 @@ class InventoryModel(TreeModel):
site_icons = self._controller.get_site_provider_icons()
self._site_icons = {
provider: QtGui.QIcon(icon_path)
for provider, icon_path in site_icons.items()
provider: get_qt_icon(icon_def)
for provider, icon_def in site_icons.items()
}
def outdated(self, item):

View file

@ -150,23 +150,23 @@ class SiteSyncModel:
return self._remote_site_provider
def _cache_sites(self):
site_sync = self._get_sync_server_module()
active_site = None
remote_site = None
active_site_provider = None
remote_site_provider = None
if site_sync is not None:
if self.is_sync_server_enabled():
site_sync = self._get_sync_server_module()
project_name = self._controller.get_current_project_name()
active_site = site_sync.get_active_site(project_name)
remote_site = site_sync.get_remote_site(project_name)
active_site_provider = "studio"
remote_site_provider = "studio"
if active_site != "studio":
active_site_provider = site_sync.get_active_provider(
active_site_provider = site_sync.get_provider_for_site(
project_name, active_site
)
if remote_site != "studio":
remote_site_provider = site_sync.get_active_provider(
remote_site_provider = site_sync.get_provider_for_site(
project_name, remote_site
)