Fix ability to cut/paste text in LineEdit/TextEdit in readonly mode.

Fixes #6466
This commit is contained in:
Andreas Haas 2016-09-19 14:17:48 +02:00
parent cef70a5f8b
commit 9c71e5a9df
No known key found for this signature in database
GPG key ID: B5FFAE1B65FBD2E1
2 changed files with 24 additions and 12 deletions

View file

@ -1191,24 +1191,28 @@ void LineEdit::menu_option(int p_option) {
switch(p_option) {
case MENU_CUT: {
cut_text();
if (editable) {
cut_text();
}
} break;
case MENU_COPY: {
copy_text();
} break;
case MENU_PASTE: {
paste_text();
if (editable) {
paste_text();
}
} break;
case MENU_CLEAR: {
clear();
if (editable) {
clear();
}
} break;
case MENU_SELECT_ALL: {
select_all();
} break;
case MENU_UNDO: {
undo();
} break;

View file

@ -2542,7 +2542,9 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
} break;
case KEY_X: {
if (readonly) {
break;
}
if (!k.mod.command || k.mod.shift || k.mod.alt) {
scancode_handled=false;
break;
@ -2574,7 +2576,9 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
undo();
} break;
case KEY_V: {
if (readonly) {
break;
}
if (!k.mod.command || k.mod.shift || k.mod.alt) {
scancode_handled=false;
break;
@ -4527,18 +4531,22 @@ void TextEdit::menu_option(int p_option) {
switch( p_option ) {
case MENU_CUT: {
cut();
if (!readonly) {
cut();
}
} break;
case MENU_COPY: {
copy();
} break;
case MENU_PASTE: {
paste();
if (!readonly) {
paste();
}
} break;
case MENU_CLEAR: {
clear();
if (!readonly) {
clear();
}
} break;
case MENU_SELECT_ALL: {
select_all();