grammar fixes (#3727)

This commit is contained in:
ebbit1q 2019-06-04 23:33:36 +02:00 committed by Zach H
parent 1d8fb79e11
commit 6ac3852995
6 changed files with 403 additions and 354 deletions

View file

@ -29,7 +29,7 @@ DlgForgotPasswordReset::DlgForgotPasswordReset(QWidget *parent) : QDialog(parent
if (settingsCache->servers().getFPHostname().isEmpty() && settingsCache->servers().getFPPort().isEmpty() && if (settingsCache->servers().getFPHostname().isEmpty() && settingsCache->servers().getFPPort().isEmpty() &&
settingsCache->servers().getFPPlayerName().isEmpty()) { settingsCache->servers().getFPPlayerName().isEmpty()) {
QMessageBox::warning(this, tr("Forgot Password Reset Warning"), QMessageBox::warning(this, tr("Forgot Password Reset Warning"),
tr("Opps, looks like something has gone wrong. Please re-start the forgot password " tr("Oops, looks like something has gone wrong. Please re-start the forgot password "
"process by using the forgot password button on the connection screen.")); "process by using the forgot password button on the connection screen."));
reject(); reject();
} }

View file

@ -126,359 +126,408 @@ signals:
private: private:
const QChar sep = ';'; const QChar sep = ';';
const QString custom = "Custom"; const QString custom = "Custom"; // name of custom group in shortCutsFile
QString settingsFilePath; QString settingsFilePath;
QHash<QString, ShortcutKey> shortCuts; QHash<QString, ShortcutKey> shortCuts;
QString stringifySequence(const QList<QKeySequence> &Sequence) const; QString stringifySequence(const QList<QKeySequence> &Sequence) const;
QList<QKeySequence> parseSequenceString(const QString &stringSequence) const; QList<QKeySequence> parseSequenceString(const QString &stringSequence) const;
typedef ShortcutKey SK;
const QHash<QString, ShortcutKey> defaultShortCuts = { const QHash<QString, ShortcutKey> defaultShortCuts = {
{"MainWindow/aCheckCardUpdates", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Check for card updates"), {"MainWindow/aCheckCardUpdates", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Check for card updates"),
parseSequenceString(""),
ShortcutGroup::Main_Window)},
{"MainWindow/aConnect", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Connect"),
parseSequenceString("Ctrl+L"),
ShortcutGroup::Main_Window)},
{"MainWindow/aDeckEditor", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Deck editor"),
parseSequenceString(""),
ShortcutGroup::Main_Window)},
{"MainWindow/aDisconnect", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Disconnect"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Main_Window)}, ShortcutGroup::Main_Window)},
{"MainWindow/aConnect",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Connect"), parseSequenceString("Ctrl+L"), ShortcutGroup::Main_Window)},
{"MainWindow/aDeckEditor",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Deck editor"), parseSequenceString(""), ShortcutGroup::Main_Window)},
{"MainWindow/aDisconnect",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Disconnect"), parseSequenceString(""), ShortcutGroup::Main_Window)},
{"MainWindow/aExit", {"MainWindow/aExit",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Exit"), parseSequenceString(""), ShortcutGroup::Main_Window)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Exit"), parseSequenceString(""), ShortcutGroup::Main_Window)},
{"MainWindow/aFullScreen", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Full screen"), {"MainWindow/aFullScreen", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Full screen"),
parseSequenceString("Ctrl+F"), parseSequenceString("Ctrl+F"),
ShortcutGroup::Main_Window)}, ShortcutGroup::Main_Window)},
{"MainWindow/aRegister", {"MainWindow/aRegister", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Register"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Register"), parseSequenceString(""), ShortcutGroup::Main_Window)}, parseSequenceString(""),
{"MainWindow/aSettings", ShortcutGroup::Main_Window)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Settings"), parseSequenceString(""), ShortcutGroup::Main_Window)}, {"MainWindow/aSettings", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Settings"),
{"MainWindow/aSinglePlayer", parseSequenceString(""),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Local gameplay"), parseSequenceString(""), ShortcutGroup::Main_Window)}, ShortcutGroup::Main_Window)},
{"MainWindow/aWatchReplay", {"MainWindow/aSinglePlayer", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Start local game"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Watch replay"), parseSequenceString(""), ShortcutGroup::Main_Window)}, parseSequenceString(""),
{"TabDeckEditor/aAnalyzeDeck", ShortcutGroup::Main_Window)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Analyze deck"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, {"MainWindow/aWatchReplay", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Watch replay"),
{"TabDeckEditor/aClearFilterAll", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Clear all filters"), parseSequenceString(""),
ShortcutGroup::Main_Window)},
{"TabDeckEditor/aAnalyzeDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Analyze deck"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aClearFilterOne", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Clear selected filter"), {"TabDeckEditor/aClearFilterAll", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Clear all filters"),
parseSequenceString(""),
ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aClearFilterOne", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Clear selected filter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aClose", {"TabDeckEditor/aClose",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Close"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Close"), parseSequenceString(""), ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aDecrement", {"TabDeckEditor/aDecrement", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove card"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove card"), parseSequenceString("-"), ShortcutGroup::Deck_Editor)}, parseSequenceString("-"),
{"TabDeckEditor/aManageSets", ShortcutGroup::Deck_Editor)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Manage sets"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, {"TabDeckEditor/aManageSets", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Manage sets"),
{"TabDeckEditor/aEditTokens", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Edit custom tokens"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aExportDeckDecklist", {"TabDeckEditor/aEditTokens", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Edit custom tokens"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Export deck"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, parseSequenceString(""),
{"TabDeckEditor/aIncrement", ShortcutGroup::Deck_Editor)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add card"), parseSequenceString("+"), ShortcutGroup::Deck_Editor)}, {"TabDeckEditor/aExportDeckDecklist", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Export deck"),
{"TabDeckEditor/aLoadDeck", parseSequenceString(""),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Load deck"), parseSequenceString("Ctrl+O"), ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aLoadDeckFromClipboard", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Load deck (clipboard)"), {"TabDeckEditor/aIncrement", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add card"),
parseSequenceString("+"),
ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aLoadDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load deck"),
parseSequenceString("Ctrl+O"),
ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aLoadDeckFromClipboard",
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load deck from clipboard"),
parseSequenceString("Ctrl+Shift+V"), parseSequenceString("Ctrl+Shift+V"),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aNewDeck", {"TabDeckEditor/aNewDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "New deck"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "New deck"), parseSequenceString("Ctrl+N"), ShortcutGroup::Deck_Editor)}, parseSequenceString("Ctrl+N"),
{"TabDeckEditor/aOpenCustomFolder", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Open custom pic folder"), ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aOpenCustomFolder", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Open custom pic folder"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aPrintDeck", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Print deck"), {"TabDeckEditor/aPrintDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Print deck"),
parseSequenceString("Ctrl+P"), parseSequenceString("Ctrl+P"),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aRemoveCard", {"TabDeckEditor/aRemoveCard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Delete card"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Delete card"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, parseSequenceString(""),
{"TabDeckEditor/aResetLayout", ShortcutGroup::Deck_Editor)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Reset layout"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, {"TabDeckEditor/aResetLayout", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Reset layout"),
{"TabDeckEditor/aSaveDeck", parseSequenceString(""),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck"), parseSequenceString("Ctrl+S"), ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aSaveDeckAs", {"TabDeckEditor/aSaveDeck", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck as"), parseSequenceString(""), ShortcutGroup::Deck_Editor)}, parseSequenceString("Ctrl+S"),
{"TabDeckEditor/aSaveDeckToClipboard", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck (clipboard; annotated)"), ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aSaveDeckAs", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck as"),
parseSequenceString(""),
ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aSaveDeckToClipboard",
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck to clipboard annotated"),
parseSequenceString("Ctrl+Shift+C"), parseSequenceString("Ctrl+Shift+C"),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"TabDeckEditor/aSaveDeckToClipboardRaw", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck (clipboard, raw)"), {"TabDeckEditor/aSaveDeckToClipboardRaw",
ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Save deck to clipboard raw"),
parseSequenceString("Ctrl+Shift+R"), parseSequenceString("Ctrl+Shift+R"),
ShortcutGroup::Deck_Editor)}, ShortcutGroup::Deck_Editor)},
{"DeckViewContainer/loadLocalButton", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Load local deck"), {"DeckViewContainer/loadLocalButton", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load local deck"),
parseSequenceString("Ctrl+O"), parseSequenceString("Ctrl+O"),
ShortcutGroup::Game_Lobby)}, ShortcutGroup::Game_Lobby)},
{"DeckViewContainer/loadRemoteButton", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Load remote deck"), {"DeckViewContainer/loadRemoteButton", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Load remote deck"),
parseSequenceString("Ctrl+Alt+O"), parseSequenceString("Ctrl+Alt+O"),
ShortcutGroup::Game_Lobby)}, ShortcutGroup::Game_Lobby)},
{"Player/aCCGreen", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add green counter"), {"Player/aCCGreen", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add green counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aRCGreen", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove green counter"), {"Player/aRCGreen", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove green counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aSCGreen", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set green counters"), {"Player/aSCGreen", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set green counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aCCYellow", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add yellow counter"), {"Player/aCCYellow", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add yellow counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aRCYellow", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove yellow counter"), {"Player/aRCYellow", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove yellow counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aSCYellow", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set yellow counters"), {"Player/aSCYellow", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set yellow counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aCCRed", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add red counter"), {"Player/aCCRed", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add red counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aRCRed", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove red counter"), {"Player/aRCRed", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove red counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aSCRed", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set red counters"), {"Player/aSCRed", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set red counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Card_Counters)}, ShortcutGroup::Card_Counters)},
{"Player/aInc", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add life counter"), {"Player/aInc", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add life counter"),
parseSequenceString("F12"), parseSequenceString("F12"),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDec", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove life counter"), {"Player/aDec", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove life counter"),
parseSequenceString("F11"), parseSequenceString("F11"),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSet", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set life counters"), {"Player/aSet", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set life counters"),
parseSequenceString("Ctrl+L"), parseSequenceString("Ctrl+L"),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_w", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add white counter"), {"Player/aIncCounter_w", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add white counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_w", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove white counter"), {"Player/aDecCounter_w", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove white counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_w", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set white counters"), {"Player/aSetCounter_w", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set white counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_u", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add blue counter"), {"Player/aIncCounter_u", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add blue counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_u", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove blue counter"), {"Player/aDecCounter_u", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove blue counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_u", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set blue counters"), {"Player/aSetCounter_u", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set blue counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_b", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add black counter"), {"Player/aIncCounter_b", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add black counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_b", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove black counter"), {"Player/aDecCounter_b", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove black counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_b", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set black counters"), {"Player/aSetCounter_b", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set black counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_r", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add red counter"), {"Player/aIncCounter_r", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add red counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_r", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove red counter"), {"Player/aDecCounter_r", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove red counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_r", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set red counters"), {"Player/aSetCounter_r", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set red counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_g", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add green counter"), {"Player/aIncCounter_g", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add green counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_g", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove green counter"), {"Player/aDecCounter_g", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove green counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_g", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set green counters"), {"Player/aSetCounter_g", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set green counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_x", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add X counter"), {"Player/aIncCounter_x", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add colorless counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_x", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove X counter"), {"Player/aDecCounter_x", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove colorless counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_x", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set X counter"), {"Player/aSetCounter_x", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set colorless counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncCounter_storm", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add storm counter"), {"Player/aIncCounter_storm", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add storm counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aDecCounter_storm", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove storm counter"), {"Player/aDecCounter_storm", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove storm counter"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aSetCounter_storm", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set storm counters"), {"Player/aSetCounter_storm", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set storm counters"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Player_Counters)}, ShortcutGroup::Player_Counters)},
{"Player/aIncP", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add power (+1/+0)"), {"Player/aIncP", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add power (+1/+0)"),
parseSequenceString("Ctrl++"), parseSequenceString("Ctrl++"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aDecP", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove power (-1/-0)"), {"Player/aDecP", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove power (-1/-0)"),
parseSequenceString("Ctrl+-"), parseSequenceString("Ctrl+-"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aFlowP", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Move to power (+1/-1)"), {"Player/aFlowP", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Move toughness to power (+1/-1)"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aIncT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add toughness (+0/+1)"), {"Player/aIncT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add toughness (+0/+1)"),
parseSequenceString("Alt++"), parseSequenceString("Alt++"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aDecT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove toughness (-0/-1)"), {"Player/aDecT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove toughness (-0/-1)"),
parseSequenceString("Alt+-"), parseSequenceString("Alt+-"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aFlowT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Move to toughness (-1/+1)"), {"Player/aFlowT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Move power to toughness (-1/+1)"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aIncPT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Add power and toughness (+1/+1)"), {"Player/aIncPT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Add power and toughness (+1/+1)"),
parseSequenceString("Ctrl+Alt++"), parseSequenceString("Ctrl+Alt++"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aDecPT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove power and toughness (-1/-1)"), {"Player/aDecPT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove power and toughness (-1/-1)"),
parseSequenceString("Ctrl+Alt+-"), parseSequenceString("Ctrl+Alt+-"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aSetPT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set power and toughness"), {"Player/aSetPT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set power and toughness"),
parseSequenceString("Ctrl+P"), parseSequenceString("Ctrl+P"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/aResetPT", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Reset power and toughness"), {"Player/aResetPT", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Reset power and toughness"),
parseSequenceString("Ctrl+Alt+0"), parseSequenceString("Ctrl+Alt+0"),
ShortcutGroup::Power_Toughness)}, ShortcutGroup::Power_Toughness)},
{"Player/phase0", {"Player/phase0", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Untap"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Untap"), parseSequenceString("F5"), ShortcutGroup::Game_Phases)}, parseSequenceString("F5"),
ShortcutGroup::Game_Phases)},
{"Player/phase1", {"Player/phase1",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Upkeep"), parseSequenceString(""), ShortcutGroup::Game_Phases)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Upkeep"), parseSequenceString(""), ShortcutGroup::Game_Phases)},
{"Player/phase2", {"Player/phase2",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Draw"), parseSequenceString("F6"), ShortcutGroup::Game_Phases)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Draw"), parseSequenceString("F6"), ShortcutGroup::Game_Phases)},
{"Player/phase3", {"Player/phase3", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "First main phase"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Main 1"), parseSequenceString("F7"), ShortcutGroup::Game_Phases)}, parseSequenceString("F7"),
{"Player/phase4", ShortcutGroup::Game_Phases)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Start combat"), parseSequenceString("F8"), ShortcutGroup::Game_Phases)}, {"Player/phase4", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Start combat"),
parseSequenceString("F8"),
ShortcutGroup::Game_Phases)},
{"Player/phase5", {"Player/phase5",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Attack"), parseSequenceString(""), ShortcutGroup::Game_Phases)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Attack"), parseSequenceString(""), ShortcutGroup::Game_Phases)},
{"Player/phase6", {"Player/phase6",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Block"), parseSequenceString(""), ShortcutGroup::Game_Phases)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Block"), parseSequenceString(""), ShortcutGroup::Game_Phases)},
{"Player/phase7", {"Player/phase7",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Damage"), parseSequenceString(""), ShortcutGroup::Game_Phases)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Damage"), parseSequenceString(""), ShortcutGroup::Game_Phases)},
{"Player/phase8", {"Player/phase8", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "End combat"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "End combat"), parseSequenceString(""), ShortcutGroup::Game_Phases)}, parseSequenceString(""),
{"Player/phase9", ShortcutGroup::Game_Phases)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Main 2"), parseSequenceString("F9"), ShortcutGroup::Game_Phases)}, {"Player/phase9", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Second main phase"),
parseSequenceString("F9"),
ShortcutGroup::Game_Phases)},
{"Player/phase10", {"Player/phase10",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "End"), parseSequenceString("F10"), ShortcutGroup::Game_Phases)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "End"), parseSequenceString("F10"), ShortcutGroup::Game_Phases)},
{"Player/aNextPhase", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Next phase"), {"Player/aNextPhase", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Next phase"),
parseSequenceString("Ctrl+Space;Tab"), parseSequenceString("Ctrl+Space;Tab"),
ShortcutGroup::Game_Phases)}, ShortcutGroup::Game_Phases)},
{"Player/aNextPhaseAction", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Next phase action"), {"Player/aNextPhaseAction", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Next phase action"),
parseSequenceString("Shift+Tab"), parseSequenceString("Shift+Tab"),
ShortcutGroup::Game_Phases)}, ShortcutGroup::Game_Phases)},
{"Player/aNextTurn", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Next turn"), {"Player/aNextTurn", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Next turn"),
parseSequenceString("Ctrl+Return;Ctrl+Enter"), parseSequenceString("Ctrl+Return;Ctrl+Enter"),
ShortcutGroup::Game_Phases)}, ShortcutGroup::Game_Phases)},
{"Player/aTap", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Tap / Untap Card"), {"Player/aTap", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Tap / Untap Card"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aUntapAll", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Untap all"), {"Player/aUntapAll", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Untap all"),
parseSequenceString("Ctrl+U"), parseSequenceString("Ctrl+U"),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aDoesntUntap", {"Player/aDoesntUntap", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Toggle untap"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Toggle untap"), parseSequenceString(""), ShortcutGroup::Playing_Area)}, parseSequenceString(""),
{"Player/aFlip", ShortcutGroup::Playing_Area)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Flip card"), parseSequenceString(""), ShortcutGroup::Playing_Area)}, {"Player/aFlip", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Turn card over"),
{"Player/aPeek", parseSequenceString(""),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Peek card"), parseSequenceString(""), ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aPlay", {"Player/aPeek", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Peek card"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Play card"), parseSequenceString(""), ShortcutGroup::Playing_Area)}, parseSequenceString(""),
{"Player/aAttach", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Attach card"), ShortcutGroup::Playing_Area)},
{"Player/aPlay", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Play card"),
parseSequenceString(""),
ShortcutGroup::Playing_Area)},
{"Player/aAttach", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Attach card"),
parseSequenceString("Ctrl+Alt+A"), parseSequenceString("Ctrl+Alt+A"),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aUnattach", {"Player/aUnattach", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Unattach card"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Unattach card"), parseSequenceString(""), ShortcutGroup::Playing_Area)}, parseSequenceString(""),
{"Player/aClone", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Clone card"), ShortcutGroup::Playing_Area)},
{"Player/aClone", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Clone card"),
parseSequenceString("Ctrl+J"), parseSequenceString("Ctrl+J"),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aCreateToken", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Create token"), {"Player/aCreateToken", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Create token"),
parseSequenceString("Ctrl+T"), parseSequenceString("Ctrl+T"),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aCreateRelatedTokens", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Create all related tokens"), {"Player/aCreateRelatedTokens", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Create all related tokens"),
parseSequenceString("Ctrl+Shift+T"), parseSequenceString("Ctrl+Shift+T"),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aCreateAnotherToken", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Create another token"), {"Player/aCreateAnotherToken", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Create another token"),
parseSequenceString("Ctrl+G"), parseSequenceString("Ctrl+G"),
ShortcutGroup::Playing_Area)}, ShortcutGroup::Playing_Area)},
{"Player/aSetAnnotation", {"Player/aSetAnnotation", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Set annotation"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Set annotation"), parseSequenceString(""), ShortcutGroup::Playing_Area)}, parseSequenceString(""),
{"Player/aMoveToBottomLibrary", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Bottom library"), ShortcutGroup::Playing_Area)},
{"Player/aMoveToBottomLibrary", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Bottom library"),
parseSequenceString(""), parseSequenceString(""),
ShortcutGroup::Move_selected)}, ShortcutGroup::Move_selected)},
{"Player/aMoveToExile", {"Player/aMoveToExile", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Exile"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Exile"), parseSequenceString(""), ShortcutGroup::Move_selected)}, parseSequenceString(""),
{"Player/aMoveToGraveyard", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard"), ShortcutGroup::Move_selected)},
{"Player/aMoveToGraveyard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard"),
parseSequenceString("Ctrl+Del"), parseSequenceString("Ctrl+Del"),
ShortcutGroup::Move_selected)}, ShortcutGroup::Move_selected)},
{"Player/aMoveToHand", {"Player/aMoveToHand",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Hand"), parseSequenceString(""), ShortcutGroup::Move_selected)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Hand"), parseSequenceString(""), ShortcutGroup::Move_selected)},
{"Player/aMoveToTopLibrary", {"Player/aMoveToTopLibrary", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Top of library"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Top library"), parseSequenceString(""), ShortcutGroup::Move_selected)}, parseSequenceString(""),
{"Player/aMoveTopToPlayFaceDown", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Play face down"), ShortcutGroup::Move_selected)},
{"Player/aMoveTopToPlayFaceDown", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Play face down"),
parseSequenceString("Ctrl+Shift+E"), parseSequenceString("Ctrl+Shift+E"),
ShortcutGroup::Move_selected)}, ShortcutGroup::Move_selected)},
{"Player/aViewHand", {"Player/aViewHand",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Hand"), parseSequenceString(""), ShortcutGroup::View)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Hand"), parseSequenceString(""), ShortcutGroup::View)},
{"Player/aViewGraveyard", {"Player/aViewGraveyard",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard"), parseSequenceString("F4"), ShortcutGroup::View)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard"), parseSequenceString("F4"), ShortcutGroup::View)},
{"Player/aViewLibrary", {"Player/aViewLibrary",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Library"), parseSequenceString("F3"), ShortcutGroup::View)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Library"), parseSequenceString("F3"), ShortcutGroup::View)},
{"Player/aViewRfg", {"Player/aViewRfg",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Exile"), parseSequenceString(""), ShortcutGroup::View)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Exile"), parseSequenceString(""), ShortcutGroup::View)},
{"Player/aViewSideboard", {"Player/aViewSideboard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Sideboard"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Sideboard"), parseSequenceString("Ctrl+F3"), ShortcutGroup::View)}, parseSequenceString("Ctrl+F3"),
{"Player/aViewTopCards", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Top cards of library"), ShortcutGroup::View)},
{"Player/aViewTopCards", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Top cards of library"),
parseSequenceString("Ctrl+W"), parseSequenceString("Ctrl+W"),
ShortcutGroup::View)}, ShortcutGroup::View)},
{"Player/aCloseMostRecentZoneView", {"Player/aCloseMostRecentZoneView", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Close recent view"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Close recent view"), parseSequenceString("Esc"), ShortcutGroup::View)}, parseSequenceString("Esc"),
{"Player/aMoveTopCardToGraveyard", ShortcutGroup::View)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard Once"), parseSequenceString(""), ShortcutGroup::Move_top)}, {"Player/aMoveTopCardToGraveyard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Move to graveyard once"),
{"Player/aMoveTopCardsToGraveyard", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Graveyard Multiple"), parseSequenceString(""),
ShortcutGroup::Move_top)},
{"Player/aMoveTopCardsToGraveyard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Move multiple to graveyard"),
parseSequenceString("Ctrl+Shift+M"), parseSequenceString("Ctrl+Shift+M"),
ShortcutGroup::Move_top)}, ShortcutGroup::Move_top)},
{"Player/aMoveTopCardToExile", {"Player/aMoveTopCardToExile", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Move to exile once"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Exile Once"), parseSequenceString(""), ShortcutGroup::Move_top)}, parseSequenceString(""),
{"Player/aMoveTopCardsToExile", ShortcutGroup::Move_top)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Exile Multiple"), parseSequenceString(""), ShortcutGroup::Move_top)}, {"Player/aMoveTopCardsToExile", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Move multiple to exile"),
{"Player/aDrawArrow", parseSequenceString(""),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Draw arrow"), parseSequenceString(""), ShortcutGroup::Gameplay)}, ShortcutGroup::Move_top)},
{"Player/aRemoveLocalArrows", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Remove local arrows"), {"Player/aDrawArrow", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Draw arrow"),
parseSequenceString(""),
ShortcutGroup::Gameplay)},
{"Player/aRemoveLocalArrows", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Remove local arrows"),
parseSequenceString("Ctrl+R"), parseSequenceString("Ctrl+R"),
ShortcutGroup::Gameplay)}, ShortcutGroup::Gameplay)},
{"Player/aLeaveGame", {"Player/aLeaveGame", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Leave game"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Leave game"), parseSequenceString("Ctrl+Q"), ShortcutGroup::Gameplay)}, parseSequenceString("Ctrl+Q"),
ShortcutGroup::Gameplay)},
{"Player/aConcede", {"Player/aConcede",
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Concede"), parseSequenceString("F2"), ShortcutGroup::Gameplay)}, ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Concede"), parseSequenceString("F2"), ShortcutGroup::Gameplay)},
{"Player/aRollDie", {"Player/aRollDie", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Roll dice"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Roll dice"), parseSequenceString("Ctrl+I"), ShortcutGroup::Gameplay)}, parseSequenceString("Ctrl+I"),
{"Player/aShuffle", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Shuffle library"), ShortcutGroup::Gameplay)},
{"Player/aShuffle", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Shuffle library"),
parseSequenceString("Ctrl+S"), parseSequenceString("Ctrl+S"),
ShortcutGroup::Gameplay)}, ShortcutGroup::Gameplay)},
{"Player/aMulligan", {"Player/aMulligan", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Mulligan"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Mulligan"), parseSequenceString("Ctrl+M"), ShortcutGroup::Drawing)}, parseSequenceString("Ctrl+M"),
{"Player/aDrawCard", ShortcutGroup::Drawing)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Draw card"), parseSequenceString("Ctrl+D"), ShortcutGroup::Drawing)}, {"Player/aDrawCard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Draw a card"),
{"Player/aDrawCards", parseSequenceString("Ctrl+D"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Draw cards"), parseSequenceString("Ctrl+E"), ShortcutGroup::Drawing)}, ShortcutGroup::Drawing)},
{"Player/aUndoDraw", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Undo draw"), {"Player/aDrawCards", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Draw multiple cards"),
parseSequenceString("Ctrl+E"),
ShortcutGroup::Drawing)},
{"Player/aUndoDraw", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Undo draw"),
parseSequenceString("Ctrl+Shift+D"), parseSequenceString("Ctrl+Shift+D"),
ShortcutGroup::Drawing)}, ShortcutGroup::Drawing)},
{"Player/aAlwaysRevealTopCard", SK(QT_TRANSLATE_NOOP("shortcutsTab", "Always reveal top card"), {"Player/aAlwaysRevealTopCard", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Always reveal top card"),
parseSequenceString("Ctrl+N"), parseSequenceString("Ctrl+N"),
ShortcutGroup::Drawing)}, ShortcutGroup::Drawing)},
{"Player/aRotateViewCW", {"Player/aRotateViewCW", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Rotate view clockwise"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Rotate view CW"), parseSequenceString(""), ShortcutGroup::Drawing)}, parseSequenceString(""),
{"Player/aRotateViewCCW", ShortcutGroup::Drawing)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Rotate view CCW"), parseSequenceString(""), ShortcutGroup::Drawing)}, {"Player/aRotateViewCCW", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Rotate view counterclockwise"),
{"tab_room/aClearChat", parseSequenceString(""),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Clear chat"), parseSequenceString("F12"), ShortcutGroup::Chat_room)}, ShortcutGroup::Drawing)},
{"Player/aResetLayout", {"tab_room/aClearChat", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Clear chat"),
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Reset layout"), parseSequenceString(""), ShortcutGroup::Game_window)}, parseSequenceString("F12"),
{"DlgLoadDeckFromClipboard/refreshButton", ShortcutGroup::Chat_room)},
SK(QT_TRANSLATE_NOOP("shortcutsTab", "Refresh"), parseSequenceString("F5"), ShortcutGroup::Load_deck)}}; {"Player/aResetLayout", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Reset layout"),
parseSequenceString(""),
ShortcutGroup::Game_window)},
{"DlgLoadDeckFromClipboard/refreshButton", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Refresh"),
parseSequenceString("F5"),
ShortcutGroup::Load_deck)}};
}; };
#endif // SHORTCUTSSETTINGS_H #endif // SHORTCUTSSETTINGS_H

View file

@ -206,12 +206,12 @@ void TabServer::joinRoomFinished(const Response &r,
case Response::RespOk: case Response::RespOk:
break; break;
case Response::RespNameNotFound: case Response::RespNameNotFound:
QMessageBox::critical(this, tr("Error"), tr("Failed to join the room: it doesn't exists on the server.")); QMessageBox::critical(this, tr("Error"), tr("Failed to join the room: it doesn't exist on the server."));
return; return;
case Response::RespContextError: case Response::RespContextError:
QMessageBox::critical(this, tr("Error"), QMessageBox::critical(this, tr("Error"),
tr("The server thinks you are in the room but Cockatrice is unable to display it. " tr("The server thinks you are in the room but your client is unable to display it. "
"Try restarting Cockatrice.")); "Try restarting your client."));
return; return;
case Response::RespUserLevelTooLow: case Response::RespUserLevelTooLow:
QMessageBox::critical(this, tr("Error"), tr("You do not have the required permission to join this room.")); QMessageBox::critical(this, tr("Error"), tr("You do not have the required permission to join this room."));

View file

@ -181,7 +181,7 @@ void UserContextMenu::banUserHistory_processResponse(const Response &resp)
} else } else
QMessageBox::critical(static_cast<QWidget *>(parent()), tr("Ban History"), QMessageBox::critical(static_cast<QWidget *>(parent()), tr("Ban History"),
tr("Failed to collecting ban information.")); tr("Failed to collect ban information."));
} }
void UserContextMenu::warnUserHistory_processResponse(const Response &resp) void UserContextMenu::warnUserHistory_processResponse(const Response &resp)
@ -217,7 +217,7 @@ void UserContextMenu::warnUserHistory_processResponse(const Response &resp)
} else } else
QMessageBox::critical(static_cast<QWidget *>(parent()), tr("Warning History"), QMessageBox::critical(static_cast<QWidget *>(parent()), tr("Warning History"),
tr("Failed to collecting warning information.")); tr("Failed to collect warning information."));
} }
void UserContextMenu::adjustMod_processUserResponse(const Response &resp, const CommandContainer &commandContainer) void UserContextMenu::adjustMod_processUserResponse(const Response &resp, const CommandContainer &commandContainer)

View file

@ -410,14 +410,14 @@ void MainWindow::loginError(Response::ResponseCode r,
case Response::RespClientIdRequired: case Response::RespClientIdRequired:
QMessageBox::critical( QMessageBox::critical(
this, tr("Error"), this, tr("Error"),
tr("This server requires client ID's. Your client is either failing to generate an ID or you are " tr("This server requires client IDs. Your client is either failing to generate an ID or you are "
"running a modified client.\nPlease close and reopen your client to try again.")); "running a modified client.\nPlease close and reopen your client to try again."));
break; break;
case Response::RespContextError: case Response::RespContextError:
QMessageBox::critical(this, tr("Error"), QMessageBox::critical(this, tr("Error"),
tr("An internal error has occurred, please try closing and reopening your client and " tr("An internal error has occurred, please close and reopen Cockatrice before trying "
"try again. If the error persists try updating your client to the most recent " "again.\nIf the error persists, ensure you are running the latest version of the "
"build and if need be contact your software provider.")); "software and if needed contact the software developers."));
break; break;
case Response::RespAccountNotActivated: { case Response::RespAccountNotActivated: {
bool ok = false; bool ok = false;
@ -598,17 +598,17 @@ void MainWindow::setClientStatusTitle()
case StatusRequestingForgotPassword: case StatusRequestingForgotPassword:
setWindowTitle( setWindowTitle(
appName + " - " + appName + " - " +
tr("Requesting forgot password to %1 as %2...").arg(client->peerName()).arg(client->getUserName())); tr("Requesting forgotten password to %1 as %2...").arg(client->peerName()).arg(client->getUserName()));
break; break;
case StatusSubmitForgotPasswordChallenge: case StatusSubmitForgotPasswordChallenge:
setWindowTitle( setWindowTitle(
appName + " - " + appName + " - " +
tr("Requesting forgot password to %1 as %2...").arg(client->peerName()).arg(client->getUserName())); tr("Requesting forgotten password to %1 as %2...").arg(client->peerName()).arg(client->getUserName()));
break; break;
case StatusSubmitForgotPasswordReset: case StatusSubmitForgotPasswordReset:
setWindowTitle( setWindowTitle(
appName + " - " + appName + " - " +
tr("Requesting forgot password to %1 as %2...").arg(client->peerName()).arg(client->getUserName())); tr("Requesting forgotten password to %1 as %2...").arg(client->peerName()).arg(client->getUserName()));
break; break;
default: default:
setWindowTitle(appName); setWindowTitle(appName);
@ -1030,10 +1030,10 @@ void MainWindow::cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknow
QMessageBox msgBox; QMessageBox msgBox;
msgBox.setWindowTitle(tr("New sets found")); msgBox.setWindowTitle(tr("New sets found"));
msgBox.setIcon(QMessageBox::Question); msgBox.setIcon(QMessageBox::Question);
msgBox.setText(tr("%1 new set(s) found in the card database\n" msgBox.setText(tr("%n new set(s) found in the card database\n"
"Set code(s): %2\n" "Set code(s): %1\n"
"Do you want to enable it/them?") "Do you want to enable it/them?",
.arg(numUnknownSets) "", numUnknownSets)
.arg(unknownSetsNames.join(", "))); .arg(unknownSetsNames.join(", ")));
QPushButton *yesButton = msgBox.addButton(tr("Yes"), QMessageBox::YesRole); QPushButton *yesButton = msgBox.addButton(tr("Yes"), QMessageBox::YesRole);
@ -1313,7 +1313,7 @@ void MainWindow::forgotPasswordSuccess()
{ {
QMessageBox::information( QMessageBox::information(
this, tr("Forgot Password"), this, tr("Forgot Password"),
tr("Your password has been reset successfully, you now may log in using the new credentials.")); tr("Your password has been reset successfully, you can now log in using the new credentials."));
settingsCache->servers().setFPHostName(""); settingsCache->servers().setFPHostName("");
settingsCache->servers().setFPPort(""); settingsCache->servers().setFPPort("");
settingsCache->servers().setFPPlayerName(""); settingsCache->servers().setFPPlayerName("");

View file

@ -125,14 +125,14 @@ WndSets::WndSets(QWidget *parent) : QMainWindow(parent)
labNotes->setWordWrap(true); labNotes->setWordWrap(true);
labNotes->setTextInteractionFlags(Qt::TextBrowserInteraction); labNotes->setTextInteractionFlags(Qt::TextBrowserInteraction);
labNotes->setOpenExternalLinks(true); labNotes->setOpenExternalLinks(true);
labNotes->setText( labNotes->setText("<b>" + tr("Deck Editor") + ":</b> " +
"<b>" + tr("Deck Editor") + ":</b> " + tr("Only cards in enabled sets will appear in the card list of the deck editor") + "<br><br>" +
tr("Only cards in enabled sets will appear in the deck editor card list") + "<br><br>" + "<b>" + "<b>" + tr("Card Art") + ":</b> " + tr("Image priority is decided in the following order") +
tr("Card Art") + ":</b> " + tr("Image priority is decided in the following order") + "<ol><li>" + tr("The") + "<ol><li>" + tr("CUSTOM Folder") +
"<a href='https://github.com/Cockatrice/Cockatrice/wiki/" " (<a href='https://github.com/Cockatrice/Cockatrice/wiki/Custom-Cards-%26-Sets"
"Custom-Cards-%26-Sets#to-add-custom-art-for-cards-the-easiest-way-is-to-use-the-custom-folder'> " + "#to-add-custom-art-for-cards-the-easiest-way-is-to-use-the-custom-folder'>" +
tr("CUSTOM Folder") + "</a></li><li>" + tr("Enabled Sets (Top to Bottom)") + "</li><li>" + tr("How to use custom card art") + "</a>)</li><li>" + tr("Enabled Sets (Top to Bottom)") +
tr("Disabled Sets (Top to Bottom)") + "</li></ol>"); "</li><li>" + tr("Disabled Sets (Top to Bottom)") + "</li></ol>");
QGridLayout *hintsGrid = new QGridLayout; QGridLayout *hintsGrid = new QGridLayout;
hintsGrid->addWidget(labNotes, 0, 0); hintsGrid->addWidget(labNotes, 0, 0);