mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
fixing menu context label re-drawing
This commit is contained in:
parent
d1607f02a4
commit
cd55209e63
2 changed files with 39 additions and 0 deletions
|
|
@ -54,6 +54,10 @@ def install():
|
||||||
''' Installing all requarements for Nuke host
|
''' Installing all requarements for Nuke host
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
# remove all registred callbacks form avalon.nuke
|
||||||
|
from avalon import pipeline
|
||||||
|
pipeline._registered_event_handlers.clear()
|
||||||
|
|
||||||
log.info("Registering Nuke plug-ins..")
|
log.info("Registering Nuke plug-ins..")
|
||||||
pyblish.api.register_plugin_path(PUBLISH_PATH)
|
pyblish.api.register_plugin_path(PUBLISH_PATH)
|
||||||
avalon.api.register_plugin_path(avalon.api.Loader, LOAD_PATH)
|
avalon.api.register_plugin_path(avalon.api.Loader, LOAD_PATH)
|
||||||
|
|
@ -62,6 +66,7 @@ def install():
|
||||||
|
|
||||||
# Register Avalon event for workfiles loading.
|
# Register Avalon event for workfiles loading.
|
||||||
avalon.api.on("workio.open_file", lib.check_inventory_versions)
|
avalon.api.on("workio.open_file", lib.check_inventory_versions)
|
||||||
|
avalon.api.on("taskChanged", menu.change_context_label)
|
||||||
|
|
||||||
pyblish.api.register_callback(
|
pyblish.api.register_callback(
|
||||||
"instanceToggled", on_pyblish_instance_toggled)
|
"instanceToggled", on_pyblish_instance_toggled)
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,43 @@ from openpype.tools.utils import host_tools
|
||||||
log = Logger().get_logger(__name__)
|
log = Logger().get_logger(__name__)
|
||||||
|
|
||||||
menu_label = os.environ["AVALON_LABEL"]
|
menu_label = os.environ["AVALON_LABEL"]
|
||||||
|
context_label = None
|
||||||
|
|
||||||
|
|
||||||
|
def change_context_label(*args):
|
||||||
|
global context_label
|
||||||
|
menubar = nuke.menu("Nuke")
|
||||||
|
menu = menubar.findItem(menu_label)
|
||||||
|
|
||||||
|
label = "{0}, {1}".format(
|
||||||
|
os.environ["AVALON_ASSET"], os.environ["AVALON_TASK"]
|
||||||
|
)
|
||||||
|
|
||||||
|
rm_item = [
|
||||||
|
(i, item) for i, item in enumerate(menu.items())
|
||||||
|
if context_label in item.name()
|
||||||
|
][0]
|
||||||
|
|
||||||
|
menu.removeItem(rm_item[1].name())
|
||||||
|
|
||||||
|
context_action = menu.addCommand(
|
||||||
|
label,
|
||||||
|
index=(rm_item[0])
|
||||||
|
)
|
||||||
|
context_action.setEnabled(False)
|
||||||
|
|
||||||
|
log.info("Task label changed from `{}` to `{}`".format(
|
||||||
|
context_label, label))
|
||||||
|
|
||||||
|
context_label = label
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def install():
|
def install():
|
||||||
from openpype.hosts.nuke.api import reload_config
|
from openpype.hosts.nuke.api import reload_config
|
||||||
|
|
||||||
|
global context_label
|
||||||
|
|
||||||
# uninstall original avalon menu
|
# uninstall original avalon menu
|
||||||
uninstall()
|
uninstall()
|
||||||
|
|
||||||
|
|
@ -24,6 +57,7 @@ def install():
|
||||||
label = "{0}, {1}".format(
|
label = "{0}, {1}".format(
|
||||||
os.environ["AVALON_ASSET"], os.environ["AVALON_TASK"]
|
os.environ["AVALON_ASSET"], os.environ["AVALON_TASK"]
|
||||||
)
|
)
|
||||||
|
context_label = label
|
||||||
context_action = menu.addCommand(label)
|
context_action = menu.addCommand(label)
|
||||||
context_action.setEnabled(False)
|
context_action.setEnabled(False)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue