Skip to content
Browse the docs

TelamonShortcuts

A singleton registry of the app's actions that reports shortcut conflicts and turns shortcuts into readable text.

Since 1.4.0

TelamonShortcuts is a singleton: the registry of the app's actions. Every TelamonAction adds itself on completion and removes itself on destruction. The registry watches each one's shortcut, text and enabled, keeps the list for TelamonShortcutsDialog and TelamonCommandPalette, and reports conflicts: one shortcut on two actions that are both enabled. Two actions conflict when they live in the same window (actions outside any Item or window share the app level). An action whose Item is not in a window yet takes part in no comparison until it is. Each new conflict is logged once with qWarning, naming the shortcut and the action texts.

It also has the helpers TelamonShortcutLabel uses to turn a shortcut (a string such as "Ctrl+S" or a StandardKey number) into text.

Example

Text {
    text: TelamonShortcuts.readable(saveAction.shortcut)   // "Ctrl+S"
}
Connections {
    target: TelamonShortcuts
    function onConflictsChanged() { console.log(JSON.stringify(TelamonShortcuts.conflicts)) }
}

Properties

Name Type Default Description
actions list<QtObject> (read-only) — Every registered TelamonAction, in the order they were added.
conflicts list (read-only) — The conflicts, as [{ shortcut: "Ctrl+S", texts: ["Save", "Sort"] }], by shortcut. conflictsChanged() fires when they change.

Methods

Signature Description
add(QtObject action) Registers an action. TelamonAction does this itself; an app doesn't call it.
keys(var sequence): list The sequence as keycap labels: one list per chord, one string per key.
plainText(string text): string An action's text without its & mnemonic markers (&& is one &).
portable(var sequence): string The portable text ("Ctrl+S", English names): what conflicts reports.
readable(var sequence): string The sequence in the platform's own spelling ("Ctrl+Shift+S"). Empty when it is no shortcut.
remove(QtObject action) Unregisters an action. TelamonAction does this itself; an app doesn't call it.

sequence is a string or a StandardKey number in all of these.