diff --git a/src/addons/send2ue/core/utilities.py b/src/addons/send2ue/core/utilities.py index 8c33f564..4dc026d0 100644 --- a/src/addons/send2ue/core/utilities.py +++ b/src/addons/send2ue/core/utilities.py @@ -1131,6 +1131,9 @@ def setup_project(*args): if not os.environ.get('SEND2UE_HIDE_PIPELINE_MENU'): header_menu.add_pipeline_menu() + # create the quick access button + if addon.preferences.quick_access_button: + header_menu.add_quick_access_button() def draw_error_message(self, context): """ diff --git a/src/addons/send2ue/properties.py b/src/addons/send2ue/properties.py index 7bc2be49..f90fa076 100644 --- a/src/addons/send2ue/properties.py +++ b/src/addons/send2ue/properties.py @@ -23,6 +23,11 @@ class Send2UeAddonProperties: default=True, description=f"This automatically creates the pre-defined collection (Export)" ) + quick_access_button: bpy.props.BoolProperty( + name="Enable quick access push button", + default=False, + description="Adds a Push Assets button next to the Pipeline menu" + ) # ------------- Remote Execution settings ------------------ rpc_response_timeout: bpy.props.IntProperty( name="RPC Response Timeout", diff --git a/src/addons/send2ue/ui/addon_preferences.py b/src/addons/send2ue/ui/addon_preferences.py index c7b23192..33b082e9 100644 --- a/src/addons/send2ue/ui/addon_preferences.py +++ b/src/addons/send2ue/ui/addon_preferences.py @@ -114,6 +114,8 @@ def draw(self, context): :param context: The context of this interface. """ row = self.layout.row() + row.prop(self, 'quick_access_button') + row = self.layout.row() row.prop(self, 'automatically_create_collections') row = self.layout.row() row.label(text='RPC Response Timeout') diff --git a/src/addons/send2ue/ui/header_menu.py b/src/addons/send2ue/ui/header_menu.py index 3b48f36f..4c2d36c9 100644 --- a/src/addons/send2ue/ui/header_menu.py +++ b/src/addons/send2ue/ui/header_menu.py @@ -55,6 +55,20 @@ class TOPBAR_MT_Pipeline(bpy.types.Menu): def draw(self, context): pass +def quick_access(self, context): + self.layout.operator('wm.send2ue') + +def add_quick_access_button(): + try: + bpy.types.TOPBAR_MT_editor_menus.remove(quick_access) + finally: + bpy.types.TOPBAR_MT_editor_menus.append(quick_access) + +def remove_quick_access_button(): + try: + bpy.types.TOPBAR_MT_editor_menus.remove(quick_access) + finally: + pass def pipeline_menu(self, context): """