1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Added editor file dialog shortcuts

This commit is contained in:
Paulb23
2016-06-18 18:32:04 +01:00
parent f84ffb9bed
commit 35ffa56e17

View File

@@ -98,37 +98,66 @@ void EditorFileDialog::_unhandled_input(const InputEvent& p_event) {
if (p_event.type==InputEvent::KEY && is_window_modal_on_top()) { if (p_event.type==InputEvent::KEY && is_window_modal_on_top()) {
const InputEventKey &k=p_event.key; if (p_event.key.pressed) {
if (k.pressed) { bool handled=false;
bool handled=true;
switch (k.scancode) {
case KEY_H: {
if (k.mod.command) {
if (ED_IS_SHORTCUT("file_dialog/go_back", p_event)) {
_go_back();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/go_forward", p_event)) {
_go_forward();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/go_up", p_event)) {
_go_up();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/refresh", p_event)) {
invalidate();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/toggle_hidden_files", p_event)) {
bool show=!show_hidden_files; bool show=!show_hidden_files;
set_show_hidden_files(show); set_show_hidden_files(show);
EditorSettings::get_singleton()->set("file_dialog/show_hidden_files",show); EditorSettings::get_singleton()->set("file_dialog/show_hidden_files",show);
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/toggle_favorite", p_event)) {
_favorite_toggled(favorite->is_pressed());
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/toggle_mode", p_event)) {
if (mode_thumbnails->is_pressed()) {
set_display_mode(DISPLAY_LIST);
} else { } else {
handled=false; set_display_mode(DISPLAY_THUMBNAILS);
}
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/create_folder", p_event)) {
_make_dir();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/focus_path", p_event)) {
dir->grab_focus();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/mode_favorite_up", p_event)) {
_favorite_move_up();
handled=true;
}
if (ED_IS_SHORTCUT("file_dialog/mode_favorite_down", p_event)) {
_favorite_move_down();
handled=true;
} }
} break; if (handled) {
case KEY_F5: {
invalidate();
} break;
default: { handled=false; }
}
if (handled)
accept_event(); accept_event();
} }
} }
}
} }
void EditorFileDialog::set_enable_multiple_selection(bool p_enable) { void EditorFileDialog::set_enable_multiple_selection(bool p_enable) {
@@ -1248,6 +1277,18 @@ EditorFileDialog::EditorFileDialog() {
mode=MODE_SAVE_FILE; mode=MODE_SAVE_FILE;
set_title(TTR("Save a File")); set_title(TTR("Save a File"));
ED_SHORTCUT("file_dialog/go_back", TTR("Go Back"), KEY_MASK_ALT|KEY_LEFT);
ED_SHORTCUT("file_dialog/go_forward", TTR("Go Forward"), KEY_MASK_ALT|KEY_RIGHT);
ED_SHORTCUT("file_dialog/go_up", TTR("Go Up"), KEY_MASK_ALT|KEY_UP);
ED_SHORTCUT("file_dialog/refresh", TTR("Refresh"), KEY_MASK_CMD|KEY_F5); // ctrl + f5 else it launches the game as well..
ED_SHORTCUT("file_dialog/toggle_hidden_files", TTR("Toggle Hidden Files"), KEY_MASK_CMD|KEY_H);
ED_SHORTCUT("file_dialog/toggle_favorite", TTR("Toggle Favorite"), KEY_MASK_ALT|KEY_F);
ED_SHORTCUT("file_dialog/toggle_mode", TTR("Toggle Mode"), KEY_MASK_ALT|KEY_V);
ED_SHORTCUT("file_dialog/create_folder", TTR("Create Folder"), KEY_MASK_CMD|KEY_N);
ED_SHORTCUT("file_dialog/focus_path", TTR("Focus Path"), KEY_MASK_CMD|KEY_D);
ED_SHORTCUT("file_dialog/mode_favorite_up", TTR("Mode Favorite Up"), KEY_MASK_CMD|KEY_UP);
ED_SHORTCUT("file_dialog/mode_favorite_down", TTR("Mode Favorite Down"), KEY_MASK_CMD|KEY_DOWN);
HBoxContainer *pathhb = memnew( HBoxContainer ); HBoxContainer *pathhb = memnew( HBoxContainer );
dir_prev = memnew( ToolButton ); dir_prev = memnew( ToolButton );