summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/ios')
-rw-r--r--src/plugins/platforms/ios/qiostextresponder.mm11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/ios/qiostextresponder.mm b/src/plugins/platforms/ios/qiostextresponder.mm
index a3350bda87..19e476a064 100644
--- a/src/plugins/platforms/ios/qiostextresponder.mm
+++ b/src/plugins/platforms/ios/qiostextresponder.mm
@@ -416,6 +416,17 @@
if (unknownAction)
return [super canPerformAction:action withSender:sender];
+
+ QObject *focusObject = QGuiApplication::focusObject();
+ if (focusObject && focusObject->property("qt_im_readonly").toBool()) {
+ // exceptional menu items for read-only views: do include Copy, do not include Paste etc.
+ if (action == @selector(cut:)
+ || action == @selector(paste:)
+ || action == @selector(delete:))
+ return NO;
+ if (action == @selector(copy:))
+ return YES;
+ }
return (hasSelection && isEditAction) || (!hasSelection && isSelectAction);
}