aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/basic/impl
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2024-12-17 16:18:05 +0800
committerMitch Curtis <mitch.curtis@qt.io>2025-02-28 08:48:48 +0800
commit3b598b6f7509f57e198e7de1f04e4333555e7227 (patch)
tree77d24ee4d3e06dbfd82730a1062f134643e80fb3 /src/quickcontrols/basic/impl
parent121eec233e457f561c535d090ae7be47cd8e0c40 (diff)
ContextMenu: add to text editing controls
[ChangeLog][Controls] TextField and TextArea now provide a ContextMenu by default. If you already have a custom context menu for these types, ContextMenu will not open its own on e.g. right click. Fixes: QTBUG-35598 Pick-to: 6.9 Change-Id: I0897a7ba5e1b5b6d5425c80cbc6f2550c904605b Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quickcontrols/basic/impl')
-rw-r--r--src/quickcontrols/basic/impl/CMakeLists.txt2
-rw-r--r--src/quickcontrols/basic/impl/TextEditingContextMenu.qml31
2 files changed, 33 insertions, 0 deletions
diff --git a/src/quickcontrols/basic/impl/CMakeLists.txt b/src/quickcontrols/basic/impl/CMakeLists.txt
index 7f828c0350..f731e08502 100644
--- a/src/quickcontrols/basic/impl/CMakeLists.txt
+++ b/src/quickcontrols/basic/impl/CMakeLists.txt
@@ -16,6 +16,8 @@ qt_internal_add_qml_module(QuickControls2BasicStyleImpl
qquickbasicbusyindicator.cpp qquickbasicbusyindicator_p.h
qquickbasicdial.cpp qquickbasicdial_p.h
qquickbasicprogressbar.cpp qquickbasicprogressbar_p.h
+ QML_FILES
+ TextEditingContextMenu.qml
DEFINES
QT_NO_CAST_FROM_ASCII
QT_NO_CAST_TO_ASCII
diff --git a/src/quickcontrols/basic/impl/TextEditingContextMenu.qml b/src/quickcontrols/basic/impl/TextEditingContextMenu.qml
new file mode 100644
index 0000000000..81153c376d
--- /dev/null
+++ b/src/quickcontrols/basic/impl/TextEditingContextMenu.qml
@@ -0,0 +1,31 @@
+// Copyright (C) 2025 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+import QtQuick.Controls.Basic
+import QtQuick.Controls.impl
+
+Menu {
+ id: menu
+ popupType: Popup.Window
+
+ required property var control
+
+ CutAction {
+ control: menu.control
+ }
+ CopyAction {
+ control: menu.control
+ }
+ PasteAction {
+ control: menu.control
+ }
+ DeleteAction {
+ control: menu.control
+ }
+
+ MenuSeparator {}
+
+ SelectAllAction {
+ control: menu.control
+ }
+}