You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Fix undo redo for the texture region editor
This commit is contained in:
@@ -1107,12 +1107,34 @@ Vector2 TextureRegionEditor::snap_point(Vector2 p_target) const {
|
|||||||
return p_target;
|
return p_target;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextureRegionEditor::shortcut_input(const Ref<InputEvent> &p_event) {
|
||||||
|
const Ref<InputEventKey> k = p_event;
|
||||||
|
if (k.is_valid() && k->is_pressed()) {
|
||||||
|
bool handled = false;
|
||||||
|
|
||||||
|
if (ED_IS_SHORTCUT("ui_undo", p_event)) {
|
||||||
|
EditorNode::get_singleton()->undo();
|
||||||
|
handled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ED_IS_SHORTCUT("ui_redo", p_event)) {
|
||||||
|
EditorNode::get_singleton()->redo();
|
||||||
|
handled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (handled) {
|
||||||
|
set_input_as_handled();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TextureRegionEditor::_bind_methods() {
|
void TextureRegionEditor::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("_update_rect"), &TextureRegionEditor::_update_rect);
|
ClassDB::bind_method(D_METHOD("_update_rect"), &TextureRegionEditor::_update_rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureRegionEditor::TextureRegionEditor() {
|
TextureRegionEditor::TextureRegionEditor() {
|
||||||
set_title(TTR("Region Editor"));
|
set_title(TTR("Region Editor"));
|
||||||
|
set_process_shortcut_input(true);
|
||||||
set_ok_button_text(TTR("Close"));
|
set_ok_button_text(TTR("Close"));
|
||||||
|
|
||||||
// A power-of-two value works better as a default grid size.
|
// A power-of-two value works better as a default grid size.
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ class TextureRegionEditor : public AcceptDialog {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void _notification(int p_what);
|
void _notification(int p_what);
|
||||||
|
virtual void shortcut_input(const Ref<InputEvent> &p_event) override;
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
|
||||||
void _texture_preview_draw();
|
void _texture_preview_draw();
|
||||||
|
|||||||
Reference in New Issue
Block a user