diff --git a/cockatrice/src/phasestoolbar.cpp b/cockatrice/src/phasestoolbar.cpp index c0cbf6f7..c783573a 100644 --- a/cockatrice/src/phasestoolbar.cpp +++ b/cockatrice/src/phasestoolbar.cpp @@ -47,6 +47,11 @@ void PhaseButton::setPhaseText(const QString &_phaseText) } void PhaseButton::mouseDoubleClickEvent(QMouseEvent */*event*/) +{ + triggerDoubleClickAction(); +} + +void PhaseButton::triggerDoubleClickAction() { if (doubleClickAction) doubleClickAction->trigger(); @@ -61,16 +66,22 @@ PhasesToolbar::PhasesToolbar(QWidget *parent) connect(aDrawCard, SIGNAL(triggered()), this, SLOT(actDrawCard())); PhaseButton *untapButton = new PhaseButton(QIcon(":/resources/icon_phase_untap.svg"), aUntapAll); + untapButton->setShortcut(QKeySequence("F5")); PhaseButton *upkeepButton = new PhaseButton(QIcon(":/resources/icon_phase_upkeep.svg")); PhaseButton *drawButton = new PhaseButton(QIcon(":/resources/icon_phase_draw.svg"), aDrawCard); + drawButton->setShortcut(QKeySequence("F6")); PhaseButton *main1Button = new PhaseButton(QIcon(":/resources/icon_phase_main1.svg")); + main1Button->setShortcut(QKeySequence("F7")); PhaseButton *combatStartButton = new PhaseButton(QIcon(":/resources/icon_phase_combat_start.svg")); + combatStartButton->setShortcut(QKeySequence("F8")); PhaseButton *combatAttackersButton = new PhaseButton(QIcon(":/resources/icon_phase_combat_attackers.svg")); PhaseButton *combatBlockersButton = new PhaseButton(QIcon(":/resources/icon_phase_combat_blockers.svg")); PhaseButton *combatDamageButton = new PhaseButton(QIcon(":/resources/icon_phase_combat_damage.svg")); PhaseButton *combatEndButton = new PhaseButton(QIcon(":/resources/icon_phase_combat_end.svg")); PhaseButton *main2Button = new PhaseButton(QIcon(":/resources/icon_phase_main2.svg")); + main2Button->setShortcut(QKeySequence("F9")); PhaseButton *cleanupButton = new PhaseButton(QIcon(":/resources/icon_phase_cleanup.svg")); + cleanupButton->setShortcut(QKeySequence("F10")); buttonList << untapButton << upkeepButton << drawButton << main1Button << combatStartButton << combatAttackersButton << combatBlockersButton << combatDamageButton << combatEndButton @@ -140,7 +151,7 @@ void PhasesToolbar::phaseButtonClicked() { PhaseButton *button = qobject_cast(sender()); if (button->getActive()) - return; + button->triggerDoubleClickAction(); emit sendGameCommand(new Command_SetActivePhase(-1, buttonList.indexOf(button))); } diff --git a/cockatrice/src/phasestoolbar.h b/cockatrice/src/phasestoolbar.h index f6d1ad73..95555c0d 100644 --- a/cockatrice/src/phasestoolbar.h +++ b/cockatrice/src/phasestoolbar.h @@ -23,6 +23,7 @@ public: QString getPhaseText() const { return phaseText; } void setActive(bool _active) { active = _active; update(); } bool getActive() const { return active; } + void triggerDoubleClickAction(); protected: void paintEvent(QPaintEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index beadbb39..eac9c8b4 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -394,16 +394,8 @@ void Player::initSayMenu() int count = settings.value("count", 0).toInt(); for (int i = 0; i < count; i++) { QAction *newAction = new QAction(settings.value(QString("msg%1").arg(i)).toString(), this); - QString shortcut; - switch (i) { - case 0: shortcut = tr("F5"); break; - case 1: shortcut = tr("F6"); break; - case 2: shortcut = tr("F7"); break; - case 3: shortcut = tr("F8"); break; - case 4: shortcut = tr("F9"); break; - case 5: shortcut = tr("F10"); break; - } - newAction->setShortcut(shortcut); + if (i <= 10) + newAction->setShortcut(QString("Ctrl+%1").arg((i + 1) % 10)); connect(newAction, SIGNAL(triggered()), this, SLOT(actSayMessage())); sayMenu->addAction(newAction); }