Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
IAdhocRegistrar.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <QKeySequence>
7#include <QString>
8#include <QStringList>
9#include <QVector>
10
11#include <functional>
12
14
37{
38public:
39 virtual ~IAdhocRegistrar() = default;
40
50 virtual void registerAdhocShortcut(const QString& id, const QKeySequence& sequence, const QString& description,
51 std::function<void()> callback) = 0;
52
61 virtual void unregisterAdhocShortcut(const QString& id) = 0;
62
65 {
66 QString id;
67 QKeySequence sequence;
68 QString description;
69 std::function<void()> callback;
70 };
71
80 virtual void registerAdhocShortcuts(const QVector<AdhocBinding>& bindings)
81 {
82 for (const AdhocBinding& binding : bindings) {
83 registerAdhocShortcut(binding.id, binding.sequence, binding.description, binding.callback);
84 }
85 }
86
87 virtual void unregisterAdhocShortcuts(const QStringList& ids)
88 {
89 for (const QString& id : ids) {
91 }
92 }
93};
94
95} // namespace PhosphorShortcutsIntegration
Reduced-surface registrar interface for subsystems that need to bind a transient shortcut while a spe...
Definition IAdhocRegistrar.h:37
virtual void unregisterAdhocShortcuts(const QStringList &ids)
Definition IAdhocRegistrar.h:87
virtual void registerAdhocShortcuts(const QVector< AdhocBinding > &bindings)
Batch forms.
Definition IAdhocRegistrar.h:80
virtual void registerAdhocShortcut(const QString &id, const QKeySequence &sequence, const QString &description, std::function< void()> callback)=0
Register an ad-hoc shortcut that lives outside any settings-driven binding table.
virtual void unregisterAdhocShortcut(const QString &id)=0
Release a shortcut previously bound via registerAdhocShortcut().
Definition IAdhocRegistrar.h:13
One entry of the batch register form below.
Definition IAdhocRegistrar.h:65
QKeySequence sequence
Definition IAdhocRegistrar.h:67
QString description
Definition IAdhocRegistrar.h:68
std::function< void()> callback
Definition IAdhocRegistrar.h:69