diff options
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qkeysequence.cpp | 5 | ||||
-rw-r--r-- | src/gui/kernel/qplatformwindow_p.h | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index c7b6e4ebff3..bb71f8fb6fc 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -1298,7 +1298,10 @@ QString QKeySequencePrivate::keyName(Qt::Key key, QKeySequence::SequenceFormat f bool nativeText = (format == QKeySequence::NativeText); QString p; - if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { + if (nativeText && (key > 0x00 && key <= 0x1f)) { + // Map C0 control codes to the corresponding Control Pictures + p = QChar::fromUcs2(0x2400 + key); + } else if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { if (!QChar::requiresSurrogates(key)) { p = QChar::fromUcs2(key).toUpper(); } else { diff --git a/src/gui/kernel/qplatformwindow_p.h b/src/gui/kernel/qplatformwindow_p.h index c446ac760c0..24c0fd7c431 100644 --- a/src/gui/kernel/qplatformwindow_p.h +++ b/src/gui/kernel/qplatformwindow_p.h @@ -125,6 +125,14 @@ struct Q_GUI_EXPORT QWaylandWindow : public QObject public: QT_DECLARE_NATIVE_INTERFACE(QWaylandWindow, 1, QWindow) + enum WindowType { + Default, + ToolTip, + ComboBox, + Menu, + SubMenu, + }; + virtual wl_surface *surface() const = 0; virtual void setCustomMargins(const QMargins &margins) = 0; virtual void requestXdgActivationToken(uint serial) = 0; @@ -136,6 +144,10 @@ public: return role ? *role : nullptr; } virtual void setSessionRestoreId(const QString &role) = 0; + + virtual void setExtendedWindowType(WindowType windowType) = 0; + virtual void setParentControlGeometry(const QRect &parentAnchor) = 0; + Q_SIGNALS: void surfaceCreated(); void surfaceDestroyed(); |