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