Skip to content

Commit

Permalink
Fix toggle scripts panel to allow using shortcut in other areas
Browse files Browse the repository at this point in the history
  • Loading branch information
Chaosus authored and yaelatletl committed Dec 24, 2019
1 parent 8b9bb80 commit 6e4f209
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 6 deletions.
10 changes: 7 additions & 3 deletions editor/code_editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1509,7 +1509,7 @@ void CodeTextEditor::_set_show_warnings_panel(bool 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"));
toggle_scripts_button->set_icon(ScriptEditor::get_singleton()->toggle_scripts_panel(this) ? get_icon("Back", "EditorIcons") : get_icon("Forward", "EditorIcons"));
}

void CodeTextEditor::_error_pressed(const Ref<InputEvent> &p_event) {
Expand All @@ -1528,7 +1528,7 @@ void CodeTextEditor::_notification(int p_what) {
} 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_toggle_scripts_button();
}
_update_font();
} break;
Expand Down Expand Up @@ -1652,6 +1652,10 @@ void CodeTextEditor::show_toggle_scripts_button() {
toggle_scripts_button->show();
}

void CodeTextEditor::update_toggle_scripts_button() {
toggle_scripts_button->set_icon(ScriptEditor::get_singleton()->is_scripts_panel_toggled() ? get_icon("Back", "EditorIcons") : get_icon("Forward", "EditorIcons"));
}

CodeTextEditor::CodeTextEditor() {

code_complete_func = NULL;
Expand Down Expand Up @@ -1696,7 +1700,7 @@ CodeTextEditor::CodeTextEditor() {
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->set_tooltip(TTR("Toggle Scripts Panel") + " (" + ED_GET_SHORTCUT("script_editor/toggle_scripts_panel")->get_as_text() + ")");
toggle_scripts_button->hide();

// Error
Expand Down
1 change: 1 addition & 0 deletions editor/code_editor.h
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ class CodeTextEditor : public VBoxContainer {
void validate_script();

void show_toggle_scripts_button();
void update_toggle_scripts_button();

CodeTextEditor();
};
Expand Down
19 changes: 17 additions & 2 deletions editor/plugins/script_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -987,8 +987,11 @@ Array ScriptEditor::_get_open_scripts() const {
return ret;
}

bool ScriptEditor::toggle_scripts_panel() {
bool ScriptEditor::toggle_scripts_panel(CodeTextEditor *p_editor) {
list_split->set_visible(!list_split->is_visible());
if (p_editor) {
p_editor->update_toggle_scripts_button();
}
return list_split->is_visible();
}

Expand Down Expand Up @@ -1137,7 +1140,16 @@ void ScriptEditor::_menu_option(int p_option) {
debug_menu->get_popup()->set_item_checked(debug_menu->get_popup()->get_item_index(DEBUG_WITH_EXTERNAL_EDITOR), debug_with_external_editor);
} break;
case TOGGLE_SCRIPTS_PANEL: {
toggle_scripts_panel();
if (current) {
CodeTextEditor *code_editor = NULL;
ScriptTextEditor *editor = dynamic_cast<ScriptTextEditor *>(current);
if (editor) {
code_editor = editor->code_editor;
}
toggle_scripts_panel(code_editor);
} else {
toggle_scripts_panel(NULL);
}
}
}

Expand Down Expand Up @@ -3315,6 +3327,9 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {

file_menu->get_popup()->add_separator();
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/run_file", TTR("Run"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_X), FILE_RUN);

file_menu->get_popup()->add_separator();
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/toggle_scripts_panel", TTR("Toggle Scripts Panel"), KEY_MASK_CMD | KEY_BACKSLASH), TOGGLE_SCRIPTS_PANEL);
file_menu->get_popup()->connect("id_pressed", this, "_menu_option");

script_search_menu = memnew(MenuButton);
Expand Down
2 changes: 1 addition & 1 deletion editor/plugins/script_editor_plugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ class ScriptEditor : public PanelContainer {
public:
static ScriptEditor *get_singleton() { return script_editor; }

bool toggle_scripts_panel();
bool toggle_scripts_panel(CodeTextEditor *p_editor);
bool is_scripts_panel_toggled();
void ensure_focus_current();
void apply_scripts() const;
Expand Down

0 comments on commit 6e4f209

Please sign in to comment.