mirror-chatterino2/src/util/Shortcut.hpp

25 lines
658 B
C++
Raw Normal View History

#pragma once
#include <QShortcut>
#include <QWidget>
2019-10-07 15:46:08 +02:00
namespace chatterino {
template <typename WidgetType, typename Func>
inline void createShortcut(WidgetType *w, const char *key, Func func)
{
auto s = new QShortcut(QKeySequence(key), w);
s->setContext(Qt::WidgetWithChildrenShortcut);
QObject::connect(s, &QShortcut::activated, w, func);
}
template <typename WidgetType, typename Func>
inline void createWindowShortcut(WidgetType *w, const char *key, Func func)
{
auto s = new QShortcut(QKeySequence(key), w);
s->setContext(Qt::WindowShortcut);
QObject::connect(s, &QShortcut::activated, w, func);
}
2019-10-07 15:46:08 +02:00
} // namespace chatterino