diff options
Diffstat (limited to 'src/gui/kernel/qshortcut.h')
-rw-r--r-- | src/gui/kernel/qshortcut.h | 69 |
1 files changed, 68 insertions, 1 deletions
diff --git a/src/gui/kernel/qshortcut.h b/src/gui/kernel/qshortcut.h index 1b90a21925..d3db30fd4d 100644 --- a/src/gui/kernel/qshortcut.h +++ b/src/gui/kernel/qshortcut.h @@ -64,6 +64,9 @@ public: explicit QShortcut(const QKeySequence& key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut); + explicit QShortcut(QKeySequence::StandardKey key, QObject *parent, + const char *member = nullptr, const char *ambiguousMember = nullptr, + Qt::ShortcutContext context = Qt::WindowShortcut); #ifdef Q_CLANG_QDOC template<typename Functor> @@ -84,6 +87,25 @@ public: const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut); + + template<typename Functor> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + Functor functor, + Qt::ShortcutContext shortcutContext = Qt::WindowShortcut); + template<typename Functor> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + const QObject *context, Functor functor, + Qt::ShortcutContext shortcutContext = Qt::WindowShortcut); + template<typename Functor, typename FunctorAmbiguous> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + const QObject *context1, Functor functor, + FunctorAmbiguous functorAmbiguous, + Qt::ShortcutContext shortcutContext = Qt::WindowShortcut); + template<typename Functor, typename FunctorAmbiguous> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + const QObject *context1, Functor functor, + const QObject *context2, FunctorAmbiguous functorAmbiguous, + Qt::ShortcutContext shortcutContext = Qt::WindowShortcut); #else template<typename Func1> QShortcut(const QKeySequence &key, QObject *parent, @@ -124,12 +146,55 @@ public: connect(this, &QShortcut::activated, object1, std::move(slot1)); connect(this, &QShortcut::activatedAmbiguously, object2, std::move(slot2)); } + + template<typename Func1> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + Func1 slot1, + Qt::ShortcutContext context = Qt::WindowShortcut) + : QShortcut(key, parent, static_cast<const char*>(nullptr), static_cast<const char*>(nullptr), context) + { + connect(this, &QShortcut::activated, std::move(slot1)); + } + template<class Obj1, typename Func1> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + const Obj1 *object1, Func1 slot1, + Qt::ShortcutContext context = Qt::WindowShortcut, + typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0) + : QShortcut(key, parent, static_cast<const char*>(nullptr), static_cast<const char*>(nullptr), context) + { + connect(this, &QShortcut::activated, object1, std::move(slot1)); + } + template<class Obj1, typename Func1, typename Func2> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + const Obj1 *object1, Func1 slot1, Func2 slot2, + Qt::ShortcutContext context = Qt::WindowShortcut, + typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0) + : QShortcut(key, parent, static_cast<const char*>(nullptr), static_cast<const char*>(nullptr), context) + { + connect(this, &QShortcut::activated, object1, std::move(slot1)); + connect(this, &QShortcut::activatedAmbiguously, object1, std::move(slot2)); + } + template<class Obj1, typename Func1, class Obj2, typename Func2> + QShortcut(QKeySequence::StandardKey key, QObject *parent, + const Obj1 *object1, Func1 slot1, + const Obj2 *object2, Func2 slot2, + Qt::ShortcutContext context = Qt::WindowShortcut, + typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj1*>::Value>::type* = 0, + typename std::enable_if<QtPrivate::IsPointerToTypeDerivedFromQObject<Obj2*>::Value>::type* = 0) + : QShortcut(key, parent, static_cast<const char*>(nullptr), static_cast<const char*>(nullptr), context) + { + connect(this, &QShortcut::activated, object1, std::move(slot1)); + connect(this, &QShortcut::activatedAmbiguously, object2, std::move(slot2)); + } #endif ~QShortcut(); void setKey(const QKeySequence& key); QKeySequence key() const; + void setKeys(QKeySequence::StandardKey key); + void setKeys(const QList<QKeySequence> &keys); + QList<QKeySequence> keys() const; void setEnabled(bool enable); bool isEnabled() const; @@ -140,7 +205,9 @@ public: void setAutoRepeat(bool on); bool autoRepeat() const; - int id() const; +#if QT_DEPRECATED_SINCE(6,0) + Q_DECL_DEPRECATED int id() const; +#endif void setWhatsThis(const QString &text); QString whatsThis() const; |