#pragma once
#include <QtGui/QKeySequence>
#include <QtGui/QShortcut>
#include <QtWidgets/QWidget>
#include <QtCore/QObject>
#include <string>
#include "signal.h"
inline QShortcut *QShortcut_new(const std::string &key, QWidget *parent) {
return new QShortcut(QKeySequence(QString::fromStdString(key)), parent);
}
inline void QShortcut_delete(QShortcut *sc) { delete sc; }
inline void QShortcut_setKey(QShortcut *sc, const std::string &key) {
sc->setKey(QKeySequence(QString::fromStdString(key)));
}
inline void QShortcut_setEnabled(QShortcut *sc, bool enabled) {
sc->setEnabled(enabled);
}
inline void QShortcut_setAutoRepeat(QShortcut *sc, bool repeat) {
sc->setAutoRepeat(repeat);
}
inline void QShortcut_onActivated(QShortcut *sc, uint64_t ctx) {
QObject::connect(sc, &QShortcut::activated, [ctx]() {
if (g_hasVoidTrampoline) g_voidTrampoline(ctx);
});
}