Merge pull request #31220 from YeldhamDev/goto_single_menu
Move "Go to Function/Line" to "Go To" menu
This commit is contained in:
commit
6bb2717005
3 changed files with 48 additions and 39 deletions
|
@ -1784,11 +1784,7 @@ ScriptTextEditor::ScriptTextEditor() {
|
||||||
search_menu->get_popup()->add_separator();
|
search_menu->get_popup()->add_separator();
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find_in_files"), SEARCH_IN_FILES);
|
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find_in_files"), SEARCH_IN_FILES);
|
||||||
search_menu->get_popup()->add_separator();
|
search_menu->get_popup()->add_separator();
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_function"), SEARCH_LOCATE_FUNCTION);
|
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_line"), SEARCH_GOTO_LINE);
|
|
||||||
search_menu->get_popup()->add_separator();
|
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/contextual_help"), HELP_CONTEXTUAL);
|
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/contextual_help"), HELP_CONTEXTUAL);
|
||||||
|
|
||||||
search_menu->get_popup()->connect("id_pressed", this, "_edit_option");
|
search_menu->get_popup()->connect("id_pressed", this, "_edit_option");
|
||||||
|
|
||||||
edit_hb->add_child(edit_menu);
|
edit_hb->add_child(edit_menu);
|
||||||
|
@ -1797,6 +1793,11 @@ ScriptTextEditor::ScriptTextEditor() {
|
||||||
edit_hb->add_child(goto_menu);
|
edit_hb->add_child(goto_menu);
|
||||||
goto_menu->set_text(TTR("Go To"));
|
goto_menu->set_text(TTR("Go To"));
|
||||||
goto_menu->set_switch_on_hover(true);
|
goto_menu->set_switch_on_hover(true);
|
||||||
|
goto_menu->get_popup()->connect("id_pressed", this, "_edit_option");
|
||||||
|
|
||||||
|
goto_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_function"), SEARCH_LOCATE_FUNCTION);
|
||||||
|
goto_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_line"), SEARCH_GOTO_LINE);
|
||||||
|
goto_menu->get_popup()->add_separator();
|
||||||
|
|
||||||
bookmarks_menu = memnew(PopupMenu);
|
bookmarks_menu = memnew(PopupMenu);
|
||||||
bookmarks_menu->set_name("Bookmarks");
|
bookmarks_menu->set_name("Bookmarks");
|
||||||
|
@ -1856,16 +1857,12 @@ void ScriptTextEditor::register_editor() {
|
||||||
ED_SHORTCUT("script_text_editor/move_down", TTR("Move Down"), KEY_MASK_ALT | KEY_DOWN);
|
ED_SHORTCUT("script_text_editor/move_down", TTR("Move Down"), KEY_MASK_ALT | KEY_DOWN);
|
||||||
ED_SHORTCUT("script_text_editor/delete_line", TTR("Delete Line"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_K);
|
ED_SHORTCUT("script_text_editor/delete_line", TTR("Delete Line"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_K);
|
||||||
|
|
||||||
//leave these at zero, same can be accomplished with tab/shift-tab, including selection
|
// Leave these at zero, same can be accomplished with tab/shift-tab, including selection.
|
||||||
//the next/previous in history shortcut in this case makes a lot more sene.
|
// The next/previous in history shortcut in this case makes a lot more sense.
|
||||||
|
|
||||||
ED_SHORTCUT("script_text_editor/indent_left", TTR("Indent Left"), 0);
|
ED_SHORTCUT("script_text_editor/indent_left", TTR("Indent Left"), 0);
|
||||||
ED_SHORTCUT("script_text_editor/indent_right", TTR("Indent Right"), 0);
|
ED_SHORTCUT("script_text_editor/indent_right", TTR("Indent Right"), 0);
|
||||||
ED_SHORTCUT("script_text_editor/toggle_comment", TTR("Toggle Comment"), KEY_MASK_CMD | KEY_K);
|
ED_SHORTCUT("script_text_editor/toggle_comment", TTR("Toggle Comment"), KEY_MASK_CMD | KEY_K);
|
||||||
ED_SHORTCUT("script_text_editor/toggle_bookmark", TTR("Toggle Bookmark"), KEY_MASK_CMD | KEY_MASK_ALT | KEY_B);
|
|
||||||
ED_SHORTCUT("script_text_editor/goto_next_bookmark", TTR("Go to Next Bookmark"), KEY_MASK_CMD | KEY_B);
|
|
||||||
ED_SHORTCUT("script_text_editor/goto_previous_bookmark", TTR("Go to Previous Bookmark"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_B);
|
|
||||||
ED_SHORTCUT("script_text_editor/remove_all_bookmarks", TTR("Remove All Bookmarks"), 0);
|
|
||||||
ED_SHORTCUT("script_text_editor/toggle_fold_line", TTR("Fold/Unfold Line"), KEY_MASK_ALT | KEY_F);
|
ED_SHORTCUT("script_text_editor/toggle_fold_line", TTR("Fold/Unfold Line"), KEY_MASK_ALT | KEY_F);
|
||||||
ED_SHORTCUT("script_text_editor/fold_all_lines", TTR("Fold All Lines"), 0);
|
ED_SHORTCUT("script_text_editor/fold_all_lines", TTR("Fold All Lines"), 0);
|
||||||
ED_SHORTCUT("script_text_editor/unfold_all_lines", TTR("Unfold All Lines"), 0);
|
ED_SHORTCUT("script_text_editor/unfold_all_lines", TTR("Unfold All Lines"), 0);
|
||||||
|
@ -1881,15 +1878,6 @@ void ScriptTextEditor::register_editor() {
|
||||||
ED_SHORTCUT("script_text_editor/convert_indent_to_tabs", TTR("Convert Indent to Tabs"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_I);
|
ED_SHORTCUT("script_text_editor/convert_indent_to_tabs", TTR("Convert Indent to Tabs"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_I);
|
||||||
ED_SHORTCUT("script_text_editor/auto_indent", TTR("Auto Indent"), KEY_MASK_CMD | KEY_I);
|
ED_SHORTCUT("script_text_editor/auto_indent", TTR("Auto Indent"), KEY_MASK_CMD | KEY_I);
|
||||||
|
|
||||||
#ifdef OSX_ENABLED
|
|
||||||
ED_SHORTCUT("script_text_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_B);
|
|
||||||
#else
|
|
||||||
ED_SHORTCUT("script_text_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), KEY_F9);
|
|
||||||
#endif
|
|
||||||
ED_SHORTCUT("script_text_editor/remove_all_breakpoints", TTR("Remove All Breakpoints"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F9);
|
|
||||||
ED_SHORTCUT("script_text_editor/goto_next_breakpoint", TTR("Go to Next Breakpoint"), KEY_MASK_CMD | KEY_PERIOD);
|
|
||||||
ED_SHORTCUT("script_text_editor/goto_previous_breakpoint", TTR("Go to Previous Breakpoint"), KEY_MASK_CMD | KEY_COMMA);
|
|
||||||
|
|
||||||
ED_SHORTCUT("script_text_editor/find", TTR("Find..."), KEY_MASK_CMD | KEY_F);
|
ED_SHORTCUT("script_text_editor/find", TTR("Find..."), KEY_MASK_CMD | KEY_F);
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), KEY_MASK_CMD | KEY_G);
|
ED_SHORTCUT("script_text_editor/find_next", TTR("Find Next"), KEY_MASK_CMD | KEY_G);
|
||||||
|
@ -1903,6 +1891,17 @@ void ScriptTextEditor::register_editor() {
|
||||||
|
|
||||||
ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in Files..."), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F);
|
ED_SHORTCUT("script_text_editor/find_in_files", TTR("Find in Files..."), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F);
|
||||||
|
|
||||||
|
#ifdef OSX_ENABLED
|
||||||
|
ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KEY_MASK_ALT | KEY_MASK_SHIFT | KEY_SPACE);
|
||||||
|
#else
|
||||||
|
ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KEY_MASK_ALT | KEY_F1);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
ED_SHORTCUT("script_text_editor/toggle_bookmark", TTR("Toggle Bookmark"), KEY_MASK_CMD | KEY_MASK_ALT | KEY_B);
|
||||||
|
ED_SHORTCUT("script_text_editor/goto_next_bookmark", TTR("Go to Next Bookmark"), KEY_MASK_CMD | KEY_B);
|
||||||
|
ED_SHORTCUT("script_text_editor/goto_previous_bookmark", TTR("Go to Previous Bookmark"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_B);
|
||||||
|
ED_SHORTCUT("script_text_editor/remove_all_bookmarks", TTR("Remove All Bookmarks"), 0);
|
||||||
|
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
ED_SHORTCUT("script_text_editor/goto_function", TTR("Go to Function..."), KEY_MASK_CTRL | KEY_MASK_CMD | KEY_J);
|
ED_SHORTCUT("script_text_editor/goto_function", TTR("Go to Function..."), KEY_MASK_CTRL | KEY_MASK_CMD | KEY_J);
|
||||||
#else
|
#else
|
||||||
|
@ -1911,10 +1910,13 @@ void ScriptTextEditor::register_editor() {
|
||||||
ED_SHORTCUT("script_text_editor/goto_line", TTR("Go to Line..."), KEY_MASK_CMD | KEY_L);
|
ED_SHORTCUT("script_text_editor/goto_line", TTR("Go to Line..."), KEY_MASK_CMD | KEY_L);
|
||||||
|
|
||||||
#ifdef OSX_ENABLED
|
#ifdef OSX_ENABLED
|
||||||
ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KEY_MASK_ALT | KEY_MASK_SHIFT | KEY_SPACE);
|
ED_SHORTCUT("script_text_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_B);
|
||||||
#else
|
#else
|
||||||
ED_SHORTCUT("script_text_editor/contextual_help", TTR("Contextual Help"), KEY_MASK_ALT | KEY_F1);
|
ED_SHORTCUT("script_text_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), KEY_F9);
|
||||||
#endif
|
#endif
|
||||||
|
ED_SHORTCUT("script_text_editor/remove_all_breakpoints", TTR("Remove All Breakpoints"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F9);
|
||||||
|
ED_SHORTCUT("script_text_editor/goto_next_breakpoint", TTR("Go to Next Breakpoint"), KEY_MASK_CMD | KEY_PERIOD);
|
||||||
|
ED_SHORTCUT("script_text_editor/goto_previous_breakpoint", TTR("Go to Previous Breakpoint"), KEY_MASK_CMD | KEY_COMMA);
|
||||||
|
|
||||||
ScriptEditor::register_create_script_editor_function(create_editor);
|
ScriptEditor::register_create_script_editor_function(create_editor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -529,19 +529,19 @@ void ShaderEditor::_text_edit_gui_input(const Ref<InputEvent> &ev) {
|
||||||
|
|
||||||
void ShaderEditor::_update_bookmark_list() {
|
void ShaderEditor::_update_bookmark_list() {
|
||||||
|
|
||||||
bookmarks_menu->get_popup()->clear();
|
bookmarks_menu->clear();
|
||||||
|
|
||||||
bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
|
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/toggle_bookmark"), BOOKMARK_TOGGLE);
|
||||||
bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
|
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/remove_all_bookmarks"), BOOKMARK_REMOVE_ALL);
|
||||||
bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
|
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_next_bookmark"), BOOKMARK_GOTO_NEXT);
|
||||||
bookmarks_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
|
bookmarks_menu->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_previous_bookmark"), BOOKMARK_GOTO_PREV);
|
||||||
|
|
||||||
Array bookmark_list = shader_editor->get_text_edit()->get_bookmarks_array();
|
Array bookmark_list = shader_editor->get_text_edit()->get_bookmarks_array();
|
||||||
if (bookmark_list.size() == 0) {
|
if (bookmark_list.size() == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bookmarks_menu->get_popup()->add_separator();
|
bookmarks_menu->add_separator();
|
||||||
|
|
||||||
for (int i = 0; i < bookmark_list.size(); i++) {
|
for (int i = 0; i < bookmark_list.size(); i++) {
|
||||||
String line = shader_editor->get_text_edit()->get_line(bookmark_list[i]).strip_edges();
|
String line = shader_editor->get_text_edit()->get_line(bookmark_list[i]).strip_edges();
|
||||||
|
@ -550,17 +550,17 @@ void ShaderEditor::_update_bookmark_list() {
|
||||||
line = line.substr(0, 50);
|
line = line.substr(0, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
bookmarks_menu->get_popup()->add_item(String::num((int)bookmark_list[i] + 1) + " - \"" + line + "\"");
|
bookmarks_menu->add_item(String::num((int)bookmark_list[i] + 1) + " - \"" + line + "\"");
|
||||||
bookmarks_menu->get_popup()->set_item_metadata(bookmarks_menu->get_popup()->get_item_count() - 1, bookmark_list[i]);
|
bookmarks_menu->set_item_metadata(bookmarks_menu->get_item_count() - 1, bookmark_list[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShaderEditor::_bookmark_item_pressed(int p_idx) {
|
void ShaderEditor::_bookmark_item_pressed(int p_idx) {
|
||||||
|
|
||||||
if (p_idx < 4) { // Any item before the separator.
|
if (p_idx < 4) { // Any item before the separator.
|
||||||
_menu_option(bookmarks_menu->get_popup()->get_item_id(p_idx));
|
_menu_option(bookmarks_menu->get_item_id(p_idx));
|
||||||
} else {
|
} else {
|
||||||
shader_editor->goto_line(bookmarks_menu->get_popup()->get_item_metadata(p_idx));
|
shader_editor->goto_line(bookmarks_menu->get_item_metadata(p_idx));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -649,16 +649,23 @@ ShaderEditor::ShaderEditor(EditorNode *p_node) {
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find_next"), SEARCH_FIND_NEXT);
|
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find_next"), SEARCH_FIND_NEXT);
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find_previous"), SEARCH_FIND_PREV);
|
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/find_previous"), SEARCH_FIND_PREV);
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/replace"), SEARCH_REPLACE);
|
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/replace"), SEARCH_REPLACE);
|
||||||
search_menu->get_popup()->add_separator();
|
|
||||||
search_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_line"), SEARCH_GOTO_LINE);
|
|
||||||
search_menu->get_popup()->connect("id_pressed", this, "_menu_option");
|
search_menu->get_popup()->connect("id_pressed", this, "_menu_option");
|
||||||
|
|
||||||
bookmarks_menu = memnew(MenuButton);
|
MenuButton *goto_menu = memnew(MenuButton);
|
||||||
bookmarks_menu->set_text(TTR("Bookmarks"));
|
goto_menu->set_text(TTR("Go To"));
|
||||||
bookmarks_menu->set_switch_on_hover(true);
|
goto_menu->set_switch_on_hover(true);
|
||||||
|
goto_menu->get_popup()->connect("id_pressed", this, "_menu_option");
|
||||||
|
|
||||||
|
goto_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("script_text_editor/goto_line"), SEARCH_GOTO_LINE);
|
||||||
|
goto_menu->get_popup()->add_separator();
|
||||||
|
|
||||||
|
bookmarks_menu = memnew(PopupMenu);
|
||||||
|
bookmarks_menu->set_name("Bookmarks");
|
||||||
|
goto_menu->get_popup()->add_child(bookmarks_menu);
|
||||||
|
goto_menu->get_popup()->add_submenu_item(TTR("Bookmarks"), "Bookmarks");
|
||||||
_update_bookmark_list();
|
_update_bookmark_list();
|
||||||
bookmarks_menu->connect("about_to_show", this, "_update_bookmark_list");
|
bookmarks_menu->connect("about_to_show", this, "_update_bookmark_list");
|
||||||
bookmarks_menu->get_popup()->connect("index_pressed", this, "_bookmark_item_pressed");
|
bookmarks_menu->connect("index_pressed", this, "_bookmark_item_pressed");
|
||||||
|
|
||||||
help_menu = memnew(MenuButton);
|
help_menu = memnew(MenuButton);
|
||||||
help_menu->set_text(TTR("Help"));
|
help_menu->set_text(TTR("Help"));
|
||||||
|
@ -670,7 +677,7 @@ ShaderEditor::ShaderEditor(EditorNode *p_node) {
|
||||||
main_container->add_child(hbc);
|
main_container->add_child(hbc);
|
||||||
hbc->add_child(search_menu);
|
hbc->add_child(search_menu);
|
||||||
hbc->add_child(edit_menu);
|
hbc->add_child(edit_menu);
|
||||||
hbc->add_child(bookmarks_menu);
|
hbc->add_child(goto_menu);
|
||||||
hbc->add_child(help_menu);
|
hbc->add_child(help_menu);
|
||||||
hbc->add_style_override("panel", p_node->get_gui_base()->get_stylebox("ScriptEditorPanel", "EditorStyles"));
|
hbc->add_style_override("panel", p_node->get_gui_base()->get_stylebox("ScriptEditorPanel", "EditorStyles"));
|
||||||
main_container->add_child(shader_editor);
|
main_container->add_child(shader_editor);
|
||||||
|
|
|
@ -99,7 +99,7 @@ class ShaderEditor : public PanelContainer {
|
||||||
|
|
||||||
MenuButton *edit_menu;
|
MenuButton *edit_menu;
|
||||||
MenuButton *search_menu;
|
MenuButton *search_menu;
|
||||||
MenuButton *bookmarks_menu;
|
PopupMenu *bookmarks_menu;
|
||||||
MenuButton *help_menu;
|
MenuButton *help_menu;
|
||||||
PopupMenu *context_menu;
|
PopupMenu *context_menu;
|
||||||
uint64_t idle;
|
uint64_t idle;
|
||||||
|
|
Loading…
Reference in a new issue