mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
Merge pull request #3825 from pypeclub/feature/OP-3913_Flame-loading-into-batch
Flame: OpenPype submenu to batch and media manager
This commit is contained in:
commit
a70a36631e
3 changed files with 79 additions and 1 deletions
|
|
@ -51,7 +51,8 @@ from .pipeline import (
|
||||||
)
|
)
|
||||||
from .menu import (
|
from .menu import (
|
||||||
FlameMenuProjectConnect,
|
FlameMenuProjectConnect,
|
||||||
FlameMenuTimeline
|
FlameMenuTimeline,
|
||||||
|
FlameMenuUniversal
|
||||||
)
|
)
|
||||||
from .plugin import (
|
from .plugin import (
|
||||||
Creator,
|
Creator,
|
||||||
|
|
@ -131,6 +132,7 @@ __all__ = [
|
||||||
# menu
|
# menu
|
||||||
"FlameMenuProjectConnect",
|
"FlameMenuProjectConnect",
|
||||||
"FlameMenuTimeline",
|
"FlameMenuTimeline",
|
||||||
|
"FlameMenuUniversal",
|
||||||
|
|
||||||
# plugin
|
# plugin
|
||||||
"Creator",
|
"Creator",
|
||||||
|
|
|
||||||
|
|
@ -201,3 +201,53 @@ class FlameMenuTimeline(_FlameMenuApp):
|
||||||
if self.flame:
|
if self.flame:
|
||||||
self.flame.execute_shortcut('Rescan Python Hooks')
|
self.flame.execute_shortcut('Rescan Python Hooks')
|
||||||
self.log.info('Rescan Python Hooks')
|
self.log.info('Rescan Python Hooks')
|
||||||
|
|
||||||
|
|
||||||
|
class FlameMenuUniversal(_FlameMenuApp):
|
||||||
|
|
||||||
|
# flameMenuProjectconnect app takes care of the preferences dialog as well
|
||||||
|
|
||||||
|
def __init__(self, framework):
|
||||||
|
_FlameMenuApp.__init__(self, framework)
|
||||||
|
|
||||||
|
def __getattr__(self, name):
|
||||||
|
def method(*args, **kwargs):
|
||||||
|
project = self.dynamic_menu_data.get(name)
|
||||||
|
if project:
|
||||||
|
self.link_project(project)
|
||||||
|
return method
|
||||||
|
|
||||||
|
def build_menu(self):
|
||||||
|
if not self.flame:
|
||||||
|
return []
|
||||||
|
|
||||||
|
menu = deepcopy(self.menu)
|
||||||
|
|
||||||
|
menu['actions'].append({
|
||||||
|
"name": "Load...",
|
||||||
|
"execute": lambda x: self.tools_helper.show_loader()
|
||||||
|
})
|
||||||
|
menu['actions'].append({
|
||||||
|
"name": "Manage...",
|
||||||
|
"execute": lambda x: self.tools_helper.show_scene_inventory()
|
||||||
|
})
|
||||||
|
menu['actions'].append({
|
||||||
|
"name": "Library...",
|
||||||
|
"execute": lambda x: self.tools_helper.show_library_loader()
|
||||||
|
})
|
||||||
|
return menu
|
||||||
|
|
||||||
|
def refresh(self, *args, **kwargs):
|
||||||
|
self.rescan()
|
||||||
|
|
||||||
|
def rescan(self, *args, **kwargs):
|
||||||
|
if not self.flame:
|
||||||
|
try:
|
||||||
|
import flame
|
||||||
|
self.flame = flame
|
||||||
|
except ImportError:
|
||||||
|
self.flame = None
|
||||||
|
|
||||||
|
if self.flame:
|
||||||
|
self.flame.execute_shortcut('Rescan Python Hooks')
|
||||||
|
self.log.info('Rescan Python Hooks')
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,8 @@ def load_apps():
|
||||||
opfapi.FlameMenuProjectConnect(opfapi.CTX.app_framework))
|
opfapi.FlameMenuProjectConnect(opfapi.CTX.app_framework))
|
||||||
opfapi.CTX.flame_apps.append(
|
opfapi.CTX.flame_apps.append(
|
||||||
opfapi.FlameMenuTimeline(opfapi.CTX.app_framework))
|
opfapi.FlameMenuTimeline(opfapi.CTX.app_framework))
|
||||||
|
opfapi.CTX.flame_apps.append(
|
||||||
|
opfapi.FlameMenuUniversal(opfapi.CTX.app_framework))
|
||||||
opfapi.CTX.app_framework.log.info("Apps are loaded")
|
opfapi.CTX.app_framework.log.info("Apps are loaded")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -191,3 +193,27 @@ def get_timeline_custom_ui_actions():
|
||||||
openpype_install()
|
openpype_install()
|
||||||
|
|
||||||
return _build_app_menu("FlameMenuTimeline")
|
return _build_app_menu("FlameMenuTimeline")
|
||||||
|
|
||||||
|
|
||||||
|
def get_batch_custom_ui_actions():
|
||||||
|
"""Hook to create submenu in batch
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
list: menu object
|
||||||
|
"""
|
||||||
|
# install openpype and the host
|
||||||
|
openpype_install()
|
||||||
|
|
||||||
|
return _build_app_menu("FlameMenuUniversal")
|
||||||
|
|
||||||
|
|
||||||
|
def get_media_panel_custom_ui_actions():
|
||||||
|
"""Hook to create submenu in desktop
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
list: menu object
|
||||||
|
"""
|
||||||
|
# install openpype and the host
|
||||||
|
openpype_install()
|
||||||
|
|
||||||
|
return _build_app_menu("FlameMenuUniversal")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue