Merge pull request #6545 from Hinsbart/textedit

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

[ci skip]
This commit is contained in:
Rémi Verschelde 2016-09-19 14:25:48 +02:00 committed by GitHub
commit 829d69ba52
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();