7#ifndef SHORTCUTSSETTINGS_H
8#define SHORTCUTSSETTINGS_H
10#include <QApplication>
11#include <QKeySequence>
12#include <QLoggingCategory>
48 return QApplication::translate(
"shortcutsTab",
"Main Window");
50 return QApplication::translate(
"shortcutsTab",
"Deck Editor");
52 return QApplication::translate(
"shortcutsTab",
"Game Lobby");
54 return QApplication::translate(
"shortcutsTab",
"Card Counters");
56 return QApplication::translate(
"shortcutsTab",
"Player Counters");
58 return QApplication::translate(
"shortcutsTab",
"Power and Toughness");
60 return QApplication::translate(
"shortcutsTab",
"Game Phases");
62 return QApplication::translate(
"shortcutsTab",
"Playing Area");
64 return QApplication::translate(
"shortcutsTab",
"Move Selected Card");
66 return QApplication::translate(
"shortcutsTab",
"View");
68 return QApplication::translate(
"shortcutsTab",
"Move Top Card");
70 return QApplication::translate(
"shortcutsTab",
"Move Bottom Card");
72 return QApplication::translate(
"shortcutsTab",
"Gameplay");
74 return QApplication::translate(
"shortcutsTab",
"Drawing");
76 return QApplication::translate(
"shortcutsTab",
"Hand");
78 return QApplication::translate(
"shortcutsTab",
"Chat Room");
80 return QApplication::translate(
"shortcutsTab",
"Game Window");
82 return QApplication::translate(
"shortcutsTab",
"Load Deck from Clipboard");
84 return QApplication::translate(
"shortcutsTab",
"Replays");
86 return QApplication::translate(
"shortcutsTab",
"Tabs");
96 explicit ShortcutKey(
const QString &_name = QString(),
97 QList _sequence = QList(),
101 QList::operator=(_sequence);
105 return QApplication::translate(
"shortcutsTab",
name.toUtf8().data());
134 void setShortcuts(
const QString &name,
const QList<QKeySequence> &Sequence);
135 void setShortcuts(
const QString &name,
const QKeySequence &Sequence);
136 void setShortcuts(
const QString &name,
const QString &sequences);
138 [[nodiscard]]
bool isKeyAllowed(
const QString &name,
const QString &sequences)
const;
139 [[nodiscard]]
bool isValid(
const QString &name,
const QString &sequences)
const;
140 [[nodiscard]] QStringList
findOverlaps(
const QString &name,
const QString &sequences)
const;
155 [[nodiscard]] QString
stringifySequence(
const QList<QKeySequence> &Sequence)
const;
156 [[nodiscard]] QList<QKeySequence>
parseSequenceString(
const QString &stringSequence)
const;
159 {
"MainWindow/aCheckCardUpdates",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Check for Card Updates..."),
162 {
"MainWindow/aConnect",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Connect..."),
165 {
"MainWindow/aDisconnect",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Disconnect"),
170 {
"MainWindow/aFullScreen",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Full screen"),
173 {
"MainWindow/aRegister",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Register..."),
176 {
"MainWindow/aSettings",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Settings..."),
179 {
"MainWindow/aSinglePlayer",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Start a Local Game..."),
182 {
"MainWindow/aWatchReplay",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Watch Replay..."),
185 {
"MainWindow/aStatusBar",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Show Status Bar"),
188 {
"TabDeckEditor/aAnalyzeDeck",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Analyze Deck (deckstats.net)"),
191 {
"TabDeckEditor/aAnalyzeDeckTappedout",
192 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Analyze Deck (tappedout.net)"),
195 {
"TabDeckEditor/aClearFilterAll",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Clear All Filters"),
198 {
"TabDeckEditor/aClearFilterOne",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Clear Selected Filter"),
201 {
"TabDeckEditor/aClose",
203 {
"TabDeckEditor/aDecrement",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card"),
206 {
"TabDeckEditor/aManageSets",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Manage Sets..."),
209 {
"TabDeckEditor/aEditTokens",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Edit Custom Tokens..."),
212 {
"TabDeckEditor/aExportDeckDecklist",
213 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Export Deck (decklist.org)"),
216 {
"TabDeckEditor/aExportDeckDecklistXyz",
217 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Export Deck (decklist.xyz)"),
220 {
"TabDeckEditor/aIncrement",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card"),
223 {
"TabDeckEditor/aLoadDeck",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load Deck..."),
226 {
"TabDeckEditor/aLoadDeckFromWebsite",
227 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load deck from online service..."),
230 {
"TabDeckEditor/aLoadDeckFromClipboard",
231 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load Deck from Clipboard..."),
234 {
"TabDeckEditor/aEditDeckInClipboard",
235 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Edit Deck in Clipboard, Annotated"),
238 {
"TabDeckEditor/aEditDeckInClipboardRaw",
239 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Edit Deck in Clipboard"),
242 {
"TabDeckEditor/aNewDeck",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"New Deck"),
245 {
"TabDeckEditor/aOpenCustomFolder",
246 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Open Custom Pictures Folder"),
249 {
"TabDeckEditor/aPrintDeck",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Print Deck..."),
252 {
"TabDeckEditor/aRemoveCard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Delete Card"),
255 {
"TabDeckEditor/aResetLayout",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reset Layout"),
258 {
"TabDeckEditor/aSaveDeck",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Save Deck"),
261 {
"TabDeckEditor/aSaveDeckAs",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Save Deck as..."),
264 {
"TabDeckEditor/aSaveDeckToClipboard",
265 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Save Deck to Clipboard, Annotated"),
268 {
"TabDeckEditor/aSaveDeckToClipboardNoSetInfo",
269 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Save Deck to Clipboard, Annotated (No Set Info)"),
272 {
"TabDeckEditor/aSaveDeckToClipboardRaw",
273 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Save Deck to Clipboard"),
276 {
"TabDeckEditor/aSaveDeckToClipboardRawNoSetInfo",
277 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Save Deck to Clipboard (No Set Info)"),
280 {
"DeckViewContainer/loadLocalButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load Local Deck..."),
283 {
"DeckViewContainer/loadRemoteButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load Remote Deck..."),
286 {
"DeckViewContainer/loadFromClipboardButton",
287 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load Deck from Clipboard..."),
290 {
"DeckViewContainer/loadFromWebsiteButton",
291 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Load from website..."),
294 {
"DeckViewContainer/unloadDeckButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Unload Deck"),
297 {
"DeckViewContainer/readyStartButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Ready to Start"),
300 {
"DeckViewContainer/sideboardLockButton",
301 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Toggle Sideboard Lock"),
304 {
"DeckViewContainer/forceStartGameButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Force Start"),
307 {
"Player/aCCMagenta",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card Counter (F)"),
310 {
"Player/aRCMagenta",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card Counter (F)"),
313 {
"Player/aSCMagenta",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Card Counters (F)..."),
316 {
"Player/aCCPurple",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card Counter (E)"),
319 {
"Player/aRCPurple",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card Counter (E)"),
322 {
"Player/aSCPurple",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Card Counters (E)..."),
325 {
"Player/aCCCyan",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card Counter(D)"),
328 {
"Player/aRCCyan",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card Counter (D)"),
331 {
"Player/aSCCyan",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Card Counters (D)..."),
334 {
"Player/aCCGreen",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card Counter (C)"),
337 {
"Player/aRCGreen",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card Counter (C)"),
340 {
"Player/aSCGreen",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Card Counters (C)..."),
343 {
"Player/aCCYellow",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card Counter (B)"),
346 {
"Player/aRCYellow",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card Counter (B)"),
349 {
"Player/aSCYellow",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Card Counters (B)..."),
352 {
"Player/aCCRed",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Card Counter (A)"),
355 {
"Player/aRCRed",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Card Counter (A)"),
358 {
"Player/aSCRed",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Card Counters (A)..."),
361 {
"Player/aInc",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Life Counter"),
364 {
"Player/aDec",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Life Counter"),
367 {
"Player/aSet",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Life Counters..."),
370 {
"Player/aIncCounter_w",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add White Counter"),
373 {
"Player/aDecCounter_w",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove White Counter"),
376 {
"Player/aSetCounter_w",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set White Counters..."),
379 {
"Player/aIncCounter_u",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Blue Counter"),
382 {
"Player/aDecCounter_u",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Blue Counter"),
385 {
"Player/aSetCounter_u",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Blue Counters..."),
388 {
"Player/aIncCounter_b",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Black Counter"),
391 {
"Player/aDecCounter_b",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Black Counter"),
394 {
"Player/aSetCounter_b",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Black Counters..."),
397 {
"Player/aIncCounter_r",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Red Counter"),
400 {
"Player/aDecCounter_r",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Red Counter"),
403 {
"Player/aSetCounter_r",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Red Counters..."),
406 {
"Player/aIncCounter_g",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Green Counter"),
409 {
"Player/aDecCounter_g",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Green Counter"),
412 {
"Player/aSetCounter_g",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Green Counters..."),
415 {
"Player/aIncCounter_x",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Colorless Counter"),
418 {
"Player/aDecCounter_x",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Colorless Counter"),
421 {
"Player/aSetCounter_x",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Colorless Counters..."),
424 {
"Player/aIncCounter_storm",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Other Counter"),
427 {
"Player/aDecCounter_storm",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Other Counter"),
430 {
"Player/aSetCounter_storm",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Other Counters..."),
433 {
"Player/aIncrementAllCardCounters",
434 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Increment all card counters"),
437 {
"Player/aIncP",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Power (+1/+0)"),
440 {
"Player/aDecP",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Power (-1/-0)"),
443 {
"Player/aFlowP",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Move Toughness to Power (+1/-1)"),
446 {
"Player/aIncT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Toughness (+0/+1)"),
449 {
"Player/aDecT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Toughness (-0/-1)"),
452 {
"Player/aFlowT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Move Power to Toughness (-1/+1)"),
455 {
"Player/aIncPT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Add Power and Toughness (+1/+1)"),
458 {
"Player/aDecPT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Power and Toughness (-1/-1)"),
461 {
"Player/aSetPT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Power and Toughness..."),
464 {
"Player/aResetPT",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reset Power and Toughness"),
467 {
"Player/phase0",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Untap"),
474 {
"Player/phase3",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"First Main Phase"),
477 {
"Player/phase4",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Start Combat"),
486 {
"Player/phase8",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"End Combat"),
489 {
"Player/phase9",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Second Main Phase"),
494 {
"Player/aNextPhase",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Next Phase"),
497 {
"Player/aNextPhaseAction",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Next Phase Action"),
500 {
"Player/aNextTurn",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Next Turn"),
503 {
"Player/aHide",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Hide Card in Reveal Window"),
506 {
"Player/aTap",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Tap / Untap Card"),
509 {
"Player/aUntapAll",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Untap All"),
512 {
"Player/aDoesntUntap",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Toggle Skip Untapping"),
515 {
"Player/aFlip",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Turn Card Over"),
518 {
"Player/aPeek",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Peek Card"),
521 {
"Player/aPlay",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Play Card"),
524 {
"Player/aPlayFacedown",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Play Card, Face Down"),
527 {
"Player/aAttach",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Attach Card..."),
530 {
"Player/aUnattach",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Unattach Card"),
533 {
"Player/aClone",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Clone Card"),
536 {
"Player/aCreateToken",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Create Token..."),
539 {
"Player/aCreateRelatedTokens",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Create All Related Tokens"),
542 {
"Player/aCreateAnotherToken",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Create Another Token"),
545 {
"Player/aSetAnnotation",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Set Annotation..."),
548 {
"Player/aReduceLifeByPower",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reduce Life by Power"),
551 {
"Player/aSelectAll",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Select All Cards in Zone"),
554 {
"Player/aSelectRow",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Select All Cards in Row"),
557 {
"Player/aSelectColumn",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Select All Cards in Column"),
560 {
"Player/aRevealToAll",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reveal Selected Cards to All Players"),
563 {
"Player/aMoveToBottomLibrary",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Bottom of Library"),
566 {
"Player/aMoveToExile",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Exile"),
569 {
"Player/aMoveToGraveyard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard"),
572 {
"Player/aMoveToHand",
574 {
"Player/aMoveToTopLibrary",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Top of Library"),
577 {
"Player/aMoveToTable",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Battlefield"),
582 {
"Player/aViewGraveyard",
584 {
"Player/aViewLibrary",
588 {
"Player/aViewSideboard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Sideboard"),
591 {
"Player/aViewTopCards",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Top Cards of Library"),
594 {
"Player/aViewBottomCards",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Bottom Cards of Library"),
597 {
"Player/aCloseMostRecentZoneView",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Close Recent View"),
600 {
"Player/aMoveTopToPlay",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Stack"),
603 {
"Player/aMoveTopToPlayFaceDown",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Battlefield, Face Down"),
606 {
"Player/aMoveTopCardToGraveyard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard"),
609 {
"Player/aMoveTopCardsToGraveyard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard (Multiple)"),
612 {
"Player/aMoveTopCardsToGraveyardFaceDown",
613 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard (Multiple), Face Down"),
616 {
"Player/aMoveTopCardToExile",
618 {
"Player/aMoveTopCardsToExile",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Exile (Multiple)"),
621 {
"Player/aMoveTopCardsToExileFaceDown",
622 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Exile (Multiple), Face Down"),
625 {
"Player/aMoveTopCardsUntil",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Stack Until Found"),
628 {
"Player/aMoveTopCardToBottom",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Bottom of Library"),
631 {
"Player/aMoveBottomToPlay",
633 {
"Player/aMoveBottomToPlayFaceDown",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Battlefield, Face Down"),
636 {
"Player/aMoveBottomCardToGrave",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard"),
639 {
"Player/aMoveBottomCardsToGrave",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard (Multiple)"),
642 {
"Player/aMoveBottomCardsToGraveFaceDown",
643 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Graveyard (Multiple), Face Down"),
646 {
"Player/aMoveBottomCardToExile",
648 {
"Player/aMoveBottomCardsToExile",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Exile (Multiple)"),
651 {
"Player/aMoveBottomCardsToExileFaceDown",
652 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Exile (Multiple), Face Down"),
655 {
"Player/aMoveBottomCardToTop",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Top of Library"),
658 {
"Player/aDrawBottomCard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Draw Bottom Card"),
661 {
"Player/aDrawBottomCards",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Draw Multiple Cards from Bottom..."),
664 {
"Player/aDrawArrow",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Draw Arrow..."),
667 {
"Player/aRemoveLocalArrows",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Remove Local Arrows"),
670 {
"Player/aLeaveGame",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Leave Game"),
675 {
"Player/aRollDie",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Roll Dice..."),
678 {
"Player/aFlipCoin",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Flip Coin"),
681 {
"Player/aShuffle",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Shuffle Library"),
684 {
"Player/aShuffleTopCards",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Shuffle Top Cards of Library"),
687 {
"Player/aShuffleBottomCards",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Shuffle Bottom Cards of Library"),
690 {
"Player/aMulligan",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Mulligan"),
693 {
"Player/aMulliganSame",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Mulligan (Same hand size)"),
696 {
"Player/aMulliganMinusOne",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Mulligan (Hand size - 1)"),
699 {
"Player/aDrawCard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Draw a Card"),
702 {
"Player/aDrawCards",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Draw Multiple Cards..."),
705 {
"Player/aUndoDraw",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Undo Draw"),
708 {
"Player/aAlwaysRevealTopCard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Always Reveal Top Card"),
711 {
"Player/aAlwaysLookAtTopCard",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Always Look At Top Card"),
714 {
"Player/aSortHandByName",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Sort Hand by Name"),
717 {
"Player/aSortHandByType",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Sort Hand by Type"),
720 {
"Player/aSortHandByManaValue",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Sort Hand by Mana Value"),
723 {
"Player/aRevealHandToAll",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reveal Hand to All Players"),
726 {
"Player/aRevealRandomHandCardToAll",
727 ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reveal Random Card to All Players"),
730 {
"Player/aRotateViewCW",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Rotate View Clockwise"),
733 {
"Player/aRotateViewCCW",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Rotate View Counterclockwise"),
736 {
"Player/unfocusTextBox",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Unfocus Text Box"),
739 {
"Player/aFocusChat",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Focus Chat"),
742 {
"tab_room/aClearChat",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Clear Chat"),
745 {
"Player/aResetLayout",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Reset Layout"),
748 {
"DlgLoadDeckFromClipboard/refreshButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Refresh"),
751 {
"Replays/aSkipForward",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Skip Forward"),
754 {
"Replays/aSkipBackward",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Skip Backward"),
757 {
"Replays/aSkipForwardBig",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Skip Forward by a lot"),
760 {
"Replays/aSkipBackwardBig",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Skip Backward by a lot"),
763 {
"Replays/playButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Play/Pause"),
766 {
"Replays/fastForwardButton",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Toggle Fast Forward"),
769 {
"Tabs/aTabDeckEditor",
773 {
"Tabs/aTabVisualDeckStorage",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Visual Deck Storage"),
776 {
"Tabs/aTabDeckStorage",
784 {
"Tabs/aTabAdmin",
ShortcutKey(QT_TRANSLATE_NOOP(
"shortcutsTab",
"Administration"),
Definition shortcuts_settings.h:18
static QString getGroupName(ShortcutGroup::Groups group)
Definition shortcuts_settings.h:44
Groups
Definition shortcuts_settings.h:21
@ Game_Lobby
Definition shortcuts_settings.h:24
@ Tabs
Definition shortcuts_settings.h:41
@ Card_Counters
Definition shortcuts_settings.h:25
@ Gameplay
Definition shortcuts_settings.h:34
@ Player_Counters
Definition shortcuts_settings.h:26
@ Move_selected
Definition shortcuts_settings.h:30
@ View
Definition shortcuts_settings.h:31
@ Move_top
Definition shortcuts_settings.h:32
@ Playing_Area
Definition shortcuts_settings.h:29
@ Hand
Definition shortcuts_settings.h:36
@ Game_window
Definition shortcuts_settings.h:38
@ Deck_Editor
Definition shortcuts_settings.h:23
@ Main_Window
Definition shortcuts_settings.h:22
@ Drawing
Definition shortcuts_settings.h:35
@ Replays
Definition shortcuts_settings.h:40
@ Power_Toughness
Definition shortcuts_settings.h:27
@ Chat_room
Definition shortcuts_settings.h:37
@ Game_Phases
Definition shortcuts_settings.h:28
@ Move_bottom
Definition shortcuts_settings.h:33
@ Load_deck
Definition shortcuts_settings.h:39
Definition shortcuts_settings.h:94
void setSequence(const QList &_sequence)
Definition shortcuts_settings.h:99
QString getGroupName() const
Definition shortcuts_settings.h:107
QString name
Definition shortcuts_settings.h:113
ShortcutKey(const QString &_name=QString(), QList _sequence=QList(), ShortcutGroup::Groups _group=ShortcutGroup::Main_Window)
Definition shortcuts_settings.cpp:9
QString getName() const
Definition shortcuts_settings.h:103
ShortcutGroup::Groups group
Definition shortcuts_settings.h:114
void resetAllShortcuts()
Definition shortcuts_settings.cpp:197
void migrateShortcuts()
Migrates legacy shortcut key names to current naming scheme.
Definition shortcuts_settings.cpp:74
ShortcutKey getDefaultShortcut(const QString &name) const
Definition shortcuts_settings.cpp:109
ShortcutsSettings(const QString &settingsFilePath, QObject *parent=nullptr)
Definition shortcuts_settings.cpp:14
bool isValid(const QString &name, const QString &sequences) const
Definition shortcuts_settings.cpp:239
QString settingsFilePath
Definition shortcuts_settings.h:152
QString getShortcutFriendlyName(const QString &shortcutName) const
Definition shortcuts_settings.cpp:145
bool isKeyAllowed(const QString &name, const QString &sequences) const
Definition shortcuts_settings.cpp:219
QList< QString > getAllShortcutKeys() const
Definition shortcuts_settings.h:129
void clearAllShortcuts()
Definition shortcuts_settings.cpp:207
QKeySequence getSingleShortcut(const QString &name) const
Definition shortcuts_settings.cpp:130
QStringList findOverlaps(const QString &name, const QString &sequences) const
Definition shortcuts_settings.cpp:250
QHash< QString, ShortcutKey > shortCuts
Definition shortcuts_settings.h:153
void setShortcuts(const QString &name, const QList< QKeySequence > &Sequence)
Definition shortcuts_settings.cpp:176
const QString custom
Definition shortcuts_settings.h:151
QString getDefaultShortcutString(const QString &name) const
Definition shortcuts_settings.cpp:135
const QHash< QString, ShortcutKey > defaultShortCuts
Definition shortcuts_settings.h:158
QString getShortcutString(const QString &name) const
Definition shortcuts_settings.cpp:140
ShortcutKey getShortcut(const QString &name) const
Definition shortcuts_settings.cpp:114
QString stringifySequence(const QList< QKeySequence > &Sequence) const
Definition shortcuts_settings.cpp:156
QList< QKeySequence > parseSequenceString(const QString &stringSequence) const
Definition shortcuts_settings.cpp:166
const QChar sep
Definition shortcuts_settings.h:150
Q_LOGGING_CATEGORY(ShortcutsSettingsLog, "shortcuts_settings")