Tray publisher is extending publisher tool.
Adds ability to select project using overlay widget with list of projects.
Tray publisher can be considered as host implementeation with creators and publishing plugins.
ChooseProjectController
Source code in client/ayon_traypublisher/ui/window.py
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 | class ChooseProjectController:
def __init__(self):
self._event_system = QueuedEventSystem()
self._projects_model = ProjectsModel(self)
self._registry = AYONSettingsRegistry("traypublisher")
def get_project_items(self, sender=None):
return self._projects_model.get_project_items(sender)
def get_project_entity(self, project_name: str) -> dict[str, Any]:
return self._projects_model.get_project_entity(project_name)
def emit_event(self, topic, data=None, source=None):
"""Use implemented event system to trigger event."""
if data is None:
data = {}
self._event_system.emit(topic, data, source)
def register_event_callback(self, topic, callback):
self._event_system.add_callback(topic, callback)
def get_last_user_project_name(self) -> Optional[str]:
try:
return self._registry.get_item("project_name")
except ValueError:
pass
def set_last_user_project_name(self, project_name: str):
self._registry.set_item("project_name", project_name)
def set_selected_project(self, project_name: str):
"""ProjectsWidget from ayon-core requires this method.
Tray Publisher does not need to implement it.
"""
pass
|
emit_event(topic, data=None, source=None)
Use implemented event system to trigger event.
Source code in client/ayon_traypublisher/ui/window.py
| def emit_event(self, topic, data=None, source=None):
"""Use implemented event system to trigger event."""
if data is None:
data = {}
self._event_system.emit(topic, data, source)
|
set_selected_project(project_name)
ProjectsWidget from ayon-core requires this method.
Tray Publisher does not need to implement it.
Source code in client/ayon_traypublisher/ui/window.py
| def set_selected_project(self, project_name: str):
"""ProjectsWidget from ayon-core requires this method.
Tray Publisher does not need to implement it.
"""
pass
|