summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <[email protected]>2022-12-02 13:49:18 +0100
committerAllan Sandfeld Jensen <[email protected]>2022-12-09 16:16:48 +0100
commitd4eb5d11104bb823e56cf173e29f9d205320581f (patch)
tree481bb0990a0b0a8bfffa99a6014f7defcc73c8dd
parent10b5b4cbba79416e69c8b4ceea4874a9af26a237 (diff)
Cleanup short-cut id deprecation
Wasn't marked deprecated in documentation, and was needed for user construction of QShortcutEvents. Fixes: QTBUG-109090 Change-Id: Ibf0ad83a57de724d9b88a7e610ba04c2c662983b Reviewed-by: Ivan Solovev <[email protected]>
-rw-r--r--src/gui/kernel/qevent.cpp29
-rw-r--r--src/gui/kernel/qevent.h6
-rw-r--r--src/gui/kernel/qshortcut.cpp2
3 files changed, 37 insertions, 0 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 81617114f67..014bf8bc854 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -22,6 +22,10 @@
#include <private/qdnd_p.h>
#endif
+#if QT_CONFIG(shortcut)
+#include <private/qshortcut_p.h>
+#endif
+
#include <private/qdebug_p.h>
QT_BEGIN_NAMESPACE
@@ -3682,6 +3686,8 @@ Q_IMPL_EVENT_COMMON(QToolBarChangeEvent)
Constructs a shortcut event for the given \a key press,
associated with the QShortcut ID \a id.
+ \deprecated use the other constructor
+
\a ambiguous specifies whether there is more than one QShortcut
for the same key sequence.
*/
@@ -3690,6 +3696,27 @@ QShortcutEvent::QShortcutEvent(const QKeySequence &key, int id, bool ambiguous)
{
}
+/*!
+ Constructs a shortcut event for the given \a key press,
+ associated with the QShortcut \a shortcut.
+
+ \a ambiguous specifies whether there is more than one QShortcut
+ for the same key sequence.
+*/
+QShortcutEvent::QShortcutEvent(const QKeySequence &key, const QShortcut *shortcut, bool ambiguous)
+ : QEvent(Shortcut), m_sequence(key), m_shortcutId(0), m_ambiguous(ambiguous)
+{
+ if (shortcut) {
+ auto priv = static_cast<const QShortcutPrivate *>(QShortcutPrivate::get(shortcut));
+ auto index = priv->sc_sequences.indexOf(key);
+ if (index < 0) {
+ qWarning() << "Given QShortcut does not contain key-sequence " << key;
+ return;
+ }
+ m_shortcutId = priv->sc_ids[index];
+ }
+}
+
Q_IMPL_EVENT_COMMON(QShortcutEvent)
#endif // QT_CONFIG(shortcut)
@@ -4233,6 +4260,8 @@ QDebug operator<<(QDebug dbg, const QEvent *e)
/*!
\fn int QShortcutEvent::shortcutId() const
+ \deprecated
+
Returns the ID of the QShortcut object for which this event was
generated.
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index a5d34171e0b..a3fd09d9a4c 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -36,6 +36,9 @@ class QAction;
class QMouseEvent;
class QPointerEvent;
class QScreen;
+#if QT_CONFIG(shortcut)
+class QShortcut;
+#endif
class QTabletEvent;
class QTouchEvent;
#if QT_CONFIG(gestures)
@@ -873,9 +876,12 @@ class Q_GUI_EXPORT QShortcutEvent : public QEvent
{
Q_DECL_EVENT_COMMON(QShortcutEvent)
public:
+ // Note this is publicly deprecated, but should remain as internal constructor:
QShortcutEvent(const QKeySequence &key, int id, bool ambiguous = false);
+ QShortcutEvent(const QKeySequence &key, const QShortcut *shortcut = nullptr, bool ambiguous = false);
inline const QKeySequence &key() const { return m_sequence; }
+ // Note this is publicly deprecated, but should remain as internal getter:
inline int shortcutId() const { return m_shortcutId; }
inline bool isAmbiguous() const { return m_ambiguous; }
protected:
diff --git a/src/gui/kernel/qshortcut.cpp b/src/gui/kernel/qshortcut.cpp
index c654ebb578a..b10d96237e9 100644
--- a/src/gui/kernel/qshortcut.cpp
+++ b/src/gui/kernel/qshortcut.cpp
@@ -536,6 +536,8 @@ QString QShortcut::whatsThis() const
/*!
Returns the primary key binding's ID.
+ \deprecated
+
\sa QShortcutEvent::shortcutId()
*/
int QShortcut::id() const