15#include "phosphorshortcuts_export.h"
32class PHOSPHORSHORTCUTS_EXPORT
Registry :
public QObject
66 void bind(
const QString&
id,
const QKeySequence& defaultSeq,
const QString& description = {},
67 std::function<void()> callback = {},
bool persistent =
true);
75 void rebind(
const QString&
id,
const QKeySequence& seq);
111 QVector<Binding>
bindings(
bool persistentOnly =
false)
const;
129 void onBackendActivated(QString
id);
130 void onBackendReady();
136 std::function<void()> callback;
140 QKeySequence lastSentDefault;
141 QKeySequence lastSentCurrent;
142 bool registered =
false;
148 bool lastSentPersistent =
true;
149 bool persistent =
true;
152 QPointer<IBackend> m_backend;
153 QHash<QString, Entry> m_entries;
Pluggable global shortcut backend.
Definition IBackend.h:29
Consumer-facing facade over IBackend.
Definition Registry.h:33
QKeySequence shortcut(const QString &id) const
void flush()
Forward queued bind/rebind ops to the backend.
void bind(const QString &id, const QKeySequence &defaultSeq, const QString &description={}, std::function< void()> callback={}, bool persistent=true)
Register a shortcut.
void triggered(QString id)
Emitted on every activation, regardless of whether the binding has a callback.
void unbind(const QString &id)
Drop a binding entirely.
void rebind(const QString &id, const QKeySequence &seq)
Change the active binding for an already-registered id.
void ready()
Forwarded from IBackend::ready().
Registry(IBackend *backend, QObject *parent=nullptr)
QVector< Binding > bindings(bool persistentOnly=false) const
Enumerate registered bindings, sorted by id for deterministic output.
QString id
Definition Registry.h:38
QKeySequence defaultSeq
Definition Registry.h:39
QString description
Definition Registry.h:41
QKeySequence currentSeq
Definition Registry.h:40