From 41f8f08e5188ed3d859c8e896ce700cb15ddf67b Mon Sep 17 00:00:00 2001 From: William Reynish Date: Sat, 10 Aug 2019 11:35:16 +0200 Subject: [PATCH] UI: Add initial context menus for Info and Console editors Both keymaps are also updated --- .../keyconfig/keymap_data/blender_default.py | 4 ++- .../keymap_data/industry_compatible_data.py | 2 ++ .../scripts/startup/bl_ui/space_console.py | 32 +++++++++++++++++++ release/scripts/startup/bl_ui/space_info.py | 10 ++++++ 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py index 7b58ac61c2c..e8e78a86b6a 100644 --- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py +++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py @@ -1736,6 +1736,7 @@ def km_info(params): ("info.report_delete", {"type": 'X', "value": 'PRESS'}, None), ("info.report_delete", {"type": 'DEL', "value": 'PRESS'}, None), ("info.report_copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None), + op_menu("INFO_MT_context_menu", params.context_menu_event), ]) return keymap @@ -2449,7 +2450,7 @@ def km_sequencerpreview(params): return keymap -def km_console(_params): +def km_console(params): items = [] keymap = ( "Console", @@ -2509,6 +2510,7 @@ def km_console(_params): ("console.indent", {"type": 'TAB', "value": 'PRESS'}, None), ("console.unindent", {"type": 'TAB', "value": 'PRESS', "shift": True}, None), ("console.insert", {"type": 'TEXTINPUT', "value": 'ANY', "any": True}, None), + op_menu("CONSOLE_MT_context_menu", params.context_menu_event), ]) return keymap diff --git a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py index 86cf50770b1..a8fe45c8b15 100644 --- a/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py +++ b/release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py @@ -1136,6 +1136,7 @@ def km_info(params): ("info.report_delete", {"type": 'BACK_SPACE', "value": 'PRESS'}, None), ("info.report_delete", {"type": 'DEL', "value": 'PRESS'}, None), ("info.report_copy", {"type": 'C', "value": 'PRESS', "ctrl": True}, None), + op_menu("INFO_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}), ]) return keymap @@ -1859,6 +1860,7 @@ def km_console(params): ("console.indent", {"type": 'TAB', "value": 'PRESS'}, None), ("console.unindent", {"type": 'TAB', "value": 'PRESS', "shift": True}, None), ("console.insert", {"type": 'TEXTINPUT', "value": 'ANY', "any": True}, None), + op_menu("CONSOLE_MT_context_menu", {"type": 'RIGHTMOUSE', "value": 'PRESS'}), ]) return keymap diff --git a/release/scripts/startup/bl_ui/space_console.py b/release/scripts/startup/bl_ui/space_console.py index 071c6959db4..2db1b06c902 100644 --- a/release/scripts/startup/bl_ui/space_console.py +++ b/release/scripts/startup/bl_ui/space_console.py @@ -125,6 +125,37 @@ class CONSOLE_MT_console(Menu): layout.operator("console.autocomplete", text="Autocomplete") +class CONSOLE_MT_context_menu(Menu): + bl_label = "Console Context Menu" + + def draw(self, context): + layout = self.layout + + layout.operator("console.clear") + layout.operator("console.clear_line") + layout.operator("console.delete", text="Delete Previous Word").type = 'PREVIOUS_WORD' + layout.operator("console.delete", text="Delete Next Word").type = 'NEXT_WORD' + + layout.separator() + + layout.operator("console.copy_as_script", text="Copy as Script") + layout.operator("console.copy", text="Copy") + layout.operator("console.paste", text="Paste") + + layout.separator() + + layout.operator("console.indent") + layout.operator("console.unindent") + + layout.separator() + + layout.operator("console.history_cycle", text="Backward in History").reverse = True + layout.operator("console.history_cycle", text="Forward in History").reverse = False + + layout.separator() + + layout.operator("console.autocomplete", text="Autocomplete") + def add_scrollback(text, text_type): for l in text.split("\n"): @@ -137,6 +168,7 @@ classes = ( CONSOLE_MT_view, CONSOLE_MT_language, CONSOLE_MT_console, + CONSOLE_MT_context_menu, ) if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index 51b5a97b07e..eabf71365d5 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -104,12 +104,22 @@ class INFO_MT_area(Menu): ).use_hide_panels = True +class INFO_MT_context_menu(Menu): + bl_label = "Info Context Menu" + + def draw(self, context): + layout = self.layout + + layout.operator("info.report_copy", text="Copy") + layout.operator("info.report_delete", text="Delete") + classes = ( INFO_HT_header, INFO_MT_editor_menus, INFO_MT_area, INFO_MT_view, INFO_MT_info, + INFO_MT_context_menu, ) if __name__ == "__main__": # only for live edit.