mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
💄 add new publisher menu item
This commit is contained in:
parent
954a52ed5b
commit
f2a1a11bec
2 changed files with 42 additions and 5 deletions
|
|
@ -1,10 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<mainMenu>
|
<mainMenu>
|
||||||
<menuBar>
|
<menuBar>
|
||||||
<subMenu id="avalon_menu">
|
<subMenu id="openpype_menu">
|
||||||
<label>OpenPype</label>
|
<label>OpenPype</label>
|
||||||
|
|
||||||
<scriptItem id="avalon_create">
|
<scriptItem id="openpype_create">
|
||||||
<label>Create...</label>
|
<label>Create...</label>
|
||||||
<scriptCode><![CDATA[
|
<scriptCode><![CDATA[
|
||||||
import hou
|
import hou
|
||||||
|
|
@ -14,7 +14,7 @@ host_tools.show_creator(parent)
|
||||||
]]></scriptCode>
|
]]></scriptCode>
|
||||||
</scriptItem>
|
</scriptItem>
|
||||||
|
|
||||||
<scriptItem id="avalon_load">
|
<scriptItem id="openpype_load">
|
||||||
<label>Load...</label>
|
<label>Load...</label>
|
||||||
<scriptCode><![CDATA[
|
<scriptCode><![CDATA[
|
||||||
import hou
|
import hou
|
||||||
|
|
@ -30,11 +30,11 @@ host_tools.show_loader(parent=parent, use_context=True)
|
||||||
import hou
|
import hou
|
||||||
from openpype.tools.utils import host_tools
|
from openpype.tools.utils import host_tools
|
||||||
parent = hou.qt.mainWindow()
|
parent = hou.qt.mainWindow()
|
||||||
host_tools.show_publish(parent)
|
host_tools.show_publisher(parent)
|
||||||
]]></scriptCode>
|
]]></scriptCode>
|
||||||
</scriptItem>
|
</scriptItem>
|
||||||
|
|
||||||
<scriptItem id="avalon_manage">
|
<scriptItem id="openpype_manage">
|
||||||
<label>Manage...</label>
|
<label>Manage...</label>
|
||||||
<scriptCode><![CDATA[
|
<scriptCode><![CDATA[
|
||||||
import hou
|
import hou
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ class HostToolsHelper:
|
||||||
self._workfiles_tool = None
|
self._workfiles_tool = None
|
||||||
self._loader_tool = None
|
self._loader_tool = None
|
||||||
self._creator_tool = None
|
self._creator_tool = None
|
||||||
|
self._publisher_tool = None
|
||||||
self._subset_manager_tool = None
|
self._subset_manager_tool = None
|
||||||
self._scene_inventory_tool = None
|
self._scene_inventory_tool = None
|
||||||
self._library_loader_tool = None
|
self._library_loader_tool = None
|
||||||
|
|
@ -205,6 +206,7 @@ class HostToolsHelper:
|
||||||
pyblish_show = self._discover_pyblish_gui()
|
pyblish_show = self._discover_pyblish_gui()
|
||||||
return pyblish_show(parent)
|
return pyblish_show(parent)
|
||||||
|
|
||||||
|
|
||||||
def _discover_pyblish_gui(self):
|
def _discover_pyblish_gui(self):
|
||||||
"""Return the most desirable of the currently registered GUIs"""
|
"""Return the most desirable of the currently registered GUIs"""
|
||||||
# Prefer last registered
|
# Prefer last registered
|
||||||
|
|
@ -269,6 +271,30 @@ class HostToolsHelper:
|
||||||
dialog.activateWindow()
|
dialog.activateWindow()
|
||||||
dialog.showNormal()
|
dialog.showNormal()
|
||||||
|
|
||||||
|
def get_publisher_tool(self, parent):
|
||||||
|
"""Create, cache and return scene inventory tool window."""
|
||||||
|
if self._scene_inventory_tool is None:
|
||||||
|
from openpype.tools.publisher import PublisherWindow
|
||||||
|
|
||||||
|
host = registered_host()
|
||||||
|
ILoadHost.validate_load_methods(host)
|
||||||
|
|
||||||
|
publisher_window = PublisherWindow(
|
||||||
|
parent=parent or self._parent
|
||||||
|
)
|
||||||
|
self._publisher_tool = publisher_window
|
||||||
|
|
||||||
|
return self._publisher_tool
|
||||||
|
|
||||||
|
def show_publisher_tool(self, parent=None):
|
||||||
|
with qt_app_context():
|
||||||
|
dialog = self.get_publisher_tool(parent)
|
||||||
|
|
||||||
|
dialog.show()
|
||||||
|
dialog.raise_()
|
||||||
|
dialog.activateWindow()
|
||||||
|
dialog.showNormal()
|
||||||
|
|
||||||
def get_tool_by_name(self, tool_name, parent=None, *args, **kwargs):
|
def get_tool_by_name(self, tool_name, parent=None, *args, **kwargs):
|
||||||
"""Show tool by it's name.
|
"""Show tool by it's name.
|
||||||
|
|
||||||
|
|
@ -298,6 +324,10 @@ class HostToolsHelper:
|
||||||
elif tool_name == "publish":
|
elif tool_name == "publish":
|
||||||
self.log.info("Can't return publish tool window.")
|
self.log.info("Can't return publish tool window.")
|
||||||
|
|
||||||
|
# "new" publisher
|
||||||
|
elif tool_name == "publisher":
|
||||||
|
return self.get_publisher_tool(parent, *args, **kwargs)
|
||||||
|
|
||||||
elif tool_name == "experimental_tools":
|
elif tool_name == "experimental_tools":
|
||||||
return self.get_experimental_tools_dialog(parent, *args, **kwargs)
|
return self.get_experimental_tools_dialog(parent, *args, **kwargs)
|
||||||
|
|
||||||
|
|
@ -335,6 +365,9 @@ class HostToolsHelper:
|
||||||
elif tool_name == "publish":
|
elif tool_name == "publish":
|
||||||
self.show_publish(parent, *args, **kwargs)
|
self.show_publish(parent, *args, **kwargs)
|
||||||
|
|
||||||
|
elif tool_name == "publisher":
|
||||||
|
self.show_publisher_tool(parent, *args, **kwargs)
|
||||||
|
|
||||||
elif tool_name == "experimental_tools":
|
elif tool_name == "experimental_tools":
|
||||||
self.show_experimental_tools_dialog(parent, *args, **kwargs)
|
self.show_experimental_tools_dialog(parent, *args, **kwargs)
|
||||||
|
|
||||||
|
|
@ -414,6 +447,10 @@ def show_publish(parent=None):
|
||||||
_SingletonPoint.show_tool_by_name("publish", parent)
|
_SingletonPoint.show_tool_by_name("publish", parent)
|
||||||
|
|
||||||
|
|
||||||
|
def show_publisher(parent=None):
|
||||||
|
_SingletonPoint.show_tool_by_name("publisher", parent)
|
||||||
|
|
||||||
|
|
||||||
def show_experimental_tools_dialog(parent=None):
|
def show_experimental_tools_dialog(parent=None):
|
||||||
_SingletonPoint.show_tool_by_name("experimental_tools", parent)
|
_SingletonPoint.show_tool_by_name("experimental_tools", parent)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue