Fix ability to cut/paste text in LineEdit/TextEdit in readonly mode.
Fixes #6466
This commit is contained in:
parent
cef70a5f8b
commit
9c71e5a9df
2 changed files with 24 additions and 12 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue