diff options
Diffstat (limited to 'editor/code_editor.cpp')
-rw-r--r-- | editor/code_editor.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index db44edcfcb..06a425bab9 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1508,6 +1508,10 @@ void CodeTextEditor::_set_show_warnings_panel(bool p_show) { emit_signal("show_warnings_panel", p_show); } +void CodeTextEditor::_toggle_scripts_pressed() { + toggle_scripts_button->set_icon(ScriptEditor::get_singleton()->toggle_scripts_panel() ? get_icon("Back", "EditorIcons") : get_icon("Forward", "EditorIcons")); +} + void CodeTextEditor::_error_pressed(const Ref<InputEvent> &p_event) { Ref<InputEventMouseButton> mb = p_event; if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT) { @@ -1523,6 +1527,9 @@ void CodeTextEditor::_notification(int p_what) { emit_signal("load_theme_settings"); } break; case NOTIFICATION_THEME_CHANGED: { + if (toggle_scripts_button->is_visible()) { + toggle_scripts_button->set_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? get_icon("Back", "EditorIcons") : get_icon("Forward", "EditorIcons")); + } _update_font(); } break; case NOTIFICATION_ENTER_TREE: { @@ -1623,6 +1630,7 @@ void CodeTextEditor::_bind_methods() { ClassDB::bind_method("_complete_request", &CodeTextEditor::_complete_request); ClassDB::bind_method("_font_resize_timeout", &CodeTextEditor::_font_resize_timeout); ClassDB::bind_method("_error_pressed", &CodeTextEditor::_error_pressed); + ClassDB::bind_method("_toggle_scripts_pressed", &CodeTextEditor::_toggle_scripts_pressed); ClassDB::bind_method("_warning_button_pressed", &CodeTextEditor::_warning_button_pressed); ClassDB::bind_method("_warning_label_gui_input", &CodeTextEditor::_warning_label_gui_input); @@ -1637,6 +1645,10 @@ void CodeTextEditor::set_code_complete_func(CodeTextEditorCodeCompleteFunc p_cod code_complete_ud = p_ud; } +void CodeTextEditor::show_toggle_scripts_button() { + toggle_scripts_button->show(); +} + CodeTextEditor::CodeTextEditor() { code_complete_func = NULL; @@ -1678,6 +1690,12 @@ CodeTextEditor::CodeTextEditor() { error_line = 0; error_column = 0; + toggle_scripts_button = memnew(ToolButton); + toggle_scripts_button->connect("pressed", this, "_toggle_scripts_pressed"); + status_bar->add_child(toggle_scripts_button); + toggle_scripts_button->set_shortcut(ED_SHORTCUT("script_editor/toggle_scripts_panel", TTR("Toggle Scripts Panel"), KEY_MASK_CMD | KEY_BACKSLASH)); + toggle_scripts_button->hide(); + // Error ScrollContainer *scroll = memnew(ScrollContainer); scroll->set_h_size_flags(SIZE_EXPAND_FILL); |