Merge pull request #66337 from EricEzaM/sprite-frames
Ensure control built-in shortcuts are matched exactly & add shortcuts for SpriteFrames editor
This commit is contained in:
commit
2ffb609658
|
@ -143,7 +143,7 @@ void EditorSpinSlider::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
Ref<InputEventKey> k = p_event;
|
||||
if (k.is_valid() && k->is_pressed() && k->is_action("ui_accept")) {
|
||||
if (k.is_valid() && k->is_pressed() && k->is_action("ui_accept", true)) {
|
||||
_focus_entered();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -414,16 +414,16 @@ void SpriteFramesEditor::_notification(int p_what) {
|
|||
load_sheet->set_icon(get_theme_icon(SNAME("SpriteSheet"), SNAME("EditorIcons")));
|
||||
copy->set_icon(get_theme_icon(SNAME("ActionCopy"), SNAME("EditorIcons")));
|
||||
paste->set_icon(get_theme_icon(SNAME("ActionPaste"), SNAME("EditorIcons")));
|
||||
empty->set_icon(get_theme_icon(SNAME("InsertBefore"), SNAME("EditorIcons")));
|
||||
empty2->set_icon(get_theme_icon(SNAME("InsertAfter"), SNAME("EditorIcons")));
|
||||
empty_before->set_icon(get_theme_icon(SNAME("InsertBefore"), SNAME("EditorIcons")));
|
||||
empty_after->set_icon(get_theme_icon(SNAME("InsertAfter"), SNAME("EditorIcons")));
|
||||
move_up->set_icon(get_theme_icon(SNAME("MoveLeft"), SNAME("EditorIcons")));
|
||||
move_down->set_icon(get_theme_icon(SNAME("MoveRight"), SNAME("EditorIcons")));
|
||||
_delete->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
|
||||
delete_frame->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
|
||||
zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons")));
|
||||
zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons")));
|
||||
zoom_in->set_icon(get_theme_icon(SNAME("ZoomMore"), SNAME("EditorIcons")));
|
||||
new_anim->set_icon(get_theme_icon(SNAME("New"), SNAME("EditorIcons")));
|
||||
remove_anim->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
|
||||
add_anim->set_icon(get_theme_icon(SNAME("New"), SNAME("EditorIcons")));
|
||||
delete_anim->set_icon(get_theme_icon(SNAME("Remove"), SNAME("EditorIcons")));
|
||||
anim_search_box->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons")));
|
||||
split_sheet_zoom_out->set_icon(get_theme_icon(SNAME("ZoomLess"), SNAME("EditorIcons")));
|
||||
split_sheet_zoom_reset->set_icon(get_theme_icon(SNAME("ZoomReset"), SNAME("EditorIcons")));
|
||||
|
@ -1016,19 +1016,19 @@ void SpriteFramesEditor::edit(SpriteFrames *p_frames) {
|
|||
hide();
|
||||
}
|
||||
|
||||
new_anim->set_disabled(read_only);
|
||||
remove_anim->set_disabled(read_only);
|
||||
add_anim->set_disabled(read_only);
|
||||
delete_anim->set_disabled(read_only);
|
||||
anim_speed->set_editable(!read_only);
|
||||
anim_loop->set_disabled(read_only);
|
||||
load->set_disabled(read_only);
|
||||
load_sheet->set_disabled(read_only);
|
||||
copy->set_disabled(read_only);
|
||||
paste->set_disabled(read_only);
|
||||
empty->set_disabled(read_only);
|
||||
empty2->set_disabled(read_only);
|
||||
empty_before->set_disabled(read_only);
|
||||
empty_after->set_disabled(read_only);
|
||||
move_up->set_disabled(read_only);
|
||||
move_down->set_disabled(read_only);
|
||||
_delete->set_disabled(read_only);
|
||||
delete_frame->set_disabled(read_only);
|
||||
}
|
||||
|
||||
void SpriteFramesEditor::set_undo_redo(Ref<EditorUndoRedoManager> p_undo_redo) {
|
||||
|
@ -1187,18 +1187,16 @@ SpriteFramesEditor::SpriteFramesEditor() {
|
|||
HBoxContainer *hbc_animlist = memnew(HBoxContainer);
|
||||
sub_vb->add_child(hbc_animlist);
|
||||
|
||||
new_anim = memnew(Button);
|
||||
new_anim->set_flat(true);
|
||||
new_anim->set_tooltip_text(TTR("New Animation"));
|
||||
hbc_animlist->add_child(new_anim);
|
||||
new_anim->connect("pressed", callable_mp(this, &SpriteFramesEditor::_animation_add));
|
||||
add_anim = memnew(Button);
|
||||
add_anim->set_flat(true);
|
||||
hbc_animlist->add_child(add_anim);
|
||||
add_anim->connect("pressed", callable_mp(this, &SpriteFramesEditor::_animation_add));
|
||||
|
||||
remove_anim = memnew(Button);
|
||||
remove_anim->set_flat(true);
|
||||
remove_anim->set_tooltip_text(TTR("Remove Animation"));
|
||||
hbc_animlist->add_child(remove_anim);
|
||||
remove_anim->set_disabled(true);
|
||||
remove_anim->connect("pressed", callable_mp(this, &SpriteFramesEditor::_animation_remove));
|
||||
delete_anim = memnew(Button);
|
||||
delete_anim->set_flat(true);
|
||||
hbc_animlist->add_child(delete_anim);
|
||||
delete_anim->set_disabled(true);
|
||||
delete_anim->connect("pressed", callable_mp(this, &SpriteFramesEditor::_animation_remove));
|
||||
|
||||
anim_search_box = memnew(LineEdit);
|
||||
hbc_animlist->add_child(anim_search_box);
|
||||
|
@ -1215,6 +1213,11 @@ SpriteFramesEditor::SpriteFramesEditor() {
|
|||
animations->connect("item_edited", callable_mp(this, &SpriteFramesEditor::_animation_name_edited));
|
||||
animations->set_allow_reselect(true);
|
||||
|
||||
add_anim->set_shortcut_context(animations);
|
||||
add_anim->set_shortcut(ED_SHORTCUT("sprite_frames/new_animation", TTR("Add Animation"), KeyModifierMask::CMD_OR_CTRL | Key::N));
|
||||
delete_anim->set_shortcut_context(animations);
|
||||
delete_anim->set_shortcut(ED_SHORTCUT("sprite_frames/delete_animation", TTR("Delete Animation"), Key::KEY_DELETE));
|
||||
|
||||
HBoxContainer *hbc_anim_speed = memnew(HBoxContainer);
|
||||
hbc_anim_speed->add_child(memnew(Label(TTR("Speed:"))));
|
||||
vbc_animlist->add_child(hbc_anim_speed);
|
||||
|
@ -1244,54 +1247,45 @@ SpriteFramesEditor::SpriteFramesEditor() {
|
|||
|
||||
load = memnew(Button);
|
||||
load->set_flat(true);
|
||||
load->set_tooltip_text(TTR("Add a Texture from File"));
|
||||
hbc->add_child(load);
|
||||
|
||||
load_sheet = memnew(Button);
|
||||
load_sheet->set_flat(true);
|
||||
load_sheet->set_tooltip_text(TTR("Add Frames from a Sprite Sheet"));
|
||||
hbc->add_child(load_sheet);
|
||||
|
||||
hbc->add_child(memnew(VSeparator));
|
||||
|
||||
copy = memnew(Button);
|
||||
copy->set_flat(true);
|
||||
copy->set_tooltip_text(TTR("Copy"));
|
||||
hbc->add_child(copy);
|
||||
|
||||
paste = memnew(Button);
|
||||
paste->set_flat(true);
|
||||
paste->set_tooltip_text(TTR("Paste"));
|
||||
hbc->add_child(paste);
|
||||
|
||||
hbc->add_child(memnew(VSeparator));
|
||||
|
||||
empty = memnew(Button);
|
||||
empty->set_flat(true);
|
||||
empty->set_tooltip_text(TTR("Insert Empty (Before)"));
|
||||
hbc->add_child(empty);
|
||||
empty_before = memnew(Button);
|
||||
empty_before->set_flat(true);
|
||||
hbc->add_child(empty_before);
|
||||
|
||||
empty2 = memnew(Button);
|
||||
empty2->set_flat(true);
|
||||
empty2->set_tooltip_text(TTR("Insert Empty (After)"));
|
||||
hbc->add_child(empty2);
|
||||
empty_after = memnew(Button);
|
||||
empty_after->set_flat(true);
|
||||
hbc->add_child(empty_after);
|
||||
|
||||
hbc->add_child(memnew(VSeparator));
|
||||
|
||||
move_up = memnew(Button);
|
||||
move_up->set_flat(true);
|
||||
move_up->set_tooltip_text(TTR("Move (Before)"));
|
||||
hbc->add_child(move_up);
|
||||
|
||||
move_down = memnew(Button);
|
||||
move_down->set_flat(true);
|
||||
move_down->set_tooltip_text(TTR("Move (After)"));
|
||||
hbc->add_child(move_down);
|
||||
|
||||
_delete = memnew(Button);
|
||||
_delete->set_flat(true);
|
||||
_delete->set_tooltip_text(TTR("Delete"));
|
||||
hbc->add_child(_delete);
|
||||
delete_frame = memnew(Button);
|
||||
delete_frame->set_flat(true);
|
||||
hbc->add_child(delete_frame);
|
||||
|
||||
hbc->add_spacer();
|
||||
|
||||
|
@ -1333,13 +1327,40 @@ SpriteFramesEditor::SpriteFramesEditor() {
|
|||
|
||||
load->connect("pressed", callable_mp(this, &SpriteFramesEditor::_load_pressed));
|
||||
load_sheet->connect("pressed", callable_mp(this, &SpriteFramesEditor::_open_sprite_sheet));
|
||||
_delete->connect("pressed", callable_mp(this, &SpriteFramesEditor::_delete_pressed));
|
||||
delete_frame->connect("pressed", callable_mp(this, &SpriteFramesEditor::_delete_pressed));
|
||||
copy->connect("pressed", callable_mp(this, &SpriteFramesEditor::_copy_pressed));
|
||||
paste->connect("pressed", callable_mp(this, &SpriteFramesEditor::_paste_pressed));
|
||||
empty->connect("pressed", callable_mp(this, &SpriteFramesEditor::_empty_pressed));
|
||||
empty2->connect("pressed", callable_mp(this, &SpriteFramesEditor::_empty2_pressed));
|
||||
empty_before->connect("pressed", callable_mp(this, &SpriteFramesEditor::_empty_pressed));
|
||||
empty_after->connect("pressed", callable_mp(this, &SpriteFramesEditor::_empty2_pressed));
|
||||
move_up->connect("pressed", callable_mp(this, &SpriteFramesEditor::_up_pressed));
|
||||
move_down->connect("pressed", callable_mp(this, &SpriteFramesEditor::_down_pressed));
|
||||
|
||||
load->set_shortcut_context(tree);
|
||||
load->set_shortcut(ED_SHORTCUT("sprite_frames/load_from_file", TTR("Add frame from file"), KeyModifierMask::CMD_OR_CTRL | Key::O));
|
||||
load_sheet->set_shortcut_context(tree);
|
||||
load_sheet->set_shortcut(ED_SHORTCUT("sprite_frames/load_from_sheet", TTR("Add frames from sprite sheet"), KeyModifierMask::CMD_OR_CTRL | KeyModifierMask::SHIFT | Key::O));
|
||||
delete_frame->set_shortcut_context(tree);
|
||||
delete_frame->set_shortcut(ED_SHORTCUT("sprite_frames/delete", TTR("Delete Frame"), Key::KEY_DELETE));
|
||||
copy->set_shortcut_context(tree);
|
||||
copy->set_shortcut(ED_SHORTCUT("sprite_frames/copy", TTR("Copy Frame"), KeyModifierMask::CMD_OR_CTRL | Key::C));
|
||||
paste->set_shortcut_context(tree);
|
||||
paste->set_shortcut(ED_SHORTCUT("sprite_frames/paste", TTR("Paste Frame"), KeyModifierMask::CMD_OR_CTRL | Key::V));
|
||||
empty_before->set_shortcut_context(tree);
|
||||
empty_before->set_shortcut(ED_SHORTCUT("sprite_frames/empty_before", TTR("Insert Empty (Before Selected)"), KeyModifierMask::ALT | Key::LEFT));
|
||||
empty_after->set_shortcut_context(tree);
|
||||
empty_after->set_shortcut(ED_SHORTCUT("sprite_frames/empty_after", TTR("Insert Empty (After Selected)"), KeyModifierMask::ALT | Key::RIGHT));
|
||||
move_up->set_shortcut_context(tree);
|
||||
move_up->set_shortcut(ED_SHORTCUT("sprite_frames/move_left", TTR("Move Frame Left"), KeyModifierMask::CMD_OR_CTRL | Key::LEFT));
|
||||
move_down->set_shortcut_context(tree);
|
||||
move_down->set_shortcut(ED_SHORTCUT("sprite_frames/move_right", TTR("Move Frame Right"), KeyModifierMask::CMD_OR_CTRL | Key::RIGHT));
|
||||
|
||||
zoom_out->set_shortcut_context(tree);
|
||||
zoom_out->set_shortcut(ED_SHORTCUT_ARRAY("sprite_frames/zoom_out", TTR("Zoom Out"),
|
||||
{ int32_t(KeyModifierMask::CMD_OR_CTRL | Key::MINUS), int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KP_SUBTRACT) }));
|
||||
zoom_in->set_shortcut_context(tree);
|
||||
zoom_in->set_shortcut(ED_SHORTCUT_ARRAY("sprite_frames/zoom_in", TTR("Zoom In"),
|
||||
{ int32_t(KeyModifierMask::CMD_OR_CTRL | Key::EQUAL), int32_t(KeyModifierMask::CMD_OR_CTRL | Key::KP_ADD) }));
|
||||
|
||||
file->connect("files_selected", callable_mp(this, &SpriteFramesEditor::_file_load_request).bind(-1));
|
||||
loading_scene = false;
|
||||
sel = -1;
|
||||
|
|
|
@ -61,11 +61,11 @@ class SpriteFramesEditor : public HSplitContainer {
|
|||
|
||||
Button *load = nullptr;
|
||||
Button *load_sheet = nullptr;
|
||||
Button *_delete = nullptr;
|
||||
Button *delete_frame = nullptr;
|
||||
Button *copy = nullptr;
|
||||
Button *paste = nullptr;
|
||||
Button *empty = nullptr;
|
||||
Button *empty2 = nullptr;
|
||||
Button *empty_before = nullptr;
|
||||
Button *empty_after = nullptr;
|
||||
Button *move_up = nullptr;
|
||||
Button *move_down = nullptr;
|
||||
Button *zoom_out = nullptr;
|
||||
|
@ -75,8 +75,8 @@ class SpriteFramesEditor : public HSplitContainer {
|
|||
bool loading_scene;
|
||||
int sel;
|
||||
|
||||
Button *new_anim = nullptr;
|
||||
Button *remove_anim = nullptr;
|
||||
Button *add_anim = nullptr;
|
||||
Button *delete_anim = nullptr;
|
||||
LineEdit *anim_search_box = nullptr;
|
||||
|
||||
Tree *animations = nullptr;
|
||||
|
|
|
@ -60,7 +60,7 @@ void BaseButton::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
Ref<InputEventMouseButton> mouse_button = p_event;
|
||||
bool ui_accept = p_event->is_action("ui_accept") && !p_event->is_echo();
|
||||
bool ui_accept = p_event->is_action("ui_accept", true) && !p_event->is_echo();
|
||||
|
||||
bool button_masked = mouse_button.is_valid() && (mouse_button_to_mask(mouse_button->get_button_index()) & button_mask) != MouseButton::NONE;
|
||||
if (button_masked || ui_accept) {
|
||||
|
|
|
@ -1385,16 +1385,16 @@ void GraphEdit::gui_input(const Ref<InputEvent> &p_ev) {
|
|||
}
|
||||
|
||||
if (p_ev->is_pressed()) {
|
||||
if (p_ev->is_action("ui_graph_duplicate")) {
|
||||
if (p_ev->is_action("ui_graph_duplicate", true)) {
|
||||
emit_signal(SNAME("duplicate_nodes_request"));
|
||||
accept_event();
|
||||
} else if (p_ev->is_action("ui_copy")) {
|
||||
} else if (p_ev->is_action("ui_copy", true)) {
|
||||
emit_signal(SNAME("copy_nodes_request"));
|
||||
accept_event();
|
||||
} else if (p_ev->is_action("ui_paste")) {
|
||||
} else if (p_ev->is_action("ui_paste", true)) {
|
||||
emit_signal(SNAME("paste_nodes_request"));
|
||||
accept_event();
|
||||
} else if (p_ev->is_action("ui_graph_delete")) {
|
||||
} else if (p_ev->is_action("ui_graph_delete", true)) {
|
||||
TypedArray<StringName> nodes;
|
||||
|
||||
for (int i = 0; i < get_child_count(); i++) {
|
||||
|
|
|
@ -728,7 +728,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
if (p_event->is_pressed() && items.size() > 0) {
|
||||
if (p_event->is_action("ui_up")) {
|
||||
if (p_event->is_action("ui_up", true)) {
|
||||
if (!search_string.is_empty()) {
|
||||
uint64_t now = OS::get_singleton()->get_ticks_msec();
|
||||
uint64_t diff = now - search_time_msec;
|
||||
|
@ -766,7 +766,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
accept_event();
|
||||
}
|
||||
} else if (p_event->is_action("ui_down")) {
|
||||
} else if (p_event->is_action("ui_down", true)) {
|
||||
if (!search_string.is_empty()) {
|
||||
uint64_t now = OS::get_singleton()->get_ticks_msec();
|
||||
uint64_t diff = now - search_time_msec;
|
||||
|
@ -803,7 +803,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
accept_event();
|
||||
}
|
||||
} else if (p_event->is_action("ui_page_up")) {
|
||||
} else if (p_event->is_action("ui_page_up", true)) {
|
||||
search_string = ""; //any mousepress cancels
|
||||
|
||||
for (int i = 4; i > 0; i--) {
|
||||
|
@ -817,7 +817,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_page_down")) {
|
||||
} else if (p_event->is_action("ui_page_down", true)) {
|
||||
search_string = ""; //any mousepress cancels
|
||||
|
||||
for (int i = 4; i > 0; i--) {
|
||||
|
@ -832,7 +832,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_left")) {
|
||||
} else if (p_event->is_action("ui_left", true)) {
|
||||
search_string = ""; //any mousepress cancels
|
||||
|
||||
if (current % current_columns != 0) {
|
||||
|
@ -852,7 +852,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
accept_event();
|
||||
}
|
||||
} else if (p_event->is_action("ui_right")) {
|
||||
} else if (p_event->is_action("ui_right", true)) {
|
||||
search_string = ""; //any mousepress cancels
|
||||
|
||||
if (current % current_columns != (current_columns - 1) && current + 1 < items.size()) {
|
||||
|
@ -872,9 +872,9 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
accept_event();
|
||||
}
|
||||
} else if (p_event->is_action("ui_cancel")) {
|
||||
} else if (p_event->is_action("ui_cancel", true)) {
|
||||
search_string = "";
|
||||
} else if (p_event->is_action("ui_select") && select_mode == SELECT_MULTI) {
|
||||
} else if (p_event->is_action("ui_select", true) && select_mode == SELECT_MULTI) {
|
||||
if (current >= 0 && current < items.size()) {
|
||||
if (items[current].selectable && !items[current].disabled && !items[current].selected) {
|
||||
select(current, false);
|
||||
|
@ -884,7 +884,7 @@ void ItemList::gui_input(const Ref<InputEvent> &p_event) {
|
|||
emit_signal(SNAME("multi_selected"), current, false);
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_accept")) {
|
||||
} else if (p_event->is_action("ui_accept", true)) {
|
||||
search_string = ""; //any mousepress cancels
|
||||
|
||||
if (current >= 0 && current < items.size()) {
|
||||
|
|
|
@ -41,7 +41,7 @@ void MenuBar::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
MutexLock lock(mutex);
|
||||
if (p_event->is_action("ui_left") && p_event->is_pressed()) {
|
||||
if (p_event->is_action("ui_left", true) && p_event->is_pressed()) {
|
||||
int new_sel = selected_menu;
|
||||
int old_sel = (selected_menu < 0) ? 0 : selected_menu;
|
||||
do {
|
||||
|
@ -63,7 +63,7 @@ void MenuBar::gui_input(const Ref<InputEvent> &p_event) {
|
|||
_open_popup(selected_menu, true);
|
||||
}
|
||||
return;
|
||||
} else if (p_event->is_action("ui_right") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_right", true) && p_event->is_pressed()) {
|
||||
int new_sel = selected_menu;
|
||||
int old_sel = (selected_menu < 0) ? menu_cache.size() - 1 : selected_menu;
|
||||
do {
|
||||
|
|
|
@ -273,7 +273,7 @@ void PopupMenu::gui_input(const Ref<InputEvent> &p_event) {
|
|||
ERR_FAIL_COND(p_event.is_null());
|
||||
|
||||
if (!items.is_empty()) {
|
||||
if (p_event->is_action("ui_down") && p_event->is_pressed()) {
|
||||
if (p_event->is_action("ui_down", true) && p_event->is_pressed()) {
|
||||
int search_from = mouse_over + 1;
|
||||
if (search_from >= items.size()) {
|
||||
search_from = 0;
|
||||
|
@ -305,7 +305,7 @@ void PopupMenu::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_up") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_up", true) && p_event->is_pressed()) {
|
||||
int search_from = mouse_over - 1;
|
||||
if (search_from < 0) {
|
||||
search_from = items.size() - 1;
|
||||
|
@ -337,7 +337,7 @@ void PopupMenu::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_left") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_left", true) && p_event->is_pressed()) {
|
||||
Node *n = get_parent();
|
||||
if (n) {
|
||||
if (Object::cast_to<PopupMenu>(n)) {
|
||||
|
@ -349,7 +349,7 @@ void PopupMenu::gui_input(const Ref<InputEvent> &p_event) {
|
|||
return;
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_right") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_right", true) && p_event->is_pressed()) {
|
||||
if (mouse_over >= 0 && mouse_over < items.size() && !items[mouse_over].separator && !items[mouse_over].submenu.is_empty() && submenu_over != mouse_over) {
|
||||
_activate_submenu(mouse_over, true);
|
||||
set_input_as_handled();
|
||||
|
@ -361,7 +361,7 @@ void PopupMenu::gui_input(const Ref<InputEvent> &p_event) {
|
|||
return;
|
||||
}
|
||||
}
|
||||
} else if (p_event->is_action("ui_accept") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_accept", true) && p_event->is_pressed()) {
|
||||
if (mouse_over >= 0 && mouse_over < items.size() && !items[mouse_over].separator) {
|
||||
if (!items[mouse_over].submenu.is_empty() && submenu_over != mouse_over) {
|
||||
_activate_submenu(mouse_over, true);
|
||||
|
|
|
@ -2019,36 +2019,36 @@ void RichTextLabel::gui_input(const Ref<InputEvent> &p_event) {
|
|||
if (k->is_pressed()) {
|
||||
bool handled = false;
|
||||
|
||||
if (k->is_action("ui_page_up") && vscroll->is_visible_in_tree()) {
|
||||
if (k->is_action("ui_page_up", true) && vscroll->is_visible_in_tree()) {
|
||||
vscroll->set_value(vscroll->get_value() - vscroll->get_page());
|
||||
handled = true;
|
||||
}
|
||||
if (k->is_action("ui_page_down") && vscroll->is_visible_in_tree()) {
|
||||
if (k->is_action("ui_page_down", true) && vscroll->is_visible_in_tree()) {
|
||||
vscroll->set_value(vscroll->get_value() + vscroll->get_page());
|
||||
handled = true;
|
||||
}
|
||||
if (k->is_action("ui_up") && vscroll->is_visible_in_tree()) {
|
||||
if (k->is_action("ui_up", true) && vscroll->is_visible_in_tree()) {
|
||||
vscroll->set_value(vscroll->get_value() - theme_cache.normal_font->get_height(theme_cache.normal_font_size));
|
||||
handled = true;
|
||||
}
|
||||
if (k->is_action("ui_down") && vscroll->is_visible_in_tree()) {
|
||||
if (k->is_action("ui_down", true) && vscroll->is_visible_in_tree()) {
|
||||
vscroll->set_value(vscroll->get_value() + theme_cache.normal_font->get_height(theme_cache.normal_font_size));
|
||||
handled = true;
|
||||
}
|
||||
if (k->is_action("ui_home") && vscroll->is_visible_in_tree()) {
|
||||
if (k->is_action("ui_home", true) && vscroll->is_visible_in_tree()) {
|
||||
vscroll->set_value(0);
|
||||
handled = true;
|
||||
}
|
||||
if (k->is_action("ui_end") && vscroll->is_visible_in_tree()) {
|
||||
if (k->is_action("ui_end", true) && vscroll->is_visible_in_tree()) {
|
||||
vscroll->set_value(vscroll->get_max());
|
||||
handled = true;
|
||||
}
|
||||
if (is_shortcut_keys_enabled()) {
|
||||
if (k->is_action("ui_text_select_all")) {
|
||||
if (k->is_action("ui_text_select_all", true)) {
|
||||
select_all();
|
||||
handled = true;
|
||||
}
|
||||
if (k->is_action("ui_copy")) {
|
||||
if (k->is_action("ui_copy", true)) {
|
||||
selection_copy();
|
||||
handled = true;
|
||||
}
|
||||
|
|
|
@ -183,35 +183,35 @@ void ScrollBar::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
if (p_event->is_pressed()) {
|
||||
if (p_event->is_action("ui_left")) {
|
||||
if (p_event->is_action("ui_left", true)) {
|
||||
if (orientation != HORIZONTAL) {
|
||||
return;
|
||||
}
|
||||
set_value(get_value() - (custom_step >= 0 ? custom_step : get_step()));
|
||||
|
||||
} else if (p_event->is_action("ui_right")) {
|
||||
} else if (p_event->is_action("ui_right", true)) {
|
||||
if (orientation != HORIZONTAL) {
|
||||
return;
|
||||
}
|
||||
set_value(get_value() + (custom_step >= 0 ? custom_step : get_step()));
|
||||
|
||||
} else if (p_event->is_action("ui_up")) {
|
||||
} else if (p_event->is_action("ui_up", true)) {
|
||||
if (orientation != VERTICAL) {
|
||||
return;
|
||||
}
|
||||
|
||||
set_value(get_value() - (custom_step >= 0 ? custom_step : get_step()));
|
||||
|
||||
} else if (p_event->is_action("ui_down")) {
|
||||
} else if (p_event->is_action("ui_down", true)) {
|
||||
if (orientation != VERTICAL) {
|
||||
return;
|
||||
}
|
||||
set_value(get_value() + (custom_step >= 0 ? custom_step : get_step()));
|
||||
|
||||
} else if (p_event->is_action("ui_home")) {
|
||||
} else if (p_event->is_action("ui_home", true)) {
|
||||
set_value(get_min());
|
||||
|
||||
} else if (p_event->is_action("ui_end")) {
|
||||
} else if (p_event->is_action("ui_end", true)) {
|
||||
set_value(get_max());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -138,10 +138,10 @@ void Slider::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
set_value(get_value() - (custom_step >= 0 ? custom_step : get_step()));
|
||||
accept_event();
|
||||
} else if (p_event->is_action("ui_home") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_home", true) && p_event->is_pressed()) {
|
||||
set_value(get_min());
|
||||
accept_event();
|
||||
} else if (p_event->is_action("ui_end") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_end", true) && p_event->is_pressed()) {
|
||||
set_value(get_max());
|
||||
accept_event();
|
||||
}
|
||||
|
|
|
@ -3191,7 +3191,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
|
|||
Ref<InputEventKey> k = p_event;
|
||||
|
||||
bool is_command = k.is_valid() && k->is_command_or_control_pressed();
|
||||
if (p_event->is_action("ui_right") && p_event->is_pressed()) {
|
||||
if (p_event->is_action("ui_right", true) && p_event->is_pressed()) {
|
||||
if (!cursor_can_exit_tree) {
|
||||
accept_event();
|
||||
}
|
||||
|
@ -3209,7 +3209,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
|
|||
} else {
|
||||
_go_right();
|
||||
}
|
||||
} else if (p_event->is_action("ui_left") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_left", true) && p_event->is_pressed()) {
|
||||
if (!cursor_can_exit_tree) {
|
||||
accept_event();
|
||||
}
|
||||
|
@ -3229,21 +3229,21 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
|
|||
_go_left();
|
||||
}
|
||||
|
||||
} else if (p_event->is_action("ui_up") && p_event->is_pressed() && !is_command) {
|
||||
} else if (p_event->is_action("ui_up", true) && p_event->is_pressed() && !is_command) {
|
||||
if (!cursor_can_exit_tree) {
|
||||
accept_event();
|
||||
}
|
||||
|
||||
_go_up();
|
||||
|
||||
} else if (p_event->is_action("ui_down") && p_event->is_pressed() && !is_command) {
|
||||
} else if (p_event->is_action("ui_down", true) && p_event->is_pressed() && !is_command) {
|
||||
if (!cursor_can_exit_tree) {
|
||||
accept_event();
|
||||
}
|
||||
|
||||
_go_down();
|
||||
|
||||
} else if (p_event->is_action("ui_page_down") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_page_down", true) && p_event->is_pressed()) {
|
||||
if (!cursor_can_exit_tree) {
|
||||
accept_event();
|
||||
}
|
||||
|
@ -3281,7 +3281,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
ensure_cursor_is_visible();
|
||||
} else if (p_event->is_action("ui_page_up") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_page_up", true) && p_event->is_pressed()) {
|
||||
if (!cursor_can_exit_tree) {
|
||||
accept_event();
|
||||
}
|
||||
|
@ -3318,7 +3318,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
|
|||
prev->select(selected_col);
|
||||
}
|
||||
ensure_cursor_is_visible();
|
||||
} else if (p_event->is_action("ui_accept") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_accept", true) && p_event->is_pressed()) {
|
||||
if (selected_item) {
|
||||
//bring up editor if possible
|
||||
if (!edit_selected()) {
|
||||
|
@ -3327,7 +3327,7 @@ void Tree::gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
}
|
||||
accept_event();
|
||||
} else if (p_event->is_action("ui_select") && p_event->is_pressed()) {
|
||||
} else if (p_event->is_action("ui_select", true) && p_event->is_pressed()) {
|
||||
if (select_mode == SELECT_MULTI) {
|
||||
if (!selected_item) {
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue