14#include <QKeySequence>
40 using Icon_t = std::variant<Util::Void, QByteArray, QIcon>;
55 result.push_back (
Seq_);
97Q_DECLARE_INTERFACE (
IHaveShortcuts,
"org.Deviant.LeechCraft.IHaveShortcuts/1.0")
Interface for plugins that support configuring shortcuts.
virtual ~IHaveShortcuts()
virtual void SetShortcut(const QByteArray &id, const QKeySequences_t &sequences)=0
Sets shortcut's list of key sequences if it has been changed.
virtual QMap< QByteArray, LC::ActionInfo > GetActionInfo() const =0
Returns information about all the shortcuts.
QList< QKeySequence > QKeySequences_t
Describes an action exposed in shortcut manager.
std::variant< Util::Void, QByteArray, QIcon > Icon_t
QKeySequences_t AdditionalSeqs_
The additional key sequences for this action.
QKeySequence Seq_
The primary key sequence for this action.
Icon_t Icon_
Icon of the action, either a QIcon itself or its ActionIcon.
QString Text_
User-visible name of the action.
QKeySequences_t GetAllShortcuts() const
A proper void type, akin to unit (or ()) type in functional languages.
Q_DECLARE_METATYPE(QVariantList *)