From b0bf94e3783269bedae8051bb55b9a9fd1cbacb4 Mon Sep 17 00:00:00 2001 From: marco Date: Sat, 8 Aug 2015 19:41:18 +0200 Subject: [PATCH 1/5] Shorcut read from settings --- cockatrice/CMakeLists.txt | 1 + cockatrice/src/abstractcounter.cpp | 15 ++- .../src/dlg_load_deck_from_clipboard.cpp | 5 +- cockatrice/src/gameview.cpp | 5 +- cockatrice/src/player.cpp | 116 ++++++++++++++---- cockatrice/src/settingscache.cpp | 31 ++--- cockatrice/src/settingscache.h | 6 +- cockatrice/src/shortcutssettings.cpp | 102 +++++++++++++++ cockatrice/src/shortcutssettings.h | 37 ++++++ cockatrice/src/tab_deck_editor.cpp | 52 ++++++-- cockatrice/src/tab_game.cpp | 56 ++++++--- cockatrice/src/tab_room.cpp | 2 +- cockatrice/src/window_main.cpp | 2 +- oracle/CMakeLists.txt | 1 + 14 files changed, 353 insertions(+), 78 deletions(-) create mode 100644 cockatrice/src/shortcutssettings.cpp create mode 100644 cockatrice/src/shortcutssettings.h diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index bee7311d..e81c6d26 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -94,6 +94,7 @@ SET(cockatrice_SOURCES src/qt-json/json.cpp src/soundengine.cpp src/pending_command.cpp + src/shortcutssettings.cpp ${VERSION_STRING_CPP} ) diff --git a/cockatrice/src/abstractcounter.cpp b/cockatrice/src/abstractcounter.cpp index 6e6393e7..3eb7ae0b 100644 --- a/cockatrice/src/abstractcounter.cpp +++ b/cockatrice/src/abstractcounter.cpp @@ -1,5 +1,6 @@ #include "abstractcounter.h" #include "player.h" +#include "settingscache.h" #include #include #include @@ -65,9 +66,17 @@ void AbstractCounter::retranslateUi() void AbstractCounter::setShortcutsActive() { if (name == "life") { - aSet->setShortcut(QKeySequence("Ctrl+L")); - aDec->setShortcut(QKeySequence("F11")); - aInc->setShortcut(QKeySequence("F12")); + aSet->setShortcuts(settingsCache->shortcuts().getShortcut( + "AbstractCounter/aSet", + QKeySequence("Ctrl+L"))); + + aDec->setShortcuts(settingsCache->shortcuts().getShortcut( + "AbstractCounter/aDec", + QKeySequence("F11"))); + + aInc->setShortcuts(settingsCache->shortcuts().getShortcut( + "AbstractCounter/aInc", + QKeySequence("F12"))); } } diff --git a/cockatrice/src/dlg_load_deck_from_clipboard.cpp b/cockatrice/src/dlg_load_deck_from_clipboard.cpp index 67051c19..2a479212 100644 --- a/cockatrice/src/dlg_load_deck_from_clipboard.cpp +++ b/cockatrice/src/dlg_load_deck_from_clipboard.cpp @@ -10,6 +10,7 @@ #include #include "dlg_load_deck_from_clipboard.h" #include "deck_loader.h" +#include "settingscache.h" DlgLoadDeckFromClipboard::DlgLoadDeckFromClipboard(QWidget *parent) : QDialog(parent), deckList(0) @@ -17,7 +18,9 @@ DlgLoadDeckFromClipboard::DlgLoadDeckFromClipboard(QWidget *parent) contentsEdit = new QPlainTextEdit; refreshButton = new QPushButton(tr("&Refresh")); - refreshButton->setShortcut(QKeySequence("F5")); + refreshButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( + "DlgLoadDeckFromClipboard/refreshButton", + QKeySequence("F5"))); connect(refreshButton, SIGNAL(clicked()), this, SLOT(actRefresh())); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); diff --git a/cockatrice/src/gameview.cpp b/cockatrice/src/gameview.cpp index 1c4a6984..9eb2942e 100644 --- a/cockatrice/src/gameview.cpp +++ b/cockatrice/src/gameview.cpp @@ -1,5 +1,6 @@ #include "gameview.h" #include "gamescene.h" +#include "settingscache.h" #include #include #include @@ -19,7 +20,9 @@ GameView::GameView(QGraphicsScene *scene, QWidget *parent) connect(scene, SIGNAL(sigStopRubberBand()), this, SLOT(stopRubberBand())); aCloseMostRecentZoneView = new QAction(this); - aCloseMostRecentZoneView->setShortcut(QKeySequence("Esc")); + aCloseMostRecentZoneView->setShortcuts(settingsCache->shortcuts().getShortcut( + "GameView/aCloseMostRecentZoneView", + QKeySequence("Esc"))); connect(aCloseMostRecentZoneView, SIGNAL(triggered()), scene, SLOT(closeMostRecentZoneView())); addAction(aCloseMostRecentZoneView); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 6e3eca54..f247f056 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -691,25 +691,44 @@ void Player::retranslateUi() aFlip->setText(tr("&Flip")); aPeek->setText(tr("&Peek at card face")); aClone->setText(tr("&Clone")); - aClone->setShortcut(QKeySequence("Ctrl+J")); + aClone->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aClone", QKeySequence("Ctrl+J"))); + aAttach->setText(tr("Attac&h to card...")); - aAttach->setShortcut(QKeySequence("Ctrl+A")); + aAttach->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aAttach", QKeySequence("Ctrl+A"))); + aUnattach->setText(tr("Unattac&h")); aDrawArrow->setText(tr("&Draw arrow...")); + aIncP->setText(tr("&Increase power")); - aIncP->setShortcut(QKeySequence("Ctrl++")); + aIncP->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/IncP", QKeySequence("Ctrl++"))); + aDecP->setText(tr("&Decrease power")); - aDecP->setShortcut(QKeySequence("Ctrl+-")); + aDecP->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDecP", QKeySequence("Ctrl+-"))); + aIncT->setText(tr("I&ncrease toughness")); - aIncT->setShortcut(QKeySequence("Alt++")); + aIncT->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aIncT", QKeySequence("Alt++"))); + aDecT->setText(tr("D&ecrease toughness")); - aDecT->setShortcut(QKeySequence("Alt+-")); + aDecT->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDecT", QKeySequence("Alt+-"))); + aIncPT->setText(tr("In&crease power and toughness")); - aIncPT->setShortcut(QKeySequence("Ctrl+Alt++")); + aIncPT->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aIncPT", QKeySequence("Ctrl+Alt++"))); + aDecPT->setText(tr("Dec&rease power and toughness")); - aDecPT->setShortcut(QKeySequence("Ctrl+Alt+-")); + aDecPT->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDecPT", QKeySequence("Ctrl+Alt+-"))); + aSetPT->setText(tr("Set &power and toughness...")); - aSetPT->setShortcut(QKeySequence("Ctrl+P")); + aSetPT->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aSetPT", QKeySequence("Ctrl+P"))); + aSetAnnotation->setText(tr("&Set annotation...")); QStringList counterColors; counterColors.append(tr("Red")); @@ -725,7 +744,8 @@ void Player::retranslateUi() aMoveToBottomLibrary->setText(tr("&Bottom of library")); aMoveToHand->setText(tr("&Hand")); aMoveToGraveyard->setText(tr("&Graveyard")); - aMoveToGraveyard->setShortcut(QKeySequence("Ctrl+Del")); + aMoveToGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aMoveToGraveyard", QKeySequence("Ctrl+Del"))); aMoveToExile->setText(tr("&Exile")); QMapIterator zoneIterator(zones); @@ -737,20 +757,50 @@ void Player::setShortcutsActive() { shortcutsActive = true; - aViewSideboard->setShortcut(QKeySequence("Ctrl+F3")); - aViewLibrary->setShortcut(QKeySequence("F3")); - aViewTopCards->setShortcut(QKeySequence("Ctrl+W")); - aViewGraveyard->setShortcut(QKeySequence("F4")); - aDrawCard->setShortcut(QKeySequence("Ctrl+D")); - aDrawCards->setShortcut(QKeySequence("Ctrl+E")); - aUndoDraw->setShortcut(QKeySequence("Ctrl+Shift+D")); - aMulligan->setShortcut(QKeySequence("Ctrl+M")); - aShuffle->setShortcut(QKeySequence("Ctrl+S")); - aUntapAll->setShortcut(QKeySequence("Ctrl+U")); - aRollDie->setShortcut(QKeySequence("Ctrl+I")); - aCreateToken->setShortcut(QKeySequence("Ctrl+T")); - aCreateAnotherToken->setShortcut(QKeySequence("Ctrl+G")); - aAlwaysRevealTopCard->setShortcut(QKeySequence("Ctrl+N")); + aViewSideboard->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aViewSideboard", QKeySequence("Ctrl+F3"))); + + aViewLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aViewLibrary", QKeySequence("F3"))); + + aViewTopCards->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aViewTopCards", QKeySequence("Ctrl+W"))); + + aViewGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aViewGraveyard", QKeySequence("F4"))); + + aDrawCard->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDrawCard", QKeySequence("Ctrl+D"))); + + aDrawCards->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDrawCards", QKeySequence("Ctrl+E"))); + + aUndoDraw->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aUndoDraw", QKeySequence("Ctrl+Shift+D"))); + + aMulligan->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aMulligan", QKeySequence("Ctrl+M"))); + + aShuffle->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aShuffle", QKeySequence("Ctrl+S"))); + + aUntapAll->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aUntapAll", QKeySequence("Ctrl+U"))); + + aRollDie->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aRollDie", QKeySequence("Ctrl+I"))); + + aCreateToken->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aCreateToken", + QKeySequence("Ctrl+T"))); + + aCreateAnotherToken->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aCreateAnotherToken", + QKeySequence("Ctrl+G"))); + + aAlwaysRevealTopCard->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aAlwaysRevealTopCard", + QKeySequence("Ctrl+N"))); QMapIterator counterIterator(counters); while (counterIterator.hasNext()) @@ -788,10 +838,15 @@ void Player::initSayMenu() QSettings settings; settings.beginGroup("messages"); int count = settings.value("count", 0).toInt(); + QString base = settingsCache->shortcuts().getSingleShortcut( + "Player/say", QKeySequence("Ctrl")).toString(); + base = base.append("+"); + for (int i = 0; i < count; i++) { QAction *newAction = new QAction(settings.value(QString("msg%1").arg(i)).toString(), this); - if (i <= 10) - newAction->setShortcut(QKeySequence(QString("Ctrl+%1").arg((i + 1) % 10))); + if (i <= 10){ + newAction->setShortcut(QKeySequence(base + QString::number((i + 1) % 10))); + } connect(newAction, SIGNAL(triggered()), this, SLOT(actSayMessage())); sayMenu->addAction(newAction); } @@ -805,13 +860,20 @@ void Player::setDeck(const DeckLoader &_deck) createPredefinedTokenMenu->clear(); predefinedTokens.clear(); InnerDecklistNode *tokenZone = dynamic_cast(deck->getRoot()->findChild("tokens")); + + QString base = settingsCache->shortcuts().getSingleShortcut( + "Player/token", QKeySequence("Alt")).toString(); + base = base.append("+"); + if (tokenZone) for (int i = 0; i < tokenZone->size(); ++i) { const QString tokenName = tokenZone->at(i)->getName(); predefinedTokens.append(tokenName); QAction *a = createPredefinedTokenMenu->addAction(tokenName); if (i < 10) - a->setShortcut(QKeySequence("Alt+" + QString::number((i + 1) % 10))); + { + a->setShortcut(QKeySequence(base + QString::number((i + 1) % 10))); + } connect(a, SIGNAL(triggered()), this, SLOT(actCreatePredefinedToken())); } } diff --git a/cockatrice/src/settingscache.cpp b/cockatrice/src/settingscache.cpp index b46746a5..33141680 100644 --- a/cockatrice/src/settingscache.cpp +++ b/cockatrice/src/settingscache.cpp @@ -6,17 +6,17 @@ #include #endif -QString SettingsCache::getLayoutsSettingsPath() +QString SettingsCache::getSettingsPath() { QString file = ""; #ifndef PORTABLE_BUILD - #if QT_VERSION >= 0x050000 +#if QT_VERSION >= 0x050000 file = QStandardPaths::writableLocation(QStandardPaths::DataLocation); #else file = QDesktopServices::storageLocation(QDesktopServices::DataLocation); #endif - file.append("/settings/layouts/"); + file.append("/settings/"); #endif return file; @@ -25,6 +25,7 @@ QString SettingsCache::getLayoutsSettingsPath() SettingsCache::SettingsCache() { settings = new QSettings(this); + shortcutsSettings = new ShortcutsSettings(getSettingsPath(),this); lang = settings->value("personal/lang").toString(); keepalive = settings->value("personal/keepalive", 5).toInt(); @@ -118,8 +119,8 @@ SettingsCache::SettingsCache() spectatorsCanSeeEverything = settings->value("game/spectatorscanseeeverything", false).toBool(); clientID = settings->value("personal/clientid", "notset").toString(); - QString file = getLayoutsSettingsPath(); - file.append("deckLayout.ini"); + QString file = getSettingsPath(); + file.append("layouts/deckLayout.ini"); QSettings layout_settings(file , QSettings::IniFormat); deckEditorLayoutState = layout_settings.value("layouts/deckEditor_state").toByteArray(); @@ -497,8 +498,8 @@ void SettingsCache::setDeckEditorLayoutState(const QByteArray &value) { deckEditorLayoutState = value; - QString file = getLayoutsSettingsPath(); - file.append("deckLayout.ini"); + QString file = getSettingsPath(); + file.append("layouts/deckLayout.ini"); QSettings layout_settings(file , QSettings::IniFormat); layout_settings.setValue("layouts/deckEditor_state",value); } @@ -507,8 +508,8 @@ void SettingsCache::setDeckEditorGeometry(const QByteArray &value) { deckEditorGeometry = value; - QString file = getLayoutsSettingsPath(); - file.append("deckLayout.ini"); + QString file = getSettingsPath(); + file.append("layouts/deckLayout.ini"); QSettings layout_settings(file , QSettings::IniFormat); layout_settings.setValue("layouts/deckEditor_geometry",value); } @@ -517,8 +518,8 @@ void SettingsCache::setDeckEditorCardSize(const QSize &value) { deckEditorCardSize = value; - QString file = getLayoutsSettingsPath(); - file.append("deckLayout.ini"); + QString file = getSettingsPath(); + file.append("layouts/deckLayout.ini"); QSettings layout_settings(file , QSettings::IniFormat); layout_settings.setValue("layouts/deckEditor_CardSize",value); } @@ -527,8 +528,8 @@ void SettingsCache::setDeckEditorDeckSize(const QSize &value) { deckEditorDeckSize = value; - QString file = getLayoutsSettingsPath(); - file.append("deckLayout.ini"); + QString file = getSettingsPath(); + file.append("layouts/deckLayout.ini"); QSettings layout_settings(file , QSettings::IniFormat); layout_settings.setValue("layouts/deckEditor_DeckSize",value); } @@ -537,8 +538,8 @@ void SettingsCache::setDeckEditorFilterSize(const QSize &value) { deckEditorFilterSize = value; - QString file = getLayoutsSettingsPath(); - file.append("deckLayout.ini"); + QString file = getSettingsPath(); + file.append("layouts/deckLayout.ini"); QSettings layout_settings(file , QSettings::IniFormat); layout_settings.setValue("layouts/deckEditor_FilterSize",value); } diff --git a/cockatrice/src/settingscache.h b/cockatrice/src/settingscache.h index c3e5f86b..bb275cbb 100644 --- a/cockatrice/src/settingscache.h +++ b/cockatrice/src/settingscache.h @@ -4,6 +4,7 @@ #include #include #include +#include "shortcutssettings.h" // the falbacks are used for cards without a muid #define PIC_URL_DEFAULT "http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=!cardid!&type=card" @@ -45,7 +46,7 @@ signals: void masterVolumeChanged(int value); private: QSettings *settings; - + ShortcutsSettings *shortcutsSettings; QByteArray mainWindowGeometry; QString lang; QString deckPath, replaysPath, picsPath, cardDatabasePath, tokenDatabasePath; @@ -102,7 +103,7 @@ private: int keepalive; QByteArray deckEditorLayoutState, deckEditorGeometry; QSize deckEditorFilterSize, deckEditorDeckSize, deckEditorCardSize; - QString getLayoutsSettingsPath(); + QString getSettingsPath(); public: SettingsCache(); @@ -187,6 +188,7 @@ public: void setDeckEditorDeckSize(const QSize &value); QSize getDeckEditorFilterSize() const { return deckEditorFilterSize; } void setDeckEditorFilterSize(const QSize &value); + ShortcutsSettings& shortcuts() const { return *shortcutsSettings; } public slots: void setMainWindowGeometry(const QByteArray &_mainWindowGeometry); diff --git a/cockatrice/src/shortcutssettings.cpp b/cockatrice/src/shortcutssettings.cpp new file mode 100644 index 00000000..399f9667 --- /dev/null +++ b/cockatrice/src/shortcutssettings.cpp @@ -0,0 +1,102 @@ +#include "shortcutssettings.h" + +#include +QList ShortcutsSettings::parseSecuenceString(QString stringSecuence) +{ + QStringList secuences = stringSecuence.split(";"); + QList secuenceList; + for(QStringList::const_iterator ss = secuences.cbegin(); ss != secuences.cend(); ++ss) + { + secuenceList.append(QKeySequence(*ss, QKeySequence::PortableText)); + } + + return secuenceList; +} + +ShortcutsSettings::ShortcutsSettings(QString settingsPath, QObject *parent) : QObject(parent) +{ + this->settingsFilePath = settingsPath; + this->settingsFilePath.append("shortcuts.ini"); + QSettings shortCutsFile(settingsFilePath, QSettings::IniFormat); + + shortCutsFile.beginGroup("Custom"); + const QStringList customKeys = shortCutsFile.allKeys(); + for(QStringList::const_iterator it = customKeys.cbegin(); it != customKeys.cend(); ++it) + { + QString stringSecuence = shortCutsFile.value(*it).toString(); + QList secuenceList = parseSecuenceString(stringSecuence); + shortCuts.insert(*it, secuenceList); + } + shortCutsFile.endGroup(); + + shortCutsFile.beginGroup("Defaults"); + const QStringList defaultKeys = shortCutsFile.allKeys(); + for(QStringList::const_iterator it = defaultKeys.cbegin(); it != defaultKeys.cend(); ++it) + { + QString stringSecuence = shortCutsFile.value(*it).toString(); + QList secuenceList = parseSecuenceString(stringSecuence); + defaultShortCuts.insert(*it, secuenceList); + } + shortCutsFile.endGroup(); +} + +QList ShortcutsSettings::getShortcut(QString name, QList defaultShortCut) +{ + if(shortCuts.contains(name)) + return shortCuts.value(name); + + setShortcuts(name, defaultShortCut); + + defaultShortCuts[name] = defaultShortCut; + + QSettings shortCutsFile(settingsFilePath, QSettings::IniFormat); + shortCutsFile.beginGroup("Defaults"); + shortCutsFile.setValue(name, stringifySecuence(defaultShortCut)); + shortCutsFile.endGroup(); + return defaultShortCut; +} + +QList ShortcutsSettings::getShortcut(QString name, QKeySequence defaultShortCut) +{ + return getShortcut(name, QList() << defaultShortCut); +} + +QKeySequence ShortcutsSettings::getSingleShortcut(QString name, QKeySequence defaultShortCut) +{ + return getShortcut(name,defaultShortCut).at(0); +} + +QList ShortcutsSettings::getDefaultShortCut(QString name) +{ + return defaultShortCuts.value(name); +} + +QString ShortcutsSettings::stringifySecuence(QList secuence) const +{ + QString stringSecuence; + for(int i=0; i < secuence.size(); ++i) + { + stringSecuence.append(secuence.at(i).toString(QKeySequence::PortableText)); + if(i < secuence.size() - 1) + stringSecuence.append(";"); + } + + return stringSecuence; +} + +void ShortcutsSettings::setShortcuts(QString name, QList secuence) +{ + shortCuts[name] = secuence; + + QSettings shortCutsFile(settingsFilePath, QSettings::IniFormat); + shortCutsFile.beginGroup("Custom"); + QString stringSecuence = stringifySecuence(secuence); + shortCutsFile.setValue(name, stringSecuence); + shortCutsFile.endGroup(); +} + +void ShortcutsSettings::setShortcuts(QString name, QKeySequence secuence) +{ + setShortcuts(name, QList() << secuence); +} + diff --git a/cockatrice/src/shortcutssettings.h b/cockatrice/src/shortcutssettings.h new file mode 100644 index 00000000..f0aa795d --- /dev/null +++ b/cockatrice/src/shortcutssettings.h @@ -0,0 +1,37 @@ +#ifndef SHORTCUTSSETTINGS_H +#define SHORTCUTSSETTINGS_H + +#include +#include +#include +#include + +class ShortcutsSettings : public QObject +{ + Q_OBJECT +public: + ShortcutsSettings(QString settingsFilePath, QObject *parent = 0); + ~ShortcutsSettings() { } + + QList getShortcut(QString name, QList defaultShortCut); + QList getShortcut(QString name, QKeySequence defaultShortCut); + QKeySequence getSingleShortcut(QString name, QKeySequence defaultShortCut); + QList getDefaultShortCut(QString name); + + void setShortcuts(QString name, QList secuence); + void setShortcuts(QString name, QKeySequence secuence); + +signals: + +public slots: + +private: + QString settingsFilePath; + QMap > shortCuts; + QMap > defaultShortCuts; + + QString stringifySecuence(QList secuence) const; + QList parseSecuenceString(QString stringSecuence); +}; + +#endif // SHORTCUTSSETTINGS_H diff --git a/cockatrice/src/tab_deck_editor.cpp b/cockatrice/src/tab_deck_editor.cpp index 390acd42..ab442089 100644 --- a/cockatrice/src/tab_deck_editor.cpp +++ b/cockatrice/src/tab_deck_editor.cpp @@ -254,26 +254,44 @@ void TabDeckEditor::createFiltersDock() void TabDeckEditor::createMenus() { aNewDeck = new QAction(QString(), this); - aNewDeck->setShortcuts(QKeySequence::New); + aNewDeck->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aNewDeck", + QKeySequence::New)); connect(aNewDeck, SIGNAL(triggered()), this, SLOT(actNewDeck())); + aLoadDeck = new QAction(QString(), this); - aLoadDeck->setShortcuts(QKeySequence::Open); + aLoadDeck->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aLoadDeck", + QKeySequence::Open)); connect(aLoadDeck, SIGNAL(triggered()), this, SLOT(actLoadDeck())); + aSaveDeck = new QAction(QString(), this); - aSaveDeck->setShortcuts(QKeySequence::Save); + aSaveDeck->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aSaveDeck", + QKeySequence::Save)); + connect(aSaveDeck, SIGNAL(triggered()), this, SLOT(actSaveDeck())); aSaveDeckAs = new QAction(QString(), this); // aSaveDeckAs->setShortcuts(QKeySequence::SaveAs); connect(aSaveDeckAs, SIGNAL(triggered()), this, SLOT(actSaveDeckAs())); + aLoadDeckFromClipboard = new QAction(QString(), this); connect(aLoadDeckFromClipboard, SIGNAL(triggered()), this, SLOT(actLoadDeckFromClipboard())); - aLoadDeckFromClipboard->setShortcuts(QKeySequence::Paste); + aLoadDeckFromClipboard->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aLoadDeckFromClipboard", + QKeySequence::Paste)); + aSaveDeckToClipboard = new QAction(QString(), this); connect(aSaveDeckToClipboard, SIGNAL(triggered()), this, SLOT(actSaveDeckToClipboard())); - aSaveDeckToClipboard->setShortcuts(QKeySequence::Copy); + aSaveDeckToClipboard->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aSaveDeckToClipboard", + QKeySequence::Copy)); + aPrintDeck = new QAction(QString(), this); - aPrintDeck->setShortcuts(QKeySequence::Print); + aPrintDeck->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aPrintDeck",QKeySequence::Print)); connect(aPrintDeck, SIGNAL(triggered()), this, SLOT(actPrintDeck())); + aAnalyzeDeck = new QAction(QString(), this); connect(aAnalyzeDeck, SIGNAL(triggered()), this, SLOT(actAnalyzeDeck())); aClose = new QAction(QString(), this); @@ -514,7 +532,9 @@ void TabDeckEditor::retranslateUi() aClearFilterAll->setText(tr("&Clear all filters")); aClearFilterOne->setText(tr("Delete selected")); - aClearFilterOne->setShortcut(QKeySequence("Backspace")); + aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aClearFilterOne", + QKeySequence("Backspace"))); nameLabel->setText(tr("Deck &name:")); commentsLabel->setText(tr("&Comments:")); @@ -533,17 +553,27 @@ void TabDeckEditor::retranslateUi() aAnalyzeDeck->setText(tr("&Analyze deck on deckstats.net")); aOpenCustomFolder->setText(tr("Open custom image folder")); aClose->setText(tr("&Close")); - aClose->setShortcut(QKeySequence("Ctrl+Q")); + aClose->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aClose", + QKeySequence("Ctrl+Q"))); aAddCard->setText(tr("Add card to &maindeck")); aAddCardToSideboard->setText(tr("Add card to &sideboard")); aRemoveCard->setText(tr("&Remove row")); - aRemoveCard->setShortcut(QKeySequence("Del")); + aRemoveCard->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aRemoveCard", + QKeySequence("Del"))); + aIncrement->setText(tr("&Increment number")); - aIncrement->setShortcut(QKeySequence("+")); + aIncrement->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aIncrement", + QKeySequence("+"))); + aDecrement->setText(tr("&Decrement number")); - aDecrement->setShortcut(QKeySequence("-")); + aDecrement->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aDecrement", + QKeySequence("-"))); deckMenu->setTitle(tr("&Deck Editor")); dbMenu->setTitle(tr("C&ard Database")); diff --git a/cockatrice/src/tab_game.cpp b/cockatrice/src/tab_game.cpp index a99f8517..83fa5420 100644 --- a/cockatrice/src/tab_game.cpp +++ b/cockatrice/src/tab_game.cpp @@ -125,9 +125,13 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) void DeckViewContainer::retranslateUi() { loadLocalButton->setText(tr("Load local deck")); - loadLocalButton->setShortcut(QKeySequence("Ctrl+O")); + loadLocalButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( + "DeckViewContainer/loadLocalButton", + QKeySequence("Ctrl+O"))); loadRemoteButton->setText(tr("Load deck from server")); - loadRemoteButton->setShortcut(QKeySequence("Ctrl+Alt+O")); + loadRemoteButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( + "DeckViewContainer/loadRemoteButton", + QKeySequence("Ctrl+Alt+O"))); readyStartButton->setText(tr("Ready to s&tart")); updateSideboardLockButtonText(); } @@ -469,12 +473,12 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, QList &_client QAction *temp = new QAction(QString(), this); connect(temp, SIGNAL(triggered()), this, SLOT(actPhaseAction())); switch (i) { - case 0: temp->setShortcut(QKeySequence("F5")); break; - case 2: temp->setShortcut(QKeySequence("F6")); break; - case 3: temp->setShortcut(QKeySequence("F7")); break; - case 4: temp->setShortcut(QKeySequence("F8")); break; - case 9: temp->setShortcut(QKeySequence("F9")); break; - case 10: temp->setShortcut(QKeySequence("F10")); break; + case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase0" ,QKeySequence("F5"))); break; + case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase2" ,QKeySequence("F6"))); break; + case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase3" ,QKeySequence("F7"))); break; + case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase4" ,QKeySequence("F8"))); break; + case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase9" ,QKeySequence("F9"))); break; + case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase10" ,QKeySequence("F10"))); break; default: ; } phasesMenu->addAction(temp); @@ -545,37 +549,57 @@ void TabGame::retranslateUi() gameMenu->setTitle(tr("&Game")); if (aNextPhase) { aNextPhase->setText(tr("Next &phase")); - aNextPhase->setShortcuts(QList() << QKeySequence("Ctrl+Space") << QKeySequence("Tab")); + aNextPhase->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aNextPhase", + QList() + << QKeySequence("Ctrl+Space") + << QKeySequence("Tab"))); } if (aNextTurn) { aNextTurn->setText(tr("Next &turn")); - aNextTurn->setShortcuts(QList() << QKeySequence("Ctrl+Return") << QKeySequence("Ctrl+Enter")); + aNextTurn->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aNextTurn", + QList() + << QKeySequence("Ctrl+Return") + << QKeySequence("Ctrl+Enter"))); } if (aRemoveLocalArrows) { aRemoveLocalArrows->setText(tr("&Remove all local arrows")); - aRemoveLocalArrows->setShortcut(QKeySequence("Ctrl+R")); + aRemoveLocalArrows->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aRemoveLocalArrows", + QKeySequence("Ctrl+R"))); } if (aRotateViewCW) { aRotateViewCW->setText(tr("Rotate View Cl&ockwise")); - aRotateViewCW->setShortcut(QKeySequence("Ctrl+]")); + aRotateViewCW->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aRotateViewCW", + QKeySequence("Ctrl+]"))); } if (aRotateViewCCW) { aRotateViewCCW->setText(tr("Rotate View Co&unterclockwise")); - aRotateViewCCW->setShortcut(QKeySequence("Ctrl+[")); + aRotateViewCCW->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aRotateViewCCW", + QKeySequence("Ctrl+["))); } if (aGameInfo) aGameInfo->setText(tr("Game &information")); if (aConcede) { aConcede->setText(tr("&Concede")); - aConcede->setShortcut(QKeySequence("F2")); + aConcede->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aRotateViewCCW", + QKeySequence("F2"))); } if (aLeaveGame) { aLeaveGame->setText(tr("&Leave game")); - aLeaveGame->setShortcut(QKeySequence("Ctrl+Q")); + aLeaveGame->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aLeaveGame", + QKeySequence("Ctrl+Q"))); } if (aCloseReplay) { aCloseReplay->setText(tr("C&lose replay")); - aCloseReplay->setShortcut(QKeySequence("Ctrl+Q")); + aCloseReplay->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabGame/aCloseReplay", + QKeySequence("Ctrl+Q"))); } if (sayLabel) diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index 545901ce..53e4de7f 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -59,7 +59,7 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI QMenu *chatSettingsMenu = new QMenu(this); aClearChat = chatSettingsMenu->addAction(QString()); - aClearChat->setShortcut(QKeySequence("F12")); + aClearChat->setShortcuts(settingsCache->shortcuts().getShortcut("tab_room/aClearChat", QKeySequence("F12"))); connect(aClearChat, SIGNAL(triggered()), this, SLOT(actClearChat())); chatSettingsMenu->addSeparator(); diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp index 4c979729..291299fe 100644 --- a/cockatrice/src/window_main.cpp +++ b/cockatrice/src/window_main.cpp @@ -458,7 +458,7 @@ void MainWindow::retranslateUi() aWatchReplay->setText(tr("&Watch replay...")); aDeckEditor->setText(tr("&Deck editor")); aFullScreen->setText(tr("&Full screen")); - aFullScreen->setShortcut(QKeySequence("Ctrl+F")); + aFullScreen->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aFullScreen", QKeySequence("Ctrl+F"))); aRegister->setText(tr("&Register to server...")); aSettings->setText(tr("&Settings...")); aExit->setText(tr("&Exit")); diff --git a/oracle/CMakeLists.txt b/oracle/CMakeLists.txt index fd442f26..c91e958e 100644 --- a/oracle/CMakeLists.txt +++ b/oracle/CMakeLists.txt @@ -13,6 +13,7 @@ SET(oracle_SOURCES src/oracleimporter.cpp ../cockatrice/src/carddatabase.cpp ../cockatrice/src/settingscache.cpp + ../cockatrice/src/shortcutssettings.cpp ../cockatrice/src/qt-json/json.cpp ) From beaa4e9383a3a6c033ba8f578fd13ed35d34236f Mon Sep 17 00:00:00 2001 From: marco Date: Sun, 9 Aug 2015 20:48:21 +0200 Subject: [PATCH 2/5] Configurable shortcuts --- cockatrice/CMakeLists.txt | 2 + cockatrice/cockatrice.qrc | 662 +++++++++--------- cockatrice/resources/icon_config_shorcuts.svg | 161 +++++ cockatrice/src/abstractcounter.cpp | 6 +- cockatrice/src/dlg_settings.cpp | 8 + cockatrice/src/dlg_settings.h | 1 + cockatrice/src/gameview.cpp | 2 +- cockatrice/src/player.cpp | 93 ++- cockatrice/src/sequenceEdit/secuenceedit.cpp | 150 ++++ cockatrice/src/sequenceEdit/secuenceedit.h | 40 ++ cockatrice/src/sequenceEdit/shortcutstab.cpp | 18 + cockatrice/src/sequenceEdit/shortcutstab.h | 25 + cockatrice/src/shortcutssettings.cpp | 209 +++++- cockatrice/src/shortcutssettings.h | 11 +- cockatrice/src/tab_deck_editor.cpp | 31 +- cockatrice/src/tab_game.cpp | 33 +- cockatrice/src/window_main.cpp | 32 +- 17 files changed, 1075 insertions(+), 409 deletions(-) create mode 100644 cockatrice/resources/icon_config_shorcuts.svg create mode 100644 cockatrice/src/sequenceEdit/secuenceedit.cpp create mode 100644 cockatrice/src/sequenceEdit/secuenceedit.h create mode 100644 cockatrice/src/sequenceEdit/shortcutstab.cpp create mode 100644 cockatrice/src/sequenceEdit/shortcutstab.h diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index e81c6d26..a7d645e0 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -95,6 +95,8 @@ SET(cockatrice_SOURCES src/soundengine.cpp src/pending_command.cpp src/shortcutssettings.cpp + src/sequenceEdit/secuenceedit.cpp + src/sequenceEdit/shortcutstab.cpp ${VERSION_STRING_CPP} ) diff --git a/cockatrice/cockatrice.qrc b/cockatrice/cockatrice.qrc index ebf5f44e..2e66b2df 100644 --- a/cockatrice/cockatrice.qrc +++ b/cockatrice/cockatrice.qrc @@ -1,337 +1,329 @@ - - resources/back.svg - resources/lock.svg - resources/icon_delete.svg - resources/icon_tab_changed.svg - resources/icon_config_general.svg - resources/icon_config_appearance.svg - resources/icon_config_interface.svg - resources/icon_config_messages.svg - resources/icon_config_deckeditor.svg - resources/icon_config_sound.svg - resources/phases/icon_phase_untap.svg - resources/phases/icon_phase_upkeep.svg - resources/phases/icon_phase_draw.svg - resources/phases/icon_phase_main1.svg - resources/phases/icon_phase_combat_start.svg - resources/phases/icon_phase_combat_attackers.svg - resources/phases/icon_phase_combat_blockers.svg - resources/phases/icon_phase_combat_damage.svg - resources/phases/icon_phase_combat_end.svg - resources/phases/icon_phase_main2.svg - resources/phases/icon_phase_cleanup.svg - resources/phases/icon_phase_nextturn.svg - resources/icon_settings.svg - resources/hand.svg - resources/pencil.svg - resources/icon_search_black.svg - resources/icon_clearsearch.svg - resources/icon_update.png - resources/icon_view.svg - resources/hr.jpg - resources/cockatrice.svg - - resources/add_to_sideboard.svg - resources/decrement.svg - resources/increment.svg - resources/remove_row.svg - resources/arrow_left_green.svg - resources/arrow_right_green.svg - - resources/arrow_top_green.svg - resources/arrow_up_green.svg - resources/arrow_down_green.svg - resources/arrow_bottom_green.svg - - resources/icon_ready_start.svg - resources/icon_not_ready_start.svg - resources/icon_conceded.svg - resources/icon_player.svg - resources/icon_spectator.svg - - resources/replay_start.svg - resources/replay_fastforward.svg - resources/replay_pause.svg - - resources/genders/male.svg - resources/genders/female.svg - resources/genders/unknown.svg - - resources/countries/ad.svg - resources/countries/ae.svg - resources/countries/af.svg - resources/countries/ag.svg - resources/countries/ai.svg - resources/countries/al.svg - resources/countries/am.svg - resources/countries/ao.svg - resources/countries/aq.svg - resources/countries/ar.svg - resources/countries/as.svg - resources/countries/at.svg - resources/countries/au.svg - resources/countries/aw.svg - resources/countries/ax.svg - resources/countries/az.svg - resources/countries/ba.svg - resources/countries/bb.svg - resources/countries/bd.svg - resources/countries/be.svg - resources/countries/bf.svg - resources/countries/bg.svg - resources/countries/bh.svg - resources/countries/bi.svg - resources/countries/bj.svg - resources/countries/bl.svg - resources/countries/bm.svg - resources/countries/bn.svg - resources/countries/bo.svg - resources/countries/bq.svg - resources/countries/br.svg - resources/countries/bs.svg - resources/countries/bt.svg - resources/countries/bv.svg - resources/countries/bw.svg - resources/countries/by.svg - resources/countries/bz.svg - resources/countries/ca.svg - resources/countries/cc.svg - resources/countries/cd.svg - resources/countries/cf.svg - resources/countries/cg.svg - resources/countries/ch.svg - resources/countries/ci.svg - resources/countries/ck.svg - resources/countries/cl.svg - resources/countries/cm.svg - resources/countries/cn.svg - resources/countries/co.svg - resources/countries/cr.svg - resources/countries/cu.svg - resources/countries/cv.svg - resources/countries/cw.svg - resources/countries/cx.svg - resources/countries/cy.svg - resources/countries/cz.svg - resources/countries/de.svg - resources/countries/dj.svg - resources/countries/dk.svg - resources/countries/dm.svg - resources/countries/do.svg - resources/countries/dz.svg - resources/countries/ec.svg - resources/countries/ee.svg - resources/countries/eg.svg - resources/countries/eh.svg - resources/countries/er.svg - resources/countries/es.svg - resources/countries/et.svg - resources/countries/fi.svg - resources/countries/fj.svg - resources/countries/fk.svg - resources/countries/fm.svg - resources/countries/fo.svg - resources/countries/fr.svg - resources/countries/ga.svg - resources/countries/gb.svg - resources/countries/gd.svg - resources/countries/ge.svg - resources/countries/gf.svg - resources/countries/gg.svg - resources/countries/gh.svg - resources/countries/gi.svg - resources/countries/gl.svg - resources/countries/gm.svg - resources/countries/gn.svg - resources/countries/gp.svg - resources/countries/gq.svg - resources/countries/gr.svg - resources/countries/gs.svg - resources/countries/gt.svg - resources/countries/gu.svg - resources/countries/gw.svg - resources/countries/gy.svg - resources/countries/hk.svg - resources/countries/hm.svg - resources/countries/hn.svg - resources/countries/hr.svg - resources/countries/ht.svg - resources/countries/hu.svg - resources/countries/id.svg - resources/countries/ie.svg - resources/countries/il.svg - resources/countries/im.svg - resources/countries/in.svg - resources/countries/io.svg - resources/countries/iq.svg - resources/countries/ir.svg - resources/countries/is.svg - resources/countries/it.svg - resources/countries/je.svg - resources/countries/jm.svg - resources/countries/jo.svg - resources/countries/jp.svg - resources/countries/ke.svg - resources/countries/kg.svg - resources/countries/kh.svg - resources/countries/ki.svg - resources/countries/km.svg - resources/countries/kn.svg - resources/countries/kp.svg - resources/countries/kr.svg - resources/countries/kw.svg - resources/countries/ky.svg - resources/countries/kz.svg - resources/countries/la.svg - resources/countries/lb.svg - resources/countries/lc.svg - resources/countries/li.svg - resources/countries/lk.svg - resources/countries/lr.svg - resources/countries/ls.svg - resources/countries/lt.svg - resources/countries/lu.svg - resources/countries/lv.svg - resources/countries/ly.svg - resources/countries/ma.svg - resources/countries/mc.svg - resources/countries/md.svg - resources/countries/me.svg - resources/countries/mf.svg - resources/countries/mg.svg - resources/countries/mh.svg - resources/countries/mk.svg - resources/countries/ml.svg - resources/countries/mm.svg - resources/countries/mn.svg - resources/countries/mo.svg - resources/countries/mp.svg - resources/countries/mq.svg - resources/countries/mr.svg - resources/countries/ms.svg - resources/countries/mt.svg - resources/countries/mu.svg - resources/countries/mv.svg - resources/countries/mw.svg - resources/countries/mx.svg - resources/countries/my.svg - resources/countries/mz.svg - resources/countries/na.svg - resources/countries/nc.svg - resources/countries/ne.svg - resources/countries/nf.svg - resources/countries/ng.svg - resources/countries/ni.svg - resources/countries/nl.svg - resources/countries/no.svg - resources/countries/np.svg - resources/countries/nr.svg - resources/countries/nu.svg - resources/countries/nz.svg - resources/countries/om.svg - resources/countries/pa.svg - resources/countries/pe.svg - resources/countries/pf.svg - resources/countries/pg.svg - resources/countries/ph.svg - resources/countries/pk.svg - resources/countries/pl.svg - resources/countries/pm.svg - resources/countries/pn.svg - resources/countries/pr.svg - resources/countries/ps.svg - resources/countries/pt.svg - resources/countries/pw.svg - resources/countries/py.svg - resources/countries/qa.svg - resources/countries/re.svg - resources/countries/ro.svg - resources/countries/rs.svg - resources/countries/ru.svg - resources/countries/rw.svg - resources/countries/sa.svg - resources/countries/sb.svg - resources/countries/sc.svg - resources/countries/sd.svg - resources/countries/se.svg - resources/countries/sg.svg - resources/countries/sh.svg - resources/countries/si.svg - resources/countries/sj.svg - resources/countries/sk.svg - resources/countries/sl.svg - resources/countries/sm.svg - resources/countries/sn.svg - resources/countries/so.svg - resources/countries/sr.svg - resources/countries/ss.svg - resources/countries/st.svg - resources/countries/sv.svg - resources/countries/sx.svg - resources/countries/sy.svg - resources/countries/sz.svg - resources/countries/tc.svg - resources/countries/td.svg - resources/countries/tf.svg - resources/countries/tg.svg - resources/countries/th.svg - resources/countries/tj.svg - resources/countries/tk.svg - resources/countries/tl.svg - resources/countries/tm.svg - resources/countries/tn.svg - resources/countries/to.svg - resources/countries/tr.svg - resources/countries/tt.svg - resources/countries/tv.svg - resources/countries/tw.svg - resources/countries/tz.svg - resources/countries/ua.svg - resources/countries/ug.svg - resources/countries/um.svg - resources/countries/us.svg - resources/countries/uy.svg - resources/countries/uz.svg - resources/countries/va.svg - resources/countries/vc.svg - resources/countries/ve.svg - resources/countries/vg.svg - resources/countries/vi.svg - resources/countries/vn.svg - resources/countries/vu.svg - resources/countries/wf.svg - resources/countries/ws.svg - resources/countries/ye.svg - resources/countries/yt.svg - resources/countries/za.svg - resources/countries/zm.svg - resources/countries/zw.svg - - resources/counters/w.svg - resources/counters/w_highlight.svg - resources/counters/u.svg - resources/counters/u_highlight.svg - resources/counters/b.svg - resources/counters/b_highlight.svg - resources/counters/r.svg - resources/counters/r_highlight.svg - resources/counters/g.svg - resources/counters/g_highlight.svg - resources/counters/storm.svg - resources/counters/storm_highlight.svg - resources/counters/general.svg - resources/counters/general_highlight.svg - - resources/userlevels/normal.svg - resources/userlevels/registered.svg - resources/userlevels/registered_buddy.svg - resources/userlevels/moderator.svg - resources/userlevels/moderator_buddy.svg - resources/userlevels/admin.svg - resources/userlevels/admin_buddy.svg - - resources/news/exclamation_mark.svg - resources/news/question_mark.svg - + + resources/back.svg + resources/lock.svg + resources/icon_delete.svg + resources/icon_tab_changed.svg + resources/icon_config_general.svg + resources/icon_config_appearance.svg + resources/icon_config_interface.svg + resources/icon_config_messages.svg + resources/icon_config_deckeditor.svg + resources/icon_config_sound.svg + resources/phases/icon_phase_untap.svg + resources/phases/icon_phase_upkeep.svg + resources/phases/icon_phase_draw.svg + resources/phases/icon_phase_main1.svg + resources/phases/icon_phase_combat_start.svg + resources/phases/icon_phase_combat_attackers.svg + resources/phases/icon_phase_combat_blockers.svg + resources/phases/icon_phase_combat_damage.svg + resources/phases/icon_phase_combat_end.svg + resources/phases/icon_phase_main2.svg + resources/phases/icon_phase_cleanup.svg + resources/phases/icon_phase_nextturn.svg + resources/icon_settings.svg + resources/hand.svg + resources/pencil.svg + resources/icon_search_black.svg + resources/icon_clearsearch.svg + resources/icon_update.png + resources/icon_view.svg + resources/hr.jpg + resources/cockatrice.svg + resources/add_to_sideboard.svg + resources/decrement.svg + resources/increment.svg + resources/remove_row.svg + resources/arrow_left_green.svg + resources/arrow_right_green.svg + resources/arrow_top_green.svg + resources/arrow_up_green.svg + resources/arrow_down_green.svg + resources/arrow_bottom_green.svg + resources/icon_ready_start.svg + resources/icon_not_ready_start.svg + resources/icon_conceded.svg + resources/icon_player.svg + resources/icon_spectator.svg + resources/replay_start.svg + resources/replay_fastforward.svg + resources/replay_pause.svg + resources/genders/male.svg + resources/genders/female.svg + resources/genders/unknown.svg + resources/countries/ad.svg + resources/countries/ae.svg + resources/countries/af.svg + resources/countries/ag.svg + resources/countries/ai.svg + resources/countries/al.svg + resources/countries/am.svg + resources/countries/ao.svg + resources/countries/aq.svg + resources/countries/ar.svg + resources/countries/as.svg + resources/countries/at.svg + resources/countries/au.svg + resources/countries/aw.svg + resources/countries/ax.svg + resources/countries/az.svg + resources/countries/ba.svg + resources/countries/bb.svg + resources/countries/bd.svg + resources/countries/be.svg + resources/countries/bf.svg + resources/countries/bg.svg + resources/countries/bh.svg + resources/countries/bi.svg + resources/countries/bj.svg + resources/countries/bl.svg + resources/countries/bm.svg + resources/countries/bn.svg + resources/countries/bo.svg + resources/countries/bq.svg + resources/countries/br.svg + resources/countries/bs.svg + resources/countries/bt.svg + resources/countries/bv.svg + resources/countries/bw.svg + resources/countries/by.svg + resources/countries/bz.svg + resources/countries/ca.svg + resources/countries/cc.svg + resources/countries/cd.svg + resources/countries/cf.svg + resources/countries/cg.svg + resources/countries/ch.svg + resources/countries/ci.svg + resources/countries/ck.svg + resources/countries/cl.svg + resources/countries/cm.svg + resources/countries/cn.svg + resources/countries/co.svg + resources/countries/cr.svg + resources/countries/cu.svg + resources/countries/cv.svg + resources/countries/cw.svg + resources/countries/cx.svg + resources/countries/cy.svg + resources/countries/cz.svg + resources/countries/de.svg + resources/countries/dj.svg + resources/countries/dk.svg + resources/countries/dm.svg + resources/countries/do.svg + resources/countries/dz.svg + resources/countries/ec.svg + resources/countries/ee.svg + resources/countries/eg.svg + resources/countries/eh.svg + resources/countries/er.svg + resources/countries/es.svg + resources/countries/et.svg + resources/countries/fi.svg + resources/countries/fj.svg + resources/countries/fk.svg + resources/countries/fm.svg + resources/countries/fo.svg + resources/countries/fr.svg + resources/countries/ga.svg + resources/countries/gb.svg + resources/countries/gd.svg + resources/countries/ge.svg + resources/countries/gf.svg + resources/countries/gg.svg + resources/countries/gh.svg + resources/countries/gi.svg + resources/countries/gl.svg + resources/countries/gm.svg + resources/countries/gn.svg + resources/countries/gp.svg + resources/countries/gq.svg + resources/countries/gr.svg + resources/countries/gs.svg + resources/countries/gt.svg + resources/countries/gu.svg + resources/countries/gw.svg + resources/countries/gy.svg + resources/countries/hk.svg + resources/countries/hm.svg + resources/countries/hn.svg + resources/countries/hr.svg + resources/countries/ht.svg + resources/countries/hu.svg + resources/countries/id.svg + resources/countries/ie.svg + resources/countries/il.svg + resources/countries/im.svg + resources/countries/in.svg + resources/countries/io.svg + resources/countries/iq.svg + resources/countries/ir.svg + resources/countries/is.svg + resources/countries/it.svg + resources/countries/je.svg + resources/countries/jm.svg + resources/countries/jo.svg + resources/countries/jp.svg + resources/countries/ke.svg + resources/countries/kg.svg + resources/countries/kh.svg + resources/countries/ki.svg + resources/countries/km.svg + resources/countries/kn.svg + resources/countries/kp.svg + resources/countries/kr.svg + resources/countries/kw.svg + resources/countries/ky.svg + resources/countries/kz.svg + resources/countries/la.svg + resources/countries/lb.svg + resources/countries/lc.svg + resources/countries/li.svg + resources/countries/lk.svg + resources/countries/lr.svg + resources/countries/ls.svg + resources/countries/lt.svg + resources/countries/lu.svg + resources/countries/lv.svg + resources/countries/ly.svg + resources/countries/ma.svg + resources/countries/mc.svg + resources/countries/md.svg + resources/countries/me.svg + resources/countries/mf.svg + resources/countries/mg.svg + resources/countries/mh.svg + resources/countries/mk.svg + resources/countries/ml.svg + resources/countries/mm.svg + resources/countries/mn.svg + resources/countries/mo.svg + resources/countries/mp.svg + resources/countries/mq.svg + resources/countries/mr.svg + resources/countries/ms.svg + resources/countries/mt.svg + resources/countries/mu.svg + resources/countries/mv.svg + resources/countries/mw.svg + resources/countries/mx.svg + resources/countries/my.svg + resources/countries/mz.svg + resources/countries/na.svg + resources/countries/nc.svg + resources/countries/ne.svg + resources/countries/nf.svg + resources/countries/ng.svg + resources/countries/ni.svg + resources/countries/nl.svg + resources/countries/no.svg + resources/countries/np.svg + resources/countries/nr.svg + resources/countries/nu.svg + resources/countries/nz.svg + resources/countries/om.svg + resources/countries/pa.svg + resources/countries/pe.svg + resources/countries/pf.svg + resources/countries/pg.svg + resources/countries/ph.svg + resources/countries/pk.svg + resources/countries/pl.svg + resources/countries/pm.svg + resources/countries/pn.svg + resources/countries/pr.svg + resources/countries/ps.svg + resources/countries/pt.svg + resources/countries/pw.svg + resources/countries/py.svg + resources/countries/qa.svg + resources/countries/re.svg + resources/countries/ro.svg + resources/countries/rs.svg + resources/countries/ru.svg + resources/countries/rw.svg + resources/countries/sa.svg + resources/countries/sb.svg + resources/countries/sc.svg + resources/countries/sd.svg + resources/countries/se.svg + resources/countries/sg.svg + resources/countries/sh.svg + resources/countries/si.svg + resources/countries/sj.svg + resources/countries/sk.svg + resources/countries/sl.svg + resources/countries/sm.svg + resources/countries/sn.svg + resources/countries/so.svg + resources/countries/sr.svg + resources/countries/ss.svg + resources/countries/st.svg + resources/countries/sv.svg + resources/countries/sx.svg + resources/countries/sy.svg + resources/countries/sz.svg + resources/countries/tc.svg + resources/countries/td.svg + resources/countries/tf.svg + resources/countries/tg.svg + resources/countries/th.svg + resources/countries/tj.svg + resources/countries/tk.svg + resources/countries/tl.svg + resources/countries/tm.svg + resources/countries/tn.svg + resources/countries/to.svg + resources/countries/tr.svg + resources/countries/tt.svg + resources/countries/tv.svg + resources/countries/tw.svg + resources/countries/tz.svg + resources/countries/ua.svg + resources/countries/ug.svg + resources/countries/um.svg + resources/countries/us.svg + resources/countries/uy.svg + resources/countries/uz.svg + resources/countries/va.svg + resources/countries/vc.svg + resources/countries/ve.svg + resources/countries/vg.svg + resources/countries/vi.svg + resources/countries/vn.svg + resources/countries/vu.svg + resources/countries/wf.svg + resources/countries/ws.svg + resources/countries/ye.svg + resources/countries/yt.svg + resources/countries/za.svg + resources/countries/zm.svg + resources/countries/zw.svg + resources/counters/w.svg + resources/counters/w_highlight.svg + resources/counters/u.svg + resources/counters/u_highlight.svg + resources/counters/b.svg + resources/counters/b_highlight.svg + resources/counters/r.svg + resources/counters/r_highlight.svg + resources/counters/g.svg + resources/counters/g_highlight.svg + resources/counters/storm.svg + resources/counters/storm_highlight.svg + resources/counters/general.svg + resources/counters/general_highlight.svg + resources/userlevels/normal.svg + resources/userlevels/registered.svg + resources/userlevels/registered_buddy.svg + resources/userlevels/moderator.svg + resources/userlevels/moderator_buddy.svg + resources/userlevels/admin.svg + resources/userlevels/admin_buddy.svg + resources/news/exclamation_mark.svg + resources/news/question_mark.svg + resources/icon_config_shorcuts.svg + diff --git a/cockatrice/resources/icon_config_shorcuts.svg b/cockatrice/resources/icon_config_shorcuts.svg new file mode 100644 index 00000000..d52858cb --- /dev/null +++ b/cockatrice/resources/icon_config_shorcuts.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/cockatrice/src/abstractcounter.cpp b/cockatrice/src/abstractcounter.cpp index 3eb7ae0b..73fc81cb 100644 --- a/cockatrice/src/abstractcounter.cpp +++ b/cockatrice/src/abstractcounter.cpp @@ -67,15 +67,15 @@ void AbstractCounter::setShortcutsActive() { if (name == "life") { aSet->setShortcuts(settingsCache->shortcuts().getShortcut( - "AbstractCounter/aSet", + "Player/aSet", QKeySequence("Ctrl+L"))); aDec->setShortcuts(settingsCache->shortcuts().getShortcut( - "AbstractCounter/aDec", + "Player/aDec", QKeySequence("F11"))); aInc->setShortcuts(settingsCache->shortcuts().getShortcut( - "AbstractCounter/aInc", + "Player/aInc", QKeySequence("F12"))); } } diff --git a/cockatrice/src/dlg_settings.cpp b/cockatrice/src/dlg_settings.cpp index 02e84457..0ea5b5b6 100644 --- a/cockatrice/src/dlg_settings.cpp +++ b/cockatrice/src/dlg_settings.cpp @@ -28,6 +28,7 @@ #include "settingscache.h" #include "priceupdater.h" #include "soundengine.h" +#include "sequenceEdit/shortcutstab.h" #define LINKING_FAQ_URL "https://github.com/Cockatrice/Cockatrice/wiki/Custom-Download-URLs" @@ -858,6 +859,7 @@ DlgSettings::DlgSettings(QWidget *parent) pagesWidget->addWidget(new DeckEditorSettingsPage); pagesWidget->addWidget(new MessagesSettingsPage); pagesWidget->addWidget(new SoundSettingsPage); + pagesWidget->addWidget(new ShortcutsTab); createIcons(); contentsWidget->setCurrentRow(0); @@ -912,6 +914,11 @@ void DlgSettings::createIcons() soundButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); soundButton->setIcon(QIcon(":/resources/icon_config_sound.svg")); + shortcutsButton = new QListWidgetItem(contentsWidget); + shortcutsButton->setTextAlignment(Qt::AlignHCenter); + shortcutsButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); + shortcutsButton->setIcon(QIcon(":/resources/icon_config_shorcuts.svg")); + connect(contentsWidget, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem *))); } @@ -1021,6 +1028,7 @@ void DlgSettings::retranslateUi() deckEditorButton->setText(tr("Deck Editor")); messagesButton->setText(tr("Chat")); soundButton->setText(tr("Sound")); + shortcutsButton->setText(tr("Shortcuts")); for (int i = 0; i < pagesWidget->count(); i++) dynamic_cast(pagesWidget->widget(i))->retranslateUi(); diff --git a/cockatrice/src/dlg_settings.h b/cockatrice/src/dlg_settings.h index e3c8b158..d95ce606 100644 --- a/cockatrice/src/dlg_settings.h +++ b/cockatrice/src/dlg_settings.h @@ -223,6 +223,7 @@ private: QListWidget *contentsWidget; QStackedWidget *pagesWidget; QListWidgetItem *generalButton, *appearanceButton, *userInterfaceButton, *deckEditorButton, *messagesButton, *soundButton; + QListWidgetItem *shortcutsButton; void createIcons(); void retranslateUi(); protected: diff --git a/cockatrice/src/gameview.cpp b/cockatrice/src/gameview.cpp index 9eb2942e..b6495e34 100644 --- a/cockatrice/src/gameview.cpp +++ b/cockatrice/src/gameview.cpp @@ -21,7 +21,7 @@ GameView::GameView(QGraphicsScene *scene, QWidget *parent) aCloseMostRecentZoneView = new QAction(this); aCloseMostRecentZoneView->setShortcuts(settingsCache->shortcuts().getShortcut( - "GameView/aCloseMostRecentZoneView", + "Player/aCloseMostRecentZoneView", QKeySequence("Esc"))); connect(aCloseMostRecentZoneView, SIGNAL(triggered()), scene, SLOT(closeMostRecentZoneView())); addAction(aCloseMostRecentZoneView); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index f247f056..1db94781 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -616,6 +616,7 @@ void Player::retranslateUi() { aViewGraveyard->setText(tr("&View graveyard")); aViewRfg->setText(tr("&View exile")); + playerMenu->setTitle(tr("Player \"%1\"").arg(QString::fromStdString(userInfo->name()))); graveMenu->setTitle(tr("&Graveyard")); rfgMenu->setTitle(tr("&Exile")); @@ -682,14 +683,32 @@ void Player::retranslateUi() } aPlay->setText(tr("&Play")); + aPlay->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aPlay", QKeySequence())); + aHide->setText(tr("&Hide")); aPlayFacedown->setText(tr("Play &Face Down")); aTap->setText(tr("&Tap")); + aTap->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aTap", QKeySequence())); + aUntap->setText(tr("&Untap")); + aUntap->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aUntap", QKeySequence())); + aDoesntUntap->setText(tr("Toggle &normal untapping")); + aDoesntUntap->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDoesntUntap", QKeySequence())); + aFlip->setText(tr("&Flip")); + aFlip->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aFlip", QKeySequence())); + aPeek->setText(tr("&Peek at card face")); + aPeek->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aPeek", QKeySequence())); + aClone->setText(tr("&Clone")); aClone->setShortcuts(settingsCache->shortcuts().getShortcut( "Player/aClone", QKeySequence("Ctrl+J"))); @@ -699,7 +718,12 @@ void Player::retranslateUi() "Player/aAttach", QKeySequence("Ctrl+A"))); aUnattach->setText(tr("Unattac&h")); + aUnattach->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aUnattach", QKeySequence())); + aDrawArrow->setText(tr("&Draw arrow...")); + aDrawArrow->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aDrawArrow", QKeySequence())); aIncP->setText(tr("&Increase power")); aIncP->setShortcuts(settingsCache->shortcuts().getShortcut( @@ -730,24 +754,71 @@ void Player::retranslateUi() "Player/aSetPT", QKeySequence("Ctrl+P"))); aSetAnnotation->setText(tr("&Set annotation...")); + aSetAnnotation->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aSetAnnotation", QKeySequence())); + QStringList counterColors; counterColors.append(tr("Red")); counterColors.append(tr("Yellow")); counterColors.append(tr("Green")); - for (int i = 0; i < aAddCounter.size(); ++i) + + QList addCCShortCuts; + addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aCCRed", QKeySequence())); + addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aCCYellow", QKeySequence())); + addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aCCGreen", QKeySequence())); + + QList removeCCShortCuts; + removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aRCRed", QKeySequence())); + removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aRCYellow", QKeySequence())); + removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aRCGreen", QKeySequence())); + + QList setCCShortCuts; + setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aSCRed", QKeySequence())); + setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aSCYellow", QKeySequence())); + setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( + "Player/aSCGreen", QKeySequence())); + + for (int i = 0; i < aAddCounter.size(); ++i){ aAddCounter[i]->setText(tr("&Add counter (%1)").arg(counterColors[i])); - for (int i = 0; i < aRemoveCounter.size(); ++i) + aAddCounter[i]->setShortcut(addCCShortCuts[i]); + } + for (int i = 0; i < aRemoveCounter.size(); ++i){ aRemoveCounter[i]->setText(tr("&Remove counter (%1)").arg(counterColors[i])); - for (int i = 0; i < aSetCounter.size(); ++i) + aRemoveCounter[i]->setShortcut(removeCCShortCuts[i]); + } + for (int i = 0; i < aSetCounter.size(); ++i){ aSetCounter[i]->setText(tr("&Set counters (%1)...").arg(counterColors[i])); + aSetCounter[i]->setShortcut(setCCShortCuts[i]); + } + aMoveToTopLibrary->setText(tr("&Top of library")); + aMoveToTopLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aMoveToTopLibrary", QKeySequence())); + aMoveToBottomLibrary->setText(tr("&Bottom of library")); + aMoveToBottomLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aMoveToBottomLibrary", QKeySequence())); + aMoveToHand->setText(tr("&Hand")); + aMoveToHand->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aMoveToHand", QKeySequence())); + aMoveToGraveyard->setText(tr("&Graveyard")); aMoveToGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( "Player/aMoveToGraveyard", QKeySequence("Ctrl+Del"))); + aMoveToExile->setText(tr("&Exile")); - + aMoveToExile->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aMoveToExile", QKeySequence())); + QMapIterator zoneIterator(zones); while (zoneIterator.hasNext()) zoneIterator.next().value()->retranslateUi(); @@ -769,6 +840,9 @@ void Player::setShortcutsActive() aViewGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( "Player/aViewGraveyard", QKeySequence("F4"))); + aViewRfg->setShortcuts(settingsCache->shortcuts().getShortcut( + "Player/aViewRfg", QKeySequence())); + aDrawCard->setShortcuts(settingsCache->shortcuts().getShortcut( "Player/aDrawCard", QKeySequence("Ctrl+D"))); @@ -838,14 +912,11 @@ void Player::initSayMenu() QSettings settings; settings.beginGroup("messages"); int count = settings.value("count", 0).toInt(); - QString base = settingsCache->shortcuts().getSingleShortcut( - "Player/say", QKeySequence("Ctrl")).toString(); - base = base.append("+"); for (int i = 0; i < count; i++) { QAction *newAction = new QAction(settings.value(QString("msg%1").arg(i)).toString(), this); if (i <= 10){ - newAction->setShortcut(QKeySequence(base + QString::number((i + 1) % 10))); + newAction->setShortcut(QKeySequence("Ctrl+" + QString::number((i + 1) % 10))); } connect(newAction, SIGNAL(triggered()), this, SLOT(actSayMessage())); sayMenu->addAction(newAction); @@ -861,10 +932,6 @@ void Player::setDeck(const DeckLoader &_deck) predefinedTokens.clear(); InnerDecklistNode *tokenZone = dynamic_cast(deck->getRoot()->findChild("tokens")); - QString base = settingsCache->shortcuts().getSingleShortcut( - "Player/token", QKeySequence("Alt")).toString(); - base = base.append("+"); - if (tokenZone) for (int i = 0; i < tokenZone->size(); ++i) { const QString tokenName = tokenZone->at(i)->getName(); @@ -872,7 +939,7 @@ void Player::setDeck(const DeckLoader &_deck) QAction *a = createPredefinedTokenMenu->addAction(tokenName); if (i < 10) { - a->setShortcut(QKeySequence(base + QString::number((i + 1) % 10))); + a->setShortcut(QKeySequence("Alt+" + QString::number((i + 1) % 10))); } connect(a, SIGNAL(triggered()), this, SLOT(actCreatePredefinedToken())); } diff --git a/cockatrice/src/sequenceEdit/secuenceedit.cpp b/cockatrice/src/sequenceEdit/secuenceedit.cpp new file mode 100644 index 00000000..dc8721ec --- /dev/null +++ b/cockatrice/src/sequenceEdit/secuenceedit.cpp @@ -0,0 +1,150 @@ +#include "secuenceedit.h" +#include "../settingscache.h" +#include +#include +#include +#include +#include +#include + +SecuenceEdit::SecuenceEdit(QString name, QWidget *parent) : QWidget(parent) +{ + this->shorcutName = name; + currentKey = 0; + maxKeys = 4; + keys = 0; + valid = false; + + lineEdit = new QLineEdit(this); + clearButton = new QPushButton("", this); + defaultButton = new QPushButton("", this); + + lineEdit->setMinimumWidth(100); + clearButton->setMaximumWidth(lineEdit->height()); + defaultButton->setMaximumWidth(lineEdit->height()); + + clearButton->setIcon(QIcon(":/resources/icon_clearsearch.svg")); + defaultButton->setIcon(QIcon(":/resources/icon_update.png")); + + QHBoxLayout *layout = new QHBoxLayout(this); + layout->setContentsMargins(0,0,0,0); + layout->setSpacing(0); + layout->addWidget(lineEdit); + layout->addWidget(clearButton); + layout->addWidget(defaultButton); + + connect(clearButton,SIGNAL(clicked()),this,SLOT(removeLastShortcut())); + connect(defaultButton,SIGNAL(clicked()),this,SLOT(restoreDefault())); + lineEdit->installEventFilter(this); + + lineEdit->setText(settingsCache->shortcuts().getShortcutString(name)); +} + +QString SecuenceEdit::getSecuence() +{ + return lineEdit->text(); +} + +void SecuenceEdit::removeLastShortcut() +{ + QString secuences = lineEdit->text(); + if(!secuences.isEmpty()) + { + if(secuences.lastIndexOf(";") > 0){ + QString valid = secuences.left(secuences.lastIndexOf(";")); + lineEdit->setText(valid); + } + else + lineEdit->clear(); + updateSettings(); + } +} + +void SecuenceEdit::restoreDefault() +{ + lineEdit->setText(settingsCache->shortcuts().getDefaultShortcutString(shorcutName)); + updateSettings(); +} + +bool SecuenceEdit::eventFilter(QObject *, QEvent * event) +{ + if(event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) + { + QKeyEvent * keyEvent = (QKeyEvent *) event; + + if(event->type() == QEvent::KeyPress && !keyEvent->isAutoRepeat()) + processKey(keyEvent); + else if (event->type() == QEvent::KeyRelease && !keyEvent->isAutoRepeat()) + finishShortcut(); + return true; + } + return false; +} + +void SecuenceEdit::processKey(QKeyEvent* e) +{ + int key = e->key(); + if(key != Qt::Key_Control && key != Qt::Key_Shift + && key != Qt::Key_Meta && key != Qt::Key_Alt) + { + valid = true; + key |= translateModifiers(e->modifiers(), e->text()); + } + keys = key; + currentKey++; + if(currentKey >= key) + finishShortcut(); +} + +int SecuenceEdit::translateModifiers(Qt::KeyboardModifiers state, const QString &text) +{ + int result = 0; + // The shift modifier only counts when it is not used to type a symbol + // that is only reachable using the shift key anyway + if ((state & Qt::ShiftModifier) && (text.isEmpty() || + !text.at(0).isPrint() || + text.at(0).isLetterOrNumber() || + text.at(0).isSpace())) + result |= Qt::SHIFT; + + if (state & Qt::ControlModifier) + result |= Qt::CTRL; + if (state & Qt::MetaModifier) + result |= Qt::META; + if (state & Qt::AltModifier) + result |= Qt::ALT; + return result; +} + +void SecuenceEdit::finishShortcut() +{ + QKeySequence secuence(keys); + if(!secuence.isEmpty() && valid) + { + QString secuenceString = secuence.toString(); + if(settingsCache->shortcuts().isValid(shorcutName,secuenceString)) + { + if(!lineEdit->text().isEmpty()) + { + if(lineEdit->text().contains(secuenceString)) + return; + lineEdit->setText(lineEdit->text() + ";"); + } + lineEdit->setText(lineEdit->text() + secuenceString); + } + else + { + QToolTip::showText(lineEdit->mapToGlobal(QPoint()), tr("Shortcut already in use")); + } + } + currentKey = 0; + keys = 0; + valid = false; + updateSettings(); +} + +void SecuenceEdit::updateSettings() +{ + settingsCache->shortcuts().setShortcuts(shorcutName,lineEdit->text()); +} + diff --git a/cockatrice/src/sequenceEdit/secuenceedit.h b/cockatrice/src/sequenceEdit/secuenceedit.h new file mode 100644 index 00000000..eef971fb --- /dev/null +++ b/cockatrice/src/sequenceEdit/secuenceedit.h @@ -0,0 +1,40 @@ +#ifndef SECUENCEEDIT_H +#define SECUENCEEDIT_H + +#include +#include + +class QLineEdit; +class QPushButton; +class QEvent; + +class SecuenceEdit : public QWidget +{ + Q_OBJECT +public: + SecuenceEdit(QString shorcutName, QWidget *parent = 0); + QString getSecuence(); +signals: + +private slots: + void removeLastShortcut(); + void restoreDefault(); +protected: + bool eventFilter(QObject *, QEvent *event); +private: + QString shorcutName; + QLineEdit *lineEdit; + QPushButton *clearButton; + QPushButton *defaultButton; + int keys; + int currentKey; + int maxKeys; + bool valid; + + void processKey(QKeyEvent *e); + int translateModifiers(Qt::KeyboardModifiers state, const QString &text); + void finishShortcut(); + void updateSettings(); +}; + +#endif // SECUENCEEDIT_H diff --git a/cockatrice/src/sequenceEdit/shortcutstab.cpp b/cockatrice/src/sequenceEdit/shortcutstab.cpp new file mode 100644 index 00000000..b28a1466 --- /dev/null +++ b/cockatrice/src/sequenceEdit/shortcutstab.cpp @@ -0,0 +1,18 @@ +#include "shortcutstab.h" +#include "ui_shortcutstab.h" + +ShortcutsTab::ShortcutsTab() : + ui(new Ui::shortcutsTab) +{ + ui->setupUi(this); +} + +void ShortcutsTab::retranslateUi() +{ + ui->retranslateUi(this); +} + +ShortcutsTab::~ShortcutsTab() +{ + delete ui; +} diff --git a/cockatrice/src/sequenceEdit/shortcutstab.h b/cockatrice/src/sequenceEdit/shortcutstab.h new file mode 100644 index 00000000..c2e88d39 --- /dev/null +++ b/cockatrice/src/sequenceEdit/shortcutstab.h @@ -0,0 +1,25 @@ +#ifndef SHORTCUTSTAB_H +#define SHORTCUTSTAB_H + +#include + +#include "../dlg_settings.h" + +namespace Ui { +class shortcutsTab; +} + +class ShortcutsTab : public AbstractSettingsPage +{ + Q_OBJECT + +public: + ShortcutsTab(); + void retranslateUi(); + ~ShortcutsTab(); + +private: + Ui::shortcutsTab *ui; +}; + +#endif // SHORTCUTSTAB_H diff --git a/cockatrice/src/shortcutssettings.cpp b/cockatrice/src/shortcutssettings.cpp index 399f9667..38b28bad 100644 --- a/cockatrice/src/shortcutssettings.cpp +++ b/cockatrice/src/shortcutssettings.cpp @@ -1,43 +1,38 @@ #include "shortcutssettings.h" - -#include -QList ShortcutsSettings::parseSecuenceString(QString stringSecuence) -{ - QStringList secuences = stringSecuence.split(";"); - QList secuenceList; - for(QStringList::const_iterator ss = secuences.cbegin(); ss != secuences.cend(); ++ss) - { - secuenceList.append(QKeySequence(*ss, QKeySequence::PortableText)); - } - - return secuenceList; -} +#include ShortcutsSettings::ShortcutsSettings(QString settingsPath, QObject *parent) : QObject(parent) { this->settingsFilePath = settingsPath; this->settingsFilePath.append("shortcuts.ini"); + fillDefaultShorcuts(); + shortCuts = QMap >(defaultShortCuts); + + bool exists = QFile(settingsFilePath).exists(); + QSettings shortCutsFile(settingsFilePath, QSettings::IniFormat); - shortCutsFile.beginGroup("Custom"); - const QStringList customKeys = shortCutsFile.allKeys(); - for(QStringList::const_iterator it = customKeys.cbegin(); it != customKeys.cend(); ++it) - { - QString stringSecuence = shortCutsFile.value(*it).toString(); - QList secuenceList = parseSecuenceString(stringSecuence); - shortCuts.insert(*it, secuenceList); - } - shortCutsFile.endGroup(); + if(exists){ + shortCutsFile.beginGroup("Custom"); + const QStringList customKeys = shortCutsFile.allKeys(); + for(QStringList::const_iterator it = customKeys.cbegin(); it != customKeys.cend(); ++it) + { + QString stringSecuence = shortCutsFile.value(*it).toString(); + QList secuenceList = parseSecuenceString(stringSecuence); + shortCuts.insert(*it, secuenceList); + } + shortCutsFile.endGroup(); - shortCutsFile.beginGroup("Defaults"); - const QStringList defaultKeys = shortCutsFile.allKeys(); - for(QStringList::const_iterator it = defaultKeys.cbegin(); it != defaultKeys.cend(); ++it) - { - QString stringSecuence = shortCutsFile.value(*it).toString(); - QList secuenceList = parseSecuenceString(stringSecuence); - defaultShortCuts.insert(*it, secuenceList); + shortCutsFile.beginGroup("Defaults"); + const QStringList defaultKeys = shortCutsFile.allKeys(); + for(QStringList::const_iterator it = defaultKeys.cbegin(); it != defaultKeys.cend(); ++it) + { + QString stringSecuence = shortCutsFile.value(*it).toString(); + QList secuenceList = parseSecuenceString(stringSecuence); + defaultShortCuts.insert(*it, secuenceList); + } + shortCutsFile.endGroup(); } - shortCutsFile.endGroup(); } QList ShortcutsSettings::getShortcut(QString name, QList defaultShortCut) @@ -66,9 +61,14 @@ QKeySequence ShortcutsSettings::getSingleShortcut(QString name, QKeySequence def return getShortcut(name,defaultShortCut).at(0); } -QList ShortcutsSettings::getDefaultShortCut(QString name) +QString ShortcutsSettings::getDefaultShortcutString(QString name) { - return defaultShortCuts.value(name); + return stringifySecuence(defaultShortCuts.value(name)); +} + +QString ShortcutsSettings::getShortcutString(QString name) +{ + return stringifySecuence(shortCuts.value(name)); } QString ShortcutsSettings::stringifySecuence(QList secuence) const @@ -84,6 +84,18 @@ QString ShortcutsSettings::stringifySecuence(QList secuence) const return stringSecuence; } +QList ShortcutsSettings::parseSecuenceString(QString stringSecuence) +{ + QStringList secuences = stringSecuence.split(";"); + QList secuenceList; + for(QStringList::const_iterator ss = secuences.cbegin(); ss != secuences.cend(); ++ss) + { + secuenceList.append(QKeySequence(*ss, QKeySequence::PortableText)); + } + + return secuenceList; +} + void ShortcutsSettings::setShortcuts(QString name, QList secuence) { shortCuts[name] = secuence; @@ -100,3 +112,136 @@ void ShortcutsSettings::setShortcuts(QString name, QKeySequence secuence) setShortcuts(name, QList() << secuence); } +void ShortcutsSettings::setShortcuts(QString name, QString secuences) +{ + setShortcuts(name,parseSecuenceString(secuences)); +} + +bool ShortcutsSettings::isValid(QString name, QString secuences) +{ + QString checkKey = name.left(name.indexOf("/")); + + QStringList stringSecuences = secuences.split(";"); + + QList allKeys = shortCuts.keys(); + for(int i=0; i < allKeys.size(); i++){ + QString key = allKeys.at(i); + if(key.startsWith(checkKey) || key.startsWith("MainWindow") || checkKey.startsWith("MainWindow")) + { + QString storedSecuence = stringifySecuence(shortCuts.value(key)); + for(int j = 0; j < stringSecuences.size(); j++) + { + if(storedSecuence.contains(stringSecuences.at(j))) + return false; + } + } + } + return true; +} + +void ShortcutsSettings::fillDefaultShorcuts() +{ + defaultShortCuts["MainWindow/aCheckCardUpdates"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aConnect"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aDeckEditor"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aDisconnect"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aExit"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aFullScreen"] = parseSecuenceString("Ctrl+F"); + defaultShortCuts["MainWindow/aRegister"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aSettings"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aSinglePlayer"] = parseSecuenceString(""); + defaultShortCuts["MainWindow/aWatchReplay"] = parseSecuenceString(""); + + defaultShortCuts["TabDeckEditor/aAnalyzeDeck"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aClearFilterAll"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aClearFilterOne"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aClose"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aDecrement"] = parseSecuenceString("-"); + defaultShortCuts["TabDeckEditor/aEditSets"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aEditTokens"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aIncrement"] = parseSecuenceString("+"); + defaultShortCuts["TabDeckEditor/aLoadDeck"] = parseSecuenceString("Ctrl+O"); + defaultShortCuts["TabDeckEditor/aLoadDeckFromClipboard"] = parseSecuenceString("Ctrl+V"); + defaultShortCuts["TabDeckEditor/aNewDeck"] = parseSecuenceString("Ctrl+N"); + defaultShortCuts["TabDeckEditor/aOpenCustomFolder"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aPrintDeck"] = parseSecuenceString("Ctrl+P"); + defaultShortCuts["TabDeckEditor/aRemoveCard"] = parseSecuenceString("Del"); + defaultShortCuts["TabDeckEditor/aResetLayout"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aSaveDeck"] = parseSecuenceString("Ctrl+S"); + defaultShortCuts["TabDeckEditor/aSaveDeckAs"] = parseSecuenceString(""); + defaultShortCuts["TabDeckEditor/aSaveDeckToClipboard"] = parseSecuenceString("Ctrl+C"); + + defaultShortCuts["DeckViewContainer/loadLocalButton"] = parseSecuenceString("Ctrl+O"); + defaultShortCuts["DeckViewContainer/loadRemoteButton"] = parseSecuenceString("Ctrl+Alt+O"); + + defaultShortCuts["Player/aDec"] = parseSecuenceString("F11"); + defaultShortCuts["Player/aInc"] = parseSecuenceString("F12"); + defaultShortCuts["Player/aSet"] = parseSecuenceString("Ctrl+L"); + defaultShortCuts["Player/aCloseMostRecentZoneView"] = parseSecuenceString("Esc"); + defaultShortCuts["Player/IncP"] = parseSecuenceString("Ctrl++"); + defaultShortCuts["Player/aAlwaysRevealTopCard"] = parseSecuenceString("Ctrl+N"); + defaultShortCuts["Player/aAttach"] = parseSecuenceString("Ctrl+A"); + defaultShortCuts["Player/aCCGreen"] = parseSecuenceString(""); + defaultShortCuts["Player/aCCRed"] = parseSecuenceString(""); + defaultShortCuts["Player/aCCYellow"] = parseSecuenceString(""); + defaultShortCuts["Player/aClone"] = parseSecuenceString("Ctrl+J"); + defaultShortCuts["Player/aCreateAnotherToken"] = parseSecuenceString("Ctrl+G"); + defaultShortCuts["Player/aCreateToken"] = parseSecuenceString("Ctrl+T"); + defaultShortCuts["Player/aDecP"] = parseSecuenceString("Ctrl+-"); + defaultShortCuts["Player/aDecPT"] = parseSecuenceString("Ctrl+Alt+-"); + defaultShortCuts["Player/aDecT"] = parseSecuenceString("Alt+-"); + defaultShortCuts["Player/aDoesntUntap"] = parseSecuenceString(""); + defaultShortCuts["Player/aDrawArrow"] = parseSecuenceString(""); + defaultShortCuts["Player/aDrawCard"] = parseSecuenceString("Ctrl+D"); + defaultShortCuts["Player/aDrawCards"] = parseSecuenceString("Ctrl+E"); + defaultShortCuts["Player/aFlip"] = parseSecuenceString(""); + defaultShortCuts["Player/aIncPT"] = parseSecuenceString("Ctrl+Alt++"); + defaultShortCuts["Player/aIncT"] = parseSecuenceString("Alt++"); + defaultShortCuts["Player/aMoveToBottomLibrary"] = parseSecuenceString(""); + defaultShortCuts["Player/aMoveToExile"] = parseSecuenceString(""); + defaultShortCuts["Player/aMoveToGraveyard"] = parseSecuenceString("Ctrl+Del"); + defaultShortCuts["Player/aMoveToHand"] = parseSecuenceString(""); + defaultShortCuts["Player/aMoveToTopLibrary"] = parseSecuenceString(""); + defaultShortCuts["Player/aMulligan"] = parseSecuenceString("Ctrl+M"); + defaultShortCuts["Player/aPeek"] = parseSecuenceString(""); + defaultShortCuts["Player/aPlay"] = parseSecuenceString(""); + defaultShortCuts["Player/aRCGreen"] = parseSecuenceString(""); + defaultShortCuts["Player/aRCRed"] = parseSecuenceString(""); + defaultShortCuts["Player/aRCYellow"] = parseSecuenceString(""); + defaultShortCuts["Player/aRollDie"] = parseSecuenceString("Ctrl+I"); + defaultShortCuts["Player/aSCGreen"] = parseSecuenceString(""); + defaultShortCuts["Player/aSCRed"] = parseSecuenceString(""); + defaultShortCuts["Player/aSCYellow"] = parseSecuenceString(""); + defaultShortCuts["Player/aSetAnnotation"] = parseSecuenceString(""); + defaultShortCuts["Player/aSetPT"] = parseSecuenceString("Ctrl+P"); + defaultShortCuts["Player/aShuffle"] = parseSecuenceString("Ctrl+S"); + defaultShortCuts["Player/aTap"] = parseSecuenceString(""); + defaultShortCuts["Player/aUnattach"] = parseSecuenceString(""); + defaultShortCuts["Player/aUndoDraw"] = parseSecuenceString("Ctrl+Shift+D"); + defaultShortCuts["Player/aUntap"] = parseSecuenceString(""); + defaultShortCuts["Player/aUntapAll"] = parseSecuenceString("Ctrl+U"); + defaultShortCuts["Player/aViewGraveyard"] = parseSecuenceString("F4"); + defaultShortCuts["Player/aViewLibrary"] = parseSecuenceString("F3"); + defaultShortCuts["Player/aViewRfg"] = parseSecuenceString(""); + defaultShortCuts["Player/aViewSideboard"] = parseSecuenceString("Ctrl+F3"); + defaultShortCuts["Player/aViewTopCards"] = parseSecuenceString("Ctrl+W"); + defaultShortCuts["Player/aConcede"] = parseSecuenceString("F2"); + defaultShortCuts["Player/aLeaveGame"] = parseSecuenceString("Ctrl+Q"); + defaultShortCuts["Player/aNextPhase"] = parseSecuenceString("Ctrl+Space;Tab"); + defaultShortCuts["Player/aNextTurn"] = parseSecuenceString("Ctrl+Return;Ctrl+Enter"); + defaultShortCuts["Player/aRemoveLocalArrows"] = parseSecuenceString("Ctrl+R"); + defaultShortCuts["Player/aRotateViewCCW"] = parseSecuenceString("Ctrl+["); + defaultShortCuts["Player/aRotateViewCW"] = parseSecuenceString("Ctrl+]"); + defaultShortCuts["Player/phase0"] = parseSecuenceString("F5"); + defaultShortCuts["Player/phase1"] = parseSecuenceString(""); + defaultShortCuts["Player/phase10"] = parseSecuenceString("F10"); + defaultShortCuts["Player/phase2"] = parseSecuenceString("F6"); + defaultShortCuts["Player/phase3"] = parseSecuenceString("F7"); + defaultShortCuts["Player/phase4"] = parseSecuenceString("F8"); + defaultShortCuts["Player/phase5"] = parseSecuenceString(""); + defaultShortCuts["Player/phase6"] = parseSecuenceString(""); + defaultShortCuts["Player/phase7"] = parseSecuenceString(""); + defaultShortCuts["Player/phase8"] = parseSecuenceString(""); + defaultShortCuts["Player/phase9"] = parseSecuenceString("F9"); +} + diff --git a/cockatrice/src/shortcutssettings.h b/cockatrice/src/shortcutssettings.h index f0aa795d..d986e3b2 100644 --- a/cockatrice/src/shortcutssettings.h +++ b/cockatrice/src/shortcutssettings.h @@ -16,19 +16,20 @@ public: QList getShortcut(QString name, QList defaultShortCut); QList getShortcut(QString name, QKeySequence defaultShortCut); QKeySequence getSingleShortcut(QString name, QKeySequence defaultShortCut); - QList getDefaultShortCut(QString name); + + QString getDefaultShortcutString(QString name); + QString getShortcutString(QString name); void setShortcuts(QString name, QList secuence); void setShortcuts(QString name, QKeySequence secuence); + void setShortcuts(QString name, QString secuences); -signals: - -public slots: - + bool isValid(QString name, QString secuences); private: QString settingsFilePath; QMap > shortCuts; QMap > defaultShortCuts; + void fillDefaultShorcuts(); QString stringifySecuence(QList secuence) const; QList parseSecuenceString(QString stringSecuence); diff --git a/cockatrice/src/tab_deck_editor.cpp b/cockatrice/src/tab_deck_editor.cpp index ab442089..6e5f9270 100644 --- a/cockatrice/src/tab_deck_editor.cpp +++ b/cockatrice/src/tab_deck_editor.cpp @@ -254,26 +254,28 @@ void TabDeckEditor::createFiltersDock() void TabDeckEditor::createMenus() { aNewDeck = new QAction(QString(), this); + connect(aNewDeck, SIGNAL(triggered()), this, SLOT(actNewDeck())); aNewDeck->setShortcuts(settingsCache->shortcuts().getShortcut( "TabDeckEditor/aNewDeck", QKeySequence::New)); - connect(aNewDeck, SIGNAL(triggered()), this, SLOT(actNewDeck())); aLoadDeck = new QAction(QString(), this); + connect(aLoadDeck, SIGNAL(triggered()), this, SLOT(actLoadDeck())); aLoadDeck->setShortcuts(settingsCache->shortcuts().getShortcut( "TabDeckEditor/aLoadDeck", QKeySequence::Open)); - connect(aLoadDeck, SIGNAL(triggered()), this, SLOT(actLoadDeck())); aSaveDeck = new QAction(QString(), this); + connect(aSaveDeck, SIGNAL(triggered()), this, SLOT(actSaveDeck())); aSaveDeck->setShortcuts(settingsCache->shortcuts().getShortcut( "TabDeckEditor/aSaveDeck", QKeySequence::Save)); - connect(aSaveDeck, SIGNAL(triggered()), this, SLOT(actSaveDeck())); aSaveDeckAs = new QAction(QString(), this); -// aSaveDeckAs->setShortcuts(QKeySequence::SaveAs); connect(aSaveDeckAs, SIGNAL(triggered()), this, SLOT(actSaveDeckAs())); + aSaveDeckAs->setShortcuts(QKeySequence::SaveAs); + aSaveDeckAs->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aSaveDeckAs", QKeySequence())); aLoadDeckFromClipboard = new QAction(QString(), this); connect(aLoadDeckFromClipboard, SIGNAL(triggered()), this, SLOT(actLoadDeckFromClipboard())); @@ -288,24 +290,39 @@ void TabDeckEditor::createMenus() QKeySequence::Copy)); aPrintDeck = new QAction(QString(), this); + connect(aPrintDeck, SIGNAL(triggered()), this, SLOT(actPrintDeck())); aPrintDeck->setShortcuts(settingsCache->shortcuts().getShortcut( "TabDeckEditor/aPrintDeck",QKeySequence::Print)); - connect(aPrintDeck, SIGNAL(triggered()), this, SLOT(actPrintDeck())); aAnalyzeDeck = new QAction(QString(), this); connect(aAnalyzeDeck, SIGNAL(triggered()), this, SLOT(actAnalyzeDeck())); + aAnalyzeDeck->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aAnalyzeDeck", QKeySequence())); + aClose = new QAction(QString(), this); connect(aClose, SIGNAL(triggered()), this, SLOT(closeRequest())); + aClose->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aClose", QKeySequence())); + aOpenCustomFolder = new QAction(QString(), this); connect(aOpenCustomFolder, SIGNAL(triggered()), this, SLOT(actOpenCustomFolder())); + aOpenCustomFolder->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aOpenCustomFolder", QKeySequence())); aEditSets = new QAction(QString(), this); connect(aEditSets, SIGNAL(triggered()), this, SLOT(actEditSets())); + aEditSets->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aEditSets", QKeySequence())); + aEditTokens = new QAction(QString(), this); connect(aEditTokens, SIGNAL(triggered()), this, SLOT(actEditTokens())); + aEditTokens->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aEditTokens", QKeySequence())); aResetLayout = new QAction(QString(), this); connect(aResetLayout,SIGNAL(triggered()),this,SLOT(restartLayout())); + aResetLayout->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aResetLayout", QKeySequence())); deckMenu = new QMenu(this); deckMenu->addAction(aNewDeck); @@ -328,10 +345,14 @@ void TabDeckEditor::createMenus() aClearFilterAll = new QAction(QString(), this); aClearFilterAll->setIcon(QIcon(":/resources/icon_clearsearch.svg")); connect(aClearFilterAll, SIGNAL(triggered()), this, SLOT(actClearFilterAll())); + aClearFilterAll->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aClearFilterAll", QKeySequence())); aClearFilterOne = new QAction(QString(), this); aClearFilterOne->setIcon(QIcon(":/resources/decrement.svg")); connect(aClearFilterOne, SIGNAL(triggered()), this, SLOT(actClearFilterOne())); + aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut( + "TabDeckEditor/aClearFilterOne", QKeySequence())); dbMenu = new QMenu(this); dbMenu->addAction(aEditSets); diff --git a/cockatrice/src/tab_game.cpp b/cockatrice/src/tab_game.cpp index 83fa5420..6e64a359 100644 --- a/cockatrice/src/tab_game.cpp +++ b/cockatrice/src/tab_game.cpp @@ -473,12 +473,17 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, QList &_client QAction *temp = new QAction(QString(), this); connect(temp, SIGNAL(triggered()), this, SLOT(actPhaseAction())); switch (i) { - case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase0" ,QKeySequence("F5"))); break; - case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase2" ,QKeySequence("F6"))); break; - case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase3" ,QKeySequence("F7"))); break; - case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase4" ,QKeySequence("F8"))); break; - case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase9" ,QKeySequence("F9"))); break; - case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("TabGame/phase10" ,QKeySequence("F10"))); break; + case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase0" ,QKeySequence("F5"))); break; + case 1: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase1" ,QKeySequence())); break; + case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase2" ,QKeySequence("F6"))); break; + case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase3" ,QKeySequence("F7"))); break; + case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase4" ,QKeySequence("F8"))); break; + case 5: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase5" ,QKeySequence())); break; + case 6: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase6" ,QKeySequence())); break; + case 7: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase7" ,QKeySequence())); break; + case 8: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase8" ,QKeySequence())); break; + case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase9" ,QKeySequence("F9"))); break; + case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase10" ,QKeySequence("F10"))); break; default: ; } phasesMenu->addAction(temp); @@ -550,7 +555,7 @@ void TabGame::retranslateUi() if (aNextPhase) { aNextPhase->setText(tr("Next &phase")); aNextPhase->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aNextPhase", + "Player/aNextPhase", QList() << QKeySequence("Ctrl+Space") << QKeySequence("Tab"))); @@ -558,7 +563,7 @@ void TabGame::retranslateUi() if (aNextTurn) { aNextTurn->setText(tr("Next &turn")); aNextTurn->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aNextTurn", + "Player/aNextTurn", QList() << QKeySequence("Ctrl+Return") << QKeySequence("Ctrl+Enter"))); @@ -566,19 +571,19 @@ void TabGame::retranslateUi() if (aRemoveLocalArrows) { aRemoveLocalArrows->setText(tr("&Remove all local arrows")); aRemoveLocalArrows->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aRemoveLocalArrows", + "Player/aRemoveLocalArrows", QKeySequence("Ctrl+R"))); } if (aRotateViewCW) { aRotateViewCW->setText(tr("Rotate View Cl&ockwise")); aRotateViewCW->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aRotateViewCW", + "Player/aRotateViewCW", QKeySequence("Ctrl+]"))); } if (aRotateViewCCW) { aRotateViewCCW->setText(tr("Rotate View Co&unterclockwise")); aRotateViewCCW->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aRotateViewCCW", + "Player/aRotateViewCCW", QKeySequence("Ctrl+["))); } if (aGameInfo) @@ -586,19 +591,19 @@ void TabGame::retranslateUi() if (aConcede) { aConcede->setText(tr("&Concede")); aConcede->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aRotateViewCCW", + "Player/aConcede", QKeySequence("F2"))); } if (aLeaveGame) { aLeaveGame->setText(tr("&Leave game")); aLeaveGame->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aLeaveGame", + "Player/aLeaveGame", QKeySequence("Ctrl+Q"))); } if (aCloseReplay) { aCloseReplay->setText(tr("C&lose replay")); aCloseReplay->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabGame/aCloseReplay", + "Player/aCloseReplay", QKeySequence("Ctrl+Q"))); } diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp index 291299fe..25198109 100644 --- a/cockatrice/src/window_main.cpp +++ b/cockatrice/src/window_main.cpp @@ -453,24 +453,54 @@ void MainWindow::retranslateUi() setClientStatusTitle(); aConnect->setText(tr("&Connect...")); + aConnect->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aConnect", QKeySequence())); + aDisconnect->setText(tr("&Disconnect")); + aDisconnect->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aDisconnect", QKeySequence())); + aSinglePlayer->setText(tr("Start &local game...")); + aSinglePlayer->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aSinglePlayer", QKeySequence())); + aWatchReplay->setText(tr("&Watch replay...")); + aWatchReplay->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aWatchReplay", QKeySequence())); + aDeckEditor->setText(tr("&Deck editor")); + aDeckEditor->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aDeckEditor", QKeySequence())); + aFullScreen->setText(tr("&Full screen")); - aFullScreen->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aFullScreen", QKeySequence("Ctrl+F"))); + aFullScreen->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aFullScreen", QKeySequence("Ctrl+F"))); + aRegister->setText(tr("&Register to server...")); + aRegister->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aRegister", QKeySequence())); + aSettings->setText(tr("&Settings...")); + aSettings->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aSettings", QKeySequence())); + aExit->setText(tr("&Exit")); + aExit->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aExit", QKeySequence())); #if defined(__APPLE__) /* For OSX */ cockatriceMenu->setTitle(tr("A&ctions")); #else cockatriceMenu->setTitle(tr("&Cockatrice")); #endif + aAbout->setText(tr("&About Cockatrice")); helpMenu->setTitle(tr("&Help")); + aCheckCardUpdates->setText(tr("Check for card updates...")); + aCheckCardUpdates->setShortcuts(settingsCache->shortcuts().getShortcut( + "MainWindow/aCheckCardUpdates", + QKeySequence())); tabSupervisor->retranslateUi(); } From 1ca89e0b09ce58674c447d3c951817d0ebda2782 Mon Sep 17 00:00:00 2001 From: marco Date: Sun, 16 Aug 2015 15:38:23 +0200 Subject: [PATCH 3/5] Moved counters to a new tab --- cockatrice/src/sequenceEdit/ui_shortcutstab.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cockatrice/src/sequenceEdit/ui_shortcutstab.h b/cockatrice/src/sequenceEdit/ui_shortcutstab.h index 8e648e1a..fb0812b9 100644 --- a/cockatrice/src/sequenceEdit/ui_shortcutstab.h +++ b/cockatrice/src/sequenceEdit/ui_shortcutstab.h @@ -266,6 +266,7 @@ public: QLabel *lbl_Player_aAlwaysRevealTopCard; SecuenceEdit *Player_aAlwaysRevealTopCard; QSpacerItem *verticalSpacer_3; + QWidget * tab_4; void setupUi(QWidget *shortcutsTab) { @@ -726,9 +727,6 @@ public: horizontalLayout->addWidget(groupBox_7); - - gridLayout_3->addWidget(groupBox_3, 1, 0, 1, 2); - verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); gridLayout_3->addItem(verticalSpacer, 2, 0, 1, 1); @@ -1420,6 +1418,13 @@ public: tabWidget->addTab(tab_3, QString()); + tab_4 = new QWidget(tabWidget); + QGridLayout* grid = new QGridLayout(tab_4); + grid->addWidget(groupBox_3); + grid->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding),1,0); + + tabWidget->addTab(tab_4, QString()); + gridLayout_9->addWidget(tabWidget, 0, 0, 1, 1); @@ -1481,7 +1486,7 @@ public: lbl_Player_aSCYellow->setText(QApplication::translate("shortcutsTab", "Set", 0)); lbl_Player_aCCYellow->setText(QApplication::translate("shortcutsTab", "Add", 0)); lbl_Player_aRCYellow->setText(QApplication::translate("shortcutsTab", "Remove", 0)); - tabWidget->setTabText(tabWidget->indexOf(tab), QApplication::translate("shortcutsTab", "Mainwindow / Deck editor / Counters", 0)); + tabWidget->setTabText(tabWidget->indexOf(tab), QApplication::translate("shortcutsTab", "Mainwindow / Deck editor", 0)); groupBox_9->setTitle(QApplication::translate("shortcutsTab", "Power / toughness", 0)); groupBox_12->setTitle(QApplication::translate("shortcutsTab", "Power and toughness", 0)); lbl_Player_aIncPT->setText(QApplication::translate("shortcutsTab", "Add (+1/+1)", 0)); @@ -1554,6 +1559,7 @@ public: lbl_Player_aUndoDraw->setText(QApplication::translate("shortcutsTab", "Undo draw", 0)); lbl_Player_aAlwaysRevealTopCard->setText(QApplication::translate("shortcutsTab", "Always reveal top card", 0)); tabWidget->setTabText(tabWidget->indexOf(tab_3), QApplication::translate("shortcutsTab", "Draw / Move / View / Game play", 0)); + tabWidget->setTabText(tabWidget->indexOf(tab_4), QApplication::translate("shortcutsTab","Counters", 0)); } // retranslateUi }; From d3d6f7049604e1aa50f0c9eda232f02780d1c887 Mon Sep 17 00:00:00 2001 From: marco Date: Sun, 16 Aug 2015 20:11:17 +0200 Subject: [PATCH 4/5] Removed 2nd arg from ShortcutsSettings::getShortcut --- cockatrice/src/abstractcounter.cpp | 14 +-- .../src/dlg_load_deck_from_clipboard.cpp | 3 +- cockatrice/src/gameview.cpp | 3 +- cockatrice/src/player.cpp | 115 +++++++----------- cockatrice/src/sequenceEdit/secuenceedit.cpp | 6 +- cockatrice/src/sequenceEdit/secuenceedit.h | 2 +- cockatrice/src/shortcutssettings.cpp | 33 +---- cockatrice/src/shortcutssettings.h | 5 +- cockatrice/src/tab_deck_editor.cpp | 51 +++----- cockatrice/src/tab_game.cpp | 56 ++++----- cockatrice/src/tab_room.cpp | 4 +- cockatrice/src/window_main.cpp | 21 ++-- 12 files changed, 117 insertions(+), 196 deletions(-) diff --git a/cockatrice/src/abstractcounter.cpp b/cockatrice/src/abstractcounter.cpp index 73fc81cb..a1dabeb0 100644 --- a/cockatrice/src/abstractcounter.cpp +++ b/cockatrice/src/abstractcounter.cpp @@ -66,17 +66,9 @@ void AbstractCounter::retranslateUi() void AbstractCounter::setShortcutsActive() { if (name == "life") { - aSet->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aSet", - QKeySequence("Ctrl+L"))); - - aDec->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDec", - QKeySequence("F11"))); - - aInc->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aInc", - QKeySequence("F12"))); + aSet->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSet")); + aDec->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDec")); + aInc->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aInc")); } } diff --git a/cockatrice/src/dlg_load_deck_from_clipboard.cpp b/cockatrice/src/dlg_load_deck_from_clipboard.cpp index 2a479212..20b746f5 100644 --- a/cockatrice/src/dlg_load_deck_from_clipboard.cpp +++ b/cockatrice/src/dlg_load_deck_from_clipboard.cpp @@ -19,8 +19,7 @@ DlgLoadDeckFromClipboard::DlgLoadDeckFromClipboard(QWidget *parent) refreshButton = new QPushButton(tr("&Refresh")); refreshButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( - "DlgLoadDeckFromClipboard/refreshButton", - QKeySequence("F5"))); + "DlgLoadDeckFromClipboard/refreshButton")); connect(refreshButton, SIGNAL(clicked()), this, SLOT(actRefresh())); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); diff --git a/cockatrice/src/gameview.cpp b/cockatrice/src/gameview.cpp index b6495e34..d25bdddd 100644 --- a/cockatrice/src/gameview.cpp +++ b/cockatrice/src/gameview.cpp @@ -21,8 +21,7 @@ GameView::GameView(QGraphicsScene *scene, QWidget *parent) aCloseMostRecentZoneView = new QAction(this); aCloseMostRecentZoneView->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCloseMostRecentZoneView", - QKeySequence("Esc"))); + "Player/aCloseMostRecentZoneView")); connect(aCloseMostRecentZoneView, SIGNAL(triggered()), scene, SLOT(closeMostRecentZoneView())); addAction(aCloseMostRecentZoneView); diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 1db94781..04d32bc5 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -683,79 +683,61 @@ void Player::retranslateUi() } aPlay->setText(tr("&Play")); - aPlay->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aPlay", QKeySequence())); + aPlay->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aPlay")); aHide->setText(tr("&Hide")); aPlayFacedown->setText(tr("Play &Face Down")); aTap->setText(tr("&Tap")); - aTap->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aTap", QKeySequence())); + aTap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aTap")); aUntap->setText(tr("&Untap")); - aUntap->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aUntap", QKeySequence())); + aUntap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aUntap")); aDoesntUntap->setText(tr("Toggle &normal untapping")); - aDoesntUntap->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDoesntUntap", QKeySequence())); + aDoesntUntap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDoesntUntap")); aFlip->setText(tr("&Flip")); - aFlip->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aFlip", QKeySequence())); + aFlip->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aFlip")); aPeek->setText(tr("&Peek at card face")); - aPeek->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aPeek", QKeySequence())); + aPeek->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aPeek")); aClone->setText(tr("&Clone")); - aClone->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aClone", QKeySequence("Ctrl+J"))); + aClone->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aClone")); aAttach->setText(tr("Attac&h to card...")); - aAttach->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aAttach", QKeySequence("Ctrl+A"))); + aAttach->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aAttach")); aUnattach->setText(tr("Unattac&h")); - aUnattach->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aUnattach", QKeySequence())); + aUnattach->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aUnattach")); aDrawArrow->setText(tr("&Draw arrow...")); - aDrawArrow->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDrawArrow", QKeySequence())); + aDrawArrow->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDrawArrow")); aIncP->setText(tr("&Increase power")); - aIncP->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/IncP", QKeySequence("Ctrl++"))); + aIncP->setShortcuts(settingsCache->shortcuts().getShortcut("Player/IncP")); aDecP->setText(tr("&Decrease power")); - aDecP->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDecP", QKeySequence("Ctrl+-"))); + aDecP->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecP")); aIncT->setText(tr("I&ncrease toughness")); - aIncT->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aIncT", QKeySequence("Alt++"))); + aIncT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aIncT")); aDecT->setText(tr("D&ecrease toughness")); - aDecT->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDecT", QKeySequence("Alt+-"))); + aDecT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecT")); aIncPT->setText(tr("In&crease power and toughness")); - aIncPT->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aIncPT", QKeySequence("Ctrl+Alt++"))); + aIncPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aIncPT")); aDecPT->setText(tr("Dec&rease power and toughness")); - aDecPT->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDecPT", QKeySequence("Ctrl+Alt+-"))); + aDecPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecPT")); aSetPT->setText(tr("Set &power and toughness...")); - aSetPT->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aSetPT", QKeySequence("Ctrl+P"))); + aSetPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSetPT")); aSetAnnotation->setText(tr("&Set annotation...")); - aSetAnnotation->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aSetAnnotation", QKeySequence())); + aSetAnnotation->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSetAnnotation")); QStringList counterColors; counterColors.append(tr("Red")); @@ -764,27 +746,27 @@ void Player::retranslateUi() QList addCCShortCuts; addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aCCRed", QKeySequence())); + "Player/aCCRed")); addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aCCYellow", QKeySequence())); + "Player/aCCYellow")); addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aCCGreen", QKeySequence())); + "Player/aCCGreen")); QList removeCCShortCuts; removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aRCRed", QKeySequence())); + "Player/aRCRed")); removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aRCYellow", QKeySequence())); + "Player/aRCYellow")); removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aRCGreen", QKeySequence())); + "Player/aRCGreen")); QList setCCShortCuts; setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aSCRed", QKeySequence())); + "Player/aSCRed")); setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aSCYellow", QKeySequence())); + "Player/aSCYellow")); setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aSCGreen", QKeySequence())); + "Player/aSCGreen")); for (int i = 0; i < aAddCounter.size(); ++i){ aAddCounter[i]->setText(tr("&Add counter (%1)").arg(counterColors[i])); @@ -801,23 +783,23 @@ void Player::retranslateUi() aMoveToTopLibrary->setText(tr("&Top of library")); aMoveToTopLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToTopLibrary", QKeySequence())); + "Player/aMoveToTopLibrary")); aMoveToBottomLibrary->setText(tr("&Bottom of library")); aMoveToBottomLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToBottomLibrary", QKeySequence())); + "Player/aMoveToBottomLibrary")); aMoveToHand->setText(tr("&Hand")); aMoveToHand->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToHand", QKeySequence())); + "Player/aMoveToHand")); aMoveToGraveyard->setText(tr("&Graveyard")); aMoveToGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToGraveyard", QKeySequence("Ctrl+Del"))); + "Player/aMoveToGraveyard")); aMoveToExile->setText(tr("&Exile")); aMoveToExile->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToExile", QKeySequence())); + "Player/aMoveToExile")); QMapIterator zoneIterator(zones); while (zoneIterator.hasNext()) @@ -829,52 +811,49 @@ void Player::setShortcutsActive() shortcutsActive = true; aViewSideboard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewSideboard", QKeySequence("Ctrl+F3"))); + "Player/aViewSideboard")); aViewLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewLibrary", QKeySequence("F3"))); + "Player/aViewLibrary")); aViewTopCards->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewTopCards", QKeySequence("Ctrl+W"))); + "Player/aViewTopCards")); aViewGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewGraveyard", QKeySequence("F4"))); + "Player/aViewGraveyard")); aViewRfg->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewRfg", QKeySequence())); + "Player/aViewRfg")); aDrawCard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDrawCard", QKeySequence("Ctrl+D"))); + "Player/aDrawCard")); aDrawCards->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDrawCards", QKeySequence("Ctrl+E"))); + "Player/aDrawCards")); aUndoDraw->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aUndoDraw", QKeySequence("Ctrl+Shift+D"))); + "Player/aUndoDraw")); aMulligan->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMulligan", QKeySequence("Ctrl+M"))); + "Player/aMulligan")); aShuffle->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aShuffle", QKeySequence("Ctrl+S"))); + "Player/aShuffle")); aUntapAll->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aUntapAll", QKeySequence("Ctrl+U"))); + "Player/aUntapAll")); aRollDie->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRollDie", QKeySequence("Ctrl+I"))); + "Player/aRollDie")); aCreateToken->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCreateToken", - QKeySequence("Ctrl+T"))); + "Player/aCreateToken")); aCreateAnotherToken->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCreateAnotherToken", - QKeySequence("Ctrl+G"))); + "Player/aCreateAnotherToken")); aAlwaysRevealTopCard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aAlwaysRevealTopCard", - QKeySequence("Ctrl+N"))); + "Player/aAlwaysRevealTopCard")); QMapIterator counterIterator(counters); while (counterIterator.hasNext()) diff --git a/cockatrice/src/sequenceEdit/secuenceedit.cpp b/cockatrice/src/sequenceEdit/secuenceedit.cpp index dc8721ec..b7078a2d 100644 --- a/cockatrice/src/sequenceEdit/secuenceedit.cpp +++ b/cockatrice/src/sequenceEdit/secuenceedit.cpp @@ -7,9 +7,9 @@ #include #include -SecuenceEdit::SecuenceEdit(QString name, QWidget *parent) : QWidget(parent) +SecuenceEdit::SecuenceEdit(QString _shorcutName, QWidget *parent) : QWidget(parent) { - this->shorcutName = name; + shorcutName = _shorcutName; currentKey = 0; maxKeys = 4; keys = 0; @@ -37,7 +37,7 @@ SecuenceEdit::SecuenceEdit(QString name, QWidget *parent) : QWidget(parent) connect(defaultButton,SIGNAL(clicked()),this,SLOT(restoreDefault())); lineEdit->installEventFilter(this); - lineEdit->setText(settingsCache->shortcuts().getShortcutString(name)); + lineEdit->setText(settingsCache->shortcuts().getShortcutString(shorcutName)); } QString SecuenceEdit::getSecuence() diff --git a/cockatrice/src/sequenceEdit/secuenceedit.h b/cockatrice/src/sequenceEdit/secuenceedit.h index eef971fb..b8f95874 100644 --- a/cockatrice/src/sequenceEdit/secuenceedit.h +++ b/cockatrice/src/sequenceEdit/secuenceedit.h @@ -12,7 +12,7 @@ class SecuenceEdit : public QWidget { Q_OBJECT public: - SecuenceEdit(QString shorcutName, QWidget *parent = 0); + SecuenceEdit(QString _shorcutName, QWidget *parent = 0); QString getSecuence(); signals: diff --git a/cockatrice/src/shortcutssettings.cpp b/cockatrice/src/shortcutssettings.cpp index e7830a11..a22a9d22 100644 --- a/cockatrice/src/shortcutssettings.cpp +++ b/cockatrice/src/shortcutssettings.cpp @@ -23,43 +23,20 @@ ShortcutsSettings::ShortcutsSettings(QString settingsPath, QObject *parent) : QO shortCuts.insert(*it, secuenceList); } shortCutsFile.endGroup(); - - shortCutsFile.beginGroup("Defaults"); - const QStringList defaultKeys = shortCutsFile.allKeys(); - for(QStringList::const_iterator it = defaultKeys.constBegin(); it != defaultKeys.constEnd(); ++it) - { - QString stringSecuence = shortCutsFile.value(*it).toString(); - QList secuenceList = parseSecuenceString(stringSecuence); - defaultShortCuts.insert(*it, secuenceList); - } - shortCutsFile.endGroup(); } } -QList ShortcutsSettings::getShortcut(QString name, QList defaultShortCut) +QList ShortcutsSettings::getShortcut(QString name) { if(shortCuts.contains(name)) return shortCuts.value(name); - setShortcuts(name, defaultShortCut); - - defaultShortCuts[name] = defaultShortCut; - - QSettings shortCutsFile(settingsFilePath, QSettings::IniFormat); - shortCutsFile.beginGroup("Defaults"); - shortCutsFile.setValue(name, stringifySecuence(defaultShortCut)); - shortCutsFile.endGroup(); - return defaultShortCut; + return defaultShortCuts.value(name, QList()); } -QList ShortcutsSettings::getShortcut(QString name, QKeySequence defaultShortCut) +QKeySequence ShortcutsSettings::getSingleShortcut(QString name) { - return getShortcut(name, QList() << defaultShortCut); -} - -QKeySequence ShortcutsSettings::getSingleShortcut(QString name, QKeySequence defaultShortCut) -{ - return getShortcut(name,defaultShortCut).at(0); + return getShortcut(name).at(0); } QString ShortcutsSettings::getDefaultShortcutString(QString name) @@ -244,5 +221,7 @@ void ShortcutsSettings::fillDefaultShorcuts() defaultShortCuts["Player/phase7"] = parseSecuenceString(""); defaultShortCuts["Player/phase8"] = parseSecuenceString(""); defaultShortCuts["Player/phase9"] = parseSecuenceString("F9"); + defaultShortCuts["tab_room/aClearChat"] = parseSecuenceString("F12"); + defaultShortCuts["DlgLoadDeckFromClipboard/refreshButton"] = parseSecuenceString("F5"); } diff --git a/cockatrice/src/shortcutssettings.h b/cockatrice/src/shortcutssettings.h index d986e3b2..5958b9f7 100644 --- a/cockatrice/src/shortcutssettings.h +++ b/cockatrice/src/shortcutssettings.h @@ -13,9 +13,8 @@ public: ShortcutsSettings(QString settingsFilePath, QObject *parent = 0); ~ShortcutsSettings() { } - QList getShortcut(QString name, QList defaultShortCut); - QList getShortcut(QString name, QKeySequence defaultShortCut); - QKeySequence getSingleShortcut(QString name, QKeySequence defaultShortCut); + QList getShortcut(QString name); + QKeySequence getSingleShortcut(QString name); QString getDefaultShortcutString(QString name); QString getShortcutString(QString name); diff --git a/cockatrice/src/tab_deck_editor.cpp b/cockatrice/src/tab_deck_editor.cpp index 4644bb1f..c7b22b73 100644 --- a/cockatrice/src/tab_deck_editor.cpp +++ b/cockatrice/src/tab_deck_editor.cpp @@ -258,26 +258,23 @@ void TabDeckEditor::createMenus() aNewDeck = new QAction(QString(), this); connect(aNewDeck, SIGNAL(triggered()), this, SLOT(actNewDeck())); aNewDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aNewDeck", - QKeySequence::New)); + "TabDeckEditor/aNewDeck")); aLoadDeck = new QAction(QString(), this); connect(aLoadDeck, SIGNAL(triggered()), this, SLOT(actLoadDeck())); aLoadDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aLoadDeck", - QKeySequence::Open)); + "TabDeckEditor/aLoadDeck")); aSaveDeck = new QAction(QString(), this); connect(aSaveDeck, SIGNAL(triggered()), this, SLOT(actSaveDeck())); aSaveDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aSaveDeck", - QKeySequence::Save)); + "TabDeckEditor/aSaveDeck")); aSaveDeckAs = new QAction(QString(), this); connect(aSaveDeckAs, SIGNAL(triggered()), this, SLOT(actSaveDeckAs())); aSaveDeckAs->setShortcuts(QKeySequence::SaveAs); aSaveDeckAs->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aSaveDeckAs", QKeySequence())); + "TabDeckEditor/aSaveDeckAs")); aOpenCustomsetsFolder = new QAction(QString(), this); connect(aOpenCustomsetsFolder, SIGNAL(triggered()), this, SLOT(actOpenCustomsetsFolder())); @@ -285,49 +282,46 @@ void TabDeckEditor::createMenus() aLoadDeckFromClipboard = new QAction(QString(), this); connect(aLoadDeckFromClipboard, SIGNAL(triggered()), this, SLOT(actLoadDeckFromClipboard())); aLoadDeckFromClipboard->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aLoadDeckFromClipboard", - QKeySequence::Paste)); + "TabDeckEditor/aLoadDeckFromClipboard")); aSaveDeckToClipboard = new QAction(QString(), this); connect(aSaveDeckToClipboard, SIGNAL(triggered()), this, SLOT(actSaveDeckToClipboard())); aSaveDeckToClipboard->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aSaveDeckToClipboard", - QKeySequence::Copy)); + "TabDeckEditor/aSaveDeckToClipboard")); aPrintDeck = new QAction(QString(), this); connect(aPrintDeck, SIGNAL(triggered()), this, SLOT(actPrintDeck())); aPrintDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aPrintDeck",QKeySequence::Print)); + "TabDeckEditor/aPrintDeck")); aAnalyzeDeck = new QAction(QString(), this); connect(aAnalyzeDeck, SIGNAL(triggered()), this, SLOT(actAnalyzeDeck())); aAnalyzeDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aAnalyzeDeck", QKeySequence())); + "TabDeckEditor/aAnalyzeDeck")); aClose = new QAction(QString(), this); connect(aClose, SIGNAL(triggered()), this, SLOT(closeRequest())); - aClose->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClose", QKeySequence())); + aClose->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClose")); aOpenCustomFolder = new QAction(QString(), this); connect(aOpenCustomFolder, SIGNAL(triggered()), this, SLOT(actOpenCustomFolder())); aOpenCustomFolder->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aOpenCustomFolder", QKeySequence())); + "TabDeckEditor/aOpenCustomFolder")); aEditSets = new QAction(QString(), this); connect(aEditSets, SIGNAL(triggered()), this, SLOT(actEditSets())); aEditSets->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aEditSets", QKeySequence())); + "TabDeckEditor/aEditSets")); aEditTokens = new QAction(QString(), this); connect(aEditTokens, SIGNAL(triggered()), this, SLOT(actEditTokens())); aEditTokens->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aEditTokens", QKeySequence())); + "TabDeckEditor/aEditTokens")); aResetLayout = new QAction(QString(), this); connect(aResetLayout,SIGNAL(triggered()),this,SLOT(restartLayout())); aResetLayout->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aResetLayout", QKeySequence())); + "TabDeckEditor/aResetLayout")); deckMenu = new QMenu(this); deckMenu->addAction(aNewDeck); @@ -351,13 +345,13 @@ void TabDeckEditor::createMenus() aClearFilterAll->setIcon(QIcon(":/resources/icon_clearsearch.svg")); connect(aClearFilterAll, SIGNAL(triggered()), this, SLOT(actClearFilterAll())); aClearFilterAll->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClearFilterAll", QKeySequence())); + "TabDeckEditor/aClearFilterAll")); aClearFilterOne = new QAction(QString(), this); aClearFilterOne->setIcon(QIcon(":/resources/decrement.svg")); connect(aClearFilterOne, SIGNAL(triggered()), this, SLOT(actClearFilterOne())); aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClearFilterOne", QKeySequence())); + "TabDeckEditor/aClearFilterOne")); dbMenu = new QMenu(this); dbMenu->addAction(aEditSets); @@ -560,8 +554,7 @@ void TabDeckEditor::retranslateUi() aClearFilterAll->setText(tr("&Clear all filters")); aClearFilterOne->setText(tr("Delete selected")); aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClearFilterOne", - QKeySequence("Backspace"))); + "TabDeckEditor/aClearFilterOne")); nameLabel->setText(tr("Deck &name:")); commentsLabel->setText(tr("&Comments:")); @@ -582,26 +575,22 @@ void TabDeckEditor::retranslateUi() aOpenCustomsetsFolder->setText(tr("Open custom sets folder")); aClose->setText(tr("&Close")); aClose->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClose", - QKeySequence("Ctrl+Q"))); + "TabDeckEditor/aClose")); aAddCard->setText(tr("Add card to &maindeck")); aAddCardToSideboard->setText(tr("Add card to &sideboard")); aRemoveCard->setText(tr("&Remove row")); aRemoveCard->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aRemoveCard", - QKeySequence("Del"))); + "TabDeckEditor/aRemoveCard")); aIncrement->setText(tr("&Increment number")); aIncrement->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aIncrement", - QKeySequence("+"))); + "TabDeckEditor/aIncrement")); aDecrement->setText(tr("&Decrement number")); aDecrement->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aDecrement", - QKeySequence("-"))); + "TabDeckEditor/aDecrement")); deckMenu->setTitle(tr("&Deck Editor")); dbMenu->setTitle(tr("C&ard Database")); diff --git a/cockatrice/src/tab_game.cpp b/cockatrice/src/tab_game.cpp index 6e64a359..1b278459 100644 --- a/cockatrice/src/tab_game.cpp +++ b/cockatrice/src/tab_game.cpp @@ -126,12 +126,10 @@ void DeckViewContainer::retranslateUi() { loadLocalButton->setText(tr("Load local deck")); loadLocalButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( - "DeckViewContainer/loadLocalButton", - QKeySequence("Ctrl+O"))); + "DeckViewContainer/loadLocalButton")); loadRemoteButton->setText(tr("Load deck from server")); loadRemoteButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( - "DeckViewContainer/loadRemoteButton", - QKeySequence("Ctrl+Alt+O"))); + "DeckViewContainer/loadRemoteButton")); readyStartButton->setText(tr("Ready to s&tart")); updateSideboardLockButtonText(); } @@ -473,17 +471,17 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, QList &_client QAction *temp = new QAction(QString(), this); connect(temp, SIGNAL(triggered()), this, SLOT(actPhaseAction())); switch (i) { - case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase0" ,QKeySequence("F5"))); break; - case 1: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase1" ,QKeySequence())); break; - case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase2" ,QKeySequence("F6"))); break; - case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase3" ,QKeySequence("F7"))); break; - case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase4" ,QKeySequence("F8"))); break; - case 5: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase5" ,QKeySequence())); break; - case 6: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase6" ,QKeySequence())); break; - case 7: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase7" ,QKeySequence())); break; - case 8: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase8" ,QKeySequence())); break; - case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase9" ,QKeySequence("F9"))); break; - case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase10" ,QKeySequence("F10"))); break; + case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase0")); break; + case 1: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase1")); break; + case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase2")); break; + case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase3")); break; + case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase4")); break; + case 5: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase5")); break; + case 6: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase6")); break; + case 7: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase7")); break; + case 8: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase8")); break; + case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase9")); break; + case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase10")); break; default: ; } phasesMenu->addAction(temp); @@ -555,56 +553,44 @@ void TabGame::retranslateUi() if (aNextPhase) { aNextPhase->setText(tr("Next &phase")); aNextPhase->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aNextPhase", - QList() - << QKeySequence("Ctrl+Space") - << QKeySequence("Tab"))); + "Player/aNextPhase")); } if (aNextTurn) { aNextTurn->setText(tr("Next &turn")); aNextTurn->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aNextTurn", - QList() - << QKeySequence("Ctrl+Return") - << QKeySequence("Ctrl+Enter"))); + "Player/aNextTurn")); } if (aRemoveLocalArrows) { aRemoveLocalArrows->setText(tr("&Remove all local arrows")); aRemoveLocalArrows->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRemoveLocalArrows", - QKeySequence("Ctrl+R"))); + "Player/aRemoveLocalArrows")); } if (aRotateViewCW) { aRotateViewCW->setText(tr("Rotate View Cl&ockwise")); aRotateViewCW->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRotateViewCW", - QKeySequence("Ctrl+]"))); + "Player/aRotateViewCW")); } if (aRotateViewCCW) { aRotateViewCCW->setText(tr("Rotate View Co&unterclockwise")); aRotateViewCCW->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRotateViewCCW", - QKeySequence("Ctrl+["))); + "Player/aRotateViewCCW")); } if (aGameInfo) aGameInfo->setText(tr("Game &information")); if (aConcede) { aConcede->setText(tr("&Concede")); aConcede->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aConcede", - QKeySequence("F2"))); + "Player/aConcede")); } if (aLeaveGame) { aLeaveGame->setText(tr("&Leave game")); aLeaveGame->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aLeaveGame", - QKeySequence("Ctrl+Q"))); + "Player/aLeaveGame")); } if (aCloseReplay) { aCloseReplay->setText(tr("C&lose replay")); aCloseReplay->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCloseReplay", - QKeySequence("Ctrl+Q"))); + "Player/aCloseReplay")); } if (sayLabel) diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index b87772a0..68e43196 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -68,7 +68,7 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI QMenu *chatSettingsMenu = new QMenu(this); aClearChat = chatSettingsMenu->addAction(QString()); - aClearChat->setShortcuts(settingsCache->shortcuts().getShortcut("tab_room/aClearChat", QKeySequence("F12"))); + aClearChat->setShortcuts(settingsCache->shortcuts().getShortcut("tab_room/aClearChat")); connect(aClearChat, SIGNAL(triggered()), this, SLOT(actClearChat())); chatSettingsMenu->addSeparator(); @@ -416,4 +416,4 @@ void CustomLineEdit::updateCompleterModel(QStringList completionList) model = new QStringListModel(); QStringList updatedList = completionList; model->setStringList(updatedList); -} \ No newline at end of file +} diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp index ae5edf3e..44fafb35 100644 --- a/cockatrice/src/window_main.cpp +++ b/cockatrice/src/window_main.cpp @@ -457,39 +457,39 @@ void MainWindow::retranslateUi() aConnect->setText(tr("&Connect...")); aConnect->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aConnect", QKeySequence())); + "MainWindow/aConnect")); aDisconnect->setText(tr("&Disconnect")); aDisconnect->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aDisconnect", QKeySequence())); + "MainWindow/aDisconnect")); aSinglePlayer->setText(tr("Start &local game...")); aSinglePlayer->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aSinglePlayer", QKeySequence())); + "MainWindow/aSinglePlayer")); aWatchReplay->setText(tr("&Watch replay...")); aWatchReplay->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aWatchReplay", QKeySequence())); + "MainWindow/aWatchReplay")); aDeckEditor->setText(tr("&Deck editor")); aDeckEditor->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aDeckEditor", QKeySequence())); + "MainWindow/aDeckEditor")); aFullScreen->setText(tr("&Full screen")); aFullScreen->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aFullScreen", QKeySequence("Ctrl+F"))); + "MainWindow/aFullScreen")); aRegister->setText(tr("&Register to server...")); aRegister->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aRegister", QKeySequence())); + "MainWindow/aRegister")); aSettings->setText(tr("&Settings...")); aSettings->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aSettings", QKeySequence())); + "MainWindow/aSettings")); aExit->setText(tr("&Exit")); aExit->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aExit", QKeySequence())); + "MainWindow/aExit")); #if defined(__APPLE__) /* For OSX */ cockatriceMenu->setTitle(tr("A&ctions")); @@ -502,8 +502,7 @@ void MainWindow::retranslateUi() aCheckCardUpdates->setText(tr("Check for card updates...")); aCheckCardUpdates->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aCheckCardUpdates", - QKeySequence())); + "MainWindow/aCheckCardUpdates")); tabSupervisor->retranslateUi(); } From c6aba5a6d05e770a41ca198023d8189f4abc5a35 Mon Sep 17 00:00:00 2001 From: marco Date: Tue, 18 Aug 2015 23:47:21 +0200 Subject: [PATCH 5/5] Renamed file + reduced window size + resfresh on change --- cockatrice/CMakeLists.txt | 2 +- cockatrice/src/abstractcounter.cpp | 12 + cockatrice/src/abstractcounter.h | 2 + .../src/dlg_load_deck_from_clipboard.cpp | 9 +- cockatrice/src/dlg_load_deck_from_clipboard.h | 1 + cockatrice/src/gameview.cpp | 11 +- cockatrice/src/gameview.h | 1 + cockatrice/src/player.cpp | 184 +++---- cockatrice/src/player.h | 1 + .../{secuenceedit.cpp => sequenceedit.cpp} | 29 +- .../{secuenceedit.h => sequenceedit.h} | 4 +- cockatrice/src/sequenceEdit/ui_shortcutstab.h | 451 +++++++++--------- cockatrice/src/shortcutssettings.cpp | 1 + cockatrice/src/shortcutssettings.h | 3 + cockatrice/src/tab_deck_editor.cpp | 69 ++- cockatrice/src/tab_deck_editor.h | 1 + cockatrice/src/tab_game.cpp | 93 ++-- cockatrice/src/tab_game.h | 2 + cockatrice/src/tab_room.cpp | 8 +- cockatrice/src/tab_room.h | 1 + cockatrice/src/window_main.cpp | 47 +- cockatrice/src/window_main.h | 1 + 22 files changed, 463 insertions(+), 470 deletions(-) rename cockatrice/src/sequenceEdit/{secuenceedit.cpp => sequenceedit.cpp} (83%) rename cockatrice/src/sequenceEdit/{secuenceedit.h => sequenceedit.h} (88%) diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index a7d645e0..c91e693d 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -95,7 +95,7 @@ SET(cockatrice_SOURCES src/soundengine.cpp src/pending_command.cpp src/shortcutssettings.cpp - src/sequenceEdit/secuenceedit.cpp + src/sequenceEdit/sequenceedit.cpp src/sequenceEdit/shortcutstab.cpp ${VERSION_STRING_CPP} ) diff --git a/cockatrice/src/abstractcounter.cpp b/cockatrice/src/abstractcounter.cpp index a1dabeb0..0b07d980 100644 --- a/cockatrice/src/abstractcounter.cpp +++ b/cockatrice/src/abstractcounter.cpp @@ -18,6 +18,8 @@ AbstractCounter::AbstractCounter(Player *_player, int _id, const QString &_name, setAcceptHoverEvents(true); #endif + shortcutActive = false; + if (player->getLocal()) { menu = new QMenu(name); aSet = new QAction(this); @@ -40,6 +42,8 @@ AbstractCounter::AbstractCounter(Player *_player, int _id, const QString &_name, } else menu = 0; + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); retranslateUi(); } @@ -66,6 +70,7 @@ void AbstractCounter::retranslateUi() void AbstractCounter::setShortcutsActive() { if (name == "life") { + shortcutActive = true; aSet->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSet")); aDec->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDec")); aInc->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aInc")); @@ -74,6 +79,7 @@ void AbstractCounter::setShortcutsActive() void AbstractCounter::setShortcutsInactive() { + shortcutActive = false; if (name == "life") { aSet->setShortcut(QKeySequence()); aDec->setShortcut(QKeySequence()); @@ -81,6 +87,12 @@ void AbstractCounter::setShortcutsInactive() } } +void AbstractCounter::refreshShortcuts() +{ + if(shortcutActive) + setShortcutsActive(); +} + void AbstractCounter::setValue(int _value) { value = _value; diff --git a/cockatrice/src/abstractcounter.h b/cockatrice/src/abstractcounter.h index 174cbf84..f5a04e9d 100644 --- a/cockatrice/src/abstractcounter.h +++ b/cockatrice/src/abstractcounter.h @@ -26,6 +26,7 @@ private: bool dialogSemaphore, deleteAfterDialog; bool shownInCounterArea; private slots: + void refreshShortcuts(); void incrementCounter(); void setCounter(); public: @@ -44,6 +45,7 @@ public: void setShortcutsActive(); void setShortcutsInactive(); + bool shortcutActive; }; #endif diff --git a/cockatrice/src/dlg_load_deck_from_clipboard.cpp b/cockatrice/src/dlg_load_deck_from_clipboard.cpp index 20b746f5..1c41cc1a 100644 --- a/cockatrice/src/dlg_load_deck_from_clipboard.cpp +++ b/cockatrice/src/dlg_load_deck_from_clipboard.cpp @@ -18,8 +18,6 @@ DlgLoadDeckFromClipboard::DlgLoadDeckFromClipboard(QWidget *parent) contentsEdit = new QPlainTextEdit; refreshButton = new QPushButton(tr("&Refresh")); - refreshButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( - "DlgLoadDeckFromClipboard/refreshButton")); connect(refreshButton, SIGNAL(clicked()), this, SLOT(actRefresh())); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); @@ -37,6 +35,8 @@ DlgLoadDeckFromClipboard::DlgLoadDeckFromClipboard(QWidget *parent) resize(500, 500); actRefresh(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); } void DlgLoadDeckFromClipboard::actRefresh() @@ -44,6 +44,11 @@ void DlgLoadDeckFromClipboard::actRefresh() contentsEdit->setPlainText(QApplication::clipboard()->text()); } +void DlgLoadDeckFromClipboard::refreshShortcuts() +{ + refreshButton->setShortcut(settingsCache->shortcuts().getSingleShortcut("DlgLoadDeckFromClipboard/refreshButton")); +} + void DlgLoadDeckFromClipboard::actOK() { QString buffer = contentsEdit->toPlainText(); diff --git a/cockatrice/src/dlg_load_deck_from_clipboard.h b/cockatrice/src/dlg_load_deck_from_clipboard.h index 375c713d..ec133a1b 100644 --- a/cockatrice/src/dlg_load_deck_from_clipboard.h +++ b/cockatrice/src/dlg_load_deck_from_clipboard.h @@ -12,6 +12,7 @@ class DlgLoadDeckFromClipboard : public QDialog { private slots: void actOK(); void actRefresh(); + void refreshShortcuts(); private: DeckLoader *deckList; public: diff --git a/cockatrice/src/gameview.cpp b/cockatrice/src/gameview.cpp index d25bdddd..2c5c6163 100644 --- a/cockatrice/src/gameview.cpp +++ b/cockatrice/src/gameview.cpp @@ -20,11 +20,11 @@ GameView::GameView(QGraphicsScene *scene, QWidget *parent) connect(scene, SIGNAL(sigStopRubberBand()), this, SLOT(stopRubberBand())); aCloseMostRecentZoneView = new QAction(this); - aCloseMostRecentZoneView->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCloseMostRecentZoneView")); + connect(aCloseMostRecentZoneView, SIGNAL(triggered()), scene, SLOT(closeMostRecentZoneView())); addAction(aCloseMostRecentZoneView); - + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); rubberBand = new QRubberBand(QRubberBand::Rectangle, this); } @@ -61,3 +61,8 @@ void GameView::stopRubberBand() { rubberBand->hide(); } + +void GameView::refreshShortcuts() +{ + aCloseMostRecentZoneView->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aCloseMostRecentZoneView")); +} diff --git a/cockatrice/src/gameview.h b/cockatrice/src/gameview.h index e678f293..c5fdfe30 100644 --- a/cockatrice/src/gameview.h +++ b/cockatrice/src/gameview.h @@ -17,6 +17,7 @@ private slots: void startRubberBand(const QPointF &selectionOrigin); void resizeRubberBand(const QPointF &cursorPoint); void stopRubberBand(); + void refreshShortcuts(); public slots: void updateSceneRect(const QRectF &rect); public: diff --git a/cockatrice/src/player.cpp b/cockatrice/src/player.cpp index 04d32bc5..1caeba45 100644 --- a/cockatrice/src/player.cpp +++ b/cockatrice/src/player.cpp @@ -454,6 +454,8 @@ Player::Player(const ServerInfo_User &info, int _id, bool _local, TabGame *_pare rearrangeZones(); retranslateUi(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); } Player::~Player() @@ -683,123 +685,46 @@ void Player::retranslateUi() } aPlay->setText(tr("&Play")); - aPlay->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aPlay")); - aHide->setText(tr("&Hide")); aPlayFacedown->setText(tr("Play &Face Down")); - aTap->setText(tr("&Tap")); - aTap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aTap")); - aUntap->setText(tr("&Untap")); - aUntap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aUntap")); - aDoesntUntap->setText(tr("Toggle &normal untapping")); - aDoesntUntap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDoesntUntap")); - aFlip->setText(tr("&Flip")); - aFlip->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aFlip")); - aPeek->setText(tr("&Peek at card face")); - aPeek->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aPeek")); - aClone->setText(tr("&Clone")); - aClone->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aClone")); - aAttach->setText(tr("Attac&h to card...")); - aAttach->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aAttach")); - aUnattach->setText(tr("Unattac&h")); - aUnattach->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aUnattach")); - aDrawArrow->setText(tr("&Draw arrow...")); - aDrawArrow->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDrawArrow")); - aIncP->setText(tr("&Increase power")); - aIncP->setShortcuts(settingsCache->shortcuts().getShortcut("Player/IncP")); - aDecP->setText(tr("&Decrease power")); - aDecP->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecP")); - aIncT->setText(tr("I&ncrease toughness")); - aIncT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aIncT")); - aDecT->setText(tr("D&ecrease toughness")); - aDecT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecT")); - aIncPT->setText(tr("In&crease power and toughness")); - aIncPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aIncPT")); - aDecPT->setText(tr("Dec&rease power and toughness")); - aDecPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecPT")); - aSetPT->setText(tr("Set &power and toughness...")); - aSetPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSetPT")); - aSetAnnotation->setText(tr("&Set annotation...")); - aSetAnnotation->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSetAnnotation")); QStringList counterColors; counterColors.append(tr("Red")); counterColors.append(tr("Yellow")); counterColors.append(tr("Green")); - QList addCCShortCuts; - addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aCCRed")); - addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aCCYellow")); - addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aCCGreen")); - - QList removeCCShortCuts; - removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aRCRed")); - removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aRCYellow")); - removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aRCGreen")); - - QList setCCShortCuts; - setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aSCRed")); - setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aSCYellow")); - setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut( - "Player/aSCGreen")); - for (int i = 0; i < aAddCounter.size(); ++i){ aAddCounter[i]->setText(tr("&Add counter (%1)").arg(counterColors[i])); - aAddCounter[i]->setShortcut(addCCShortCuts[i]); } for (int i = 0; i < aRemoveCounter.size(); ++i){ aRemoveCounter[i]->setText(tr("&Remove counter (%1)").arg(counterColors[i])); - aRemoveCounter[i]->setShortcut(removeCCShortCuts[i]); } for (int i = 0; i < aSetCounter.size(); ++i){ aSetCounter[i]->setText(tr("&Set counters (%1)...").arg(counterColors[i])); - aSetCounter[i]->setShortcut(setCCShortCuts[i]); } aMoveToTopLibrary->setText(tr("&Top of library")); - aMoveToTopLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToTopLibrary")); - aMoveToBottomLibrary->setText(tr("&Bottom of library")); - aMoveToBottomLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToBottomLibrary")); - aMoveToHand->setText(tr("&Hand")); - aMoveToHand->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToHand")); - aMoveToGraveyard->setText(tr("&Graveyard")); - aMoveToGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToGraveyard")); - aMoveToExile->setText(tr("&Exile")); - aMoveToExile->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMoveToExile")); QMapIterator zoneIterator(zones); while (zoneIterator.hasNext()) @@ -810,54 +735,73 @@ void Player::setShortcutsActive() { shortcutsActive = true; - aViewSideboard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewSideboard")); + aPlay->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aPlay")); + aTap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aTap")); + aUntap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aUntap")); + aDoesntUntap->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDoesntUntap")); + aFlip->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aFlip")); + aPeek->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aPeek")); + aClone->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aClone")); + aAttach->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aAttach")); + aUnattach->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aUnattach")); + aDrawArrow->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDrawArrow")); + aIncP->setShortcuts(settingsCache->shortcuts().getShortcut("Player/IncP")); + aDecP->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecP")); + aIncT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aIncT")); + aDecT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecT")); + aIncPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aIncPT")); + aDecPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aDecPT")); + aSetPT->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSetPT")); + aSetAnnotation->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aSetAnnotation")); + aMoveToTopLibrary->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aMoveToTopLibrary")); + aMoveToBottomLibrary->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aMoveToBottomLibrary")); + aMoveToHand->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aMoveToHand")); + aMoveToGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aMoveToGraveyard")); + aMoveToExile->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aMoveToExile")); - aViewLibrary->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewLibrary")); + QList addCCShortCuts; + addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aCCRed")); + addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aCCYellow")); + addCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aCCGreen")); - aViewTopCards->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewTopCards")); + QList removeCCShortCuts; + removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aRCRed")); + removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aRCYellow")); + removeCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aRCGreen")); - aViewGraveyard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewGraveyard")); + QList setCCShortCuts; + setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aSCRed")); + setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aSCYellow")); + setCCShortCuts.append(settingsCache->shortcuts().getSingleShortcut("Player/aSCGreen")); - aViewRfg->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aViewRfg")); - - aDrawCard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDrawCard")); - - aDrawCards->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aDrawCards")); - - aUndoDraw->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aUndoDraw")); - - aMulligan->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aMulligan")); - - aShuffle->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aShuffle")); - - aUntapAll->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aUntapAll")); - - aRollDie->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRollDie")); - - aCreateToken->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCreateToken")); - - aCreateAnotherToken->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCreateAnotherToken")); - - aAlwaysRevealTopCard->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aAlwaysRevealTopCard")); + for (int i = 0; i < aAddCounter.size(); ++i){ + aAddCounter[i]->setShortcut(addCCShortCuts.at(i)); + } + for (int i = 0; i < aRemoveCounter.size(); ++i){ + aRemoveCounter[i]->setShortcut(removeCCShortCuts.at(i)); + } + for (int i = 0; i < aSetCounter.size(); ++i){ + aSetCounter[i]->setShortcut(setCCShortCuts.at(i)); + } QMapIterator counterIterator(counters); while (counterIterator.hasNext()) counterIterator.next().value()->setShortcutsActive(); + + aViewSideboard->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aViewSideboard")); + aViewLibrary->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aViewLibrary")); + aViewTopCards->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aViewTopCards")); + aViewGraveyard->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aViewGraveyard")); + aDrawCard->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aDrawCard")); + aDrawCards->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aDrawCards")); + aUndoDraw->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aUndoDraw")); + aMulligan->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aMulligan")); + aShuffle->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aShuffle")); + aUntapAll->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aUntapAll")); + aRollDie->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aRollDie")); + aCreateToken->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aCreateToken")); + aCreateAnotherToken->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aCreateAnotherToken")); + aAlwaysRevealTopCard->setShortcut(settingsCache->shortcuts().getSingleShortcut("Player/aAlwaysRevealTopCard")); } void Player::setShortcutsInactive() @@ -2346,6 +2290,12 @@ void Player::actPlayFacedown() playCard(game->getActiveCard(), true, false); } +void Player::refreshShortcuts() +{ + if(shortcutsActive) + setShortcutsActive(); +} + void Player::updateCardMenu(CardItem *card) { QMenu *cardMenu = card->getCardMenu(); diff --git a/cockatrice/src/player.h b/cockatrice/src/player.h index 45baa7ae..5eb1a57f 100644 --- a/cockatrice/src/player.h +++ b/cockatrice/src/player.h @@ -159,6 +159,7 @@ private slots: void actPlay(); void actHide(); void actPlayFacedown(); + void refreshShortcuts(); private: TabGame *game; diff --git a/cockatrice/src/sequenceEdit/secuenceedit.cpp b/cockatrice/src/sequenceEdit/sequenceedit.cpp similarity index 83% rename from cockatrice/src/sequenceEdit/secuenceedit.cpp rename to cockatrice/src/sequenceEdit/sequenceedit.cpp index b7078a2d..1056b576 100644 --- a/cockatrice/src/sequenceEdit/secuenceedit.cpp +++ b/cockatrice/src/sequenceEdit/sequenceedit.cpp @@ -1,4 +1,4 @@ -#include "secuenceedit.h" +#include "sequenceedit.h" #include "../settingscache.h" #include #include @@ -7,7 +7,7 @@ #include #include -SecuenceEdit::SecuenceEdit(QString _shorcutName, QWidget *parent) : QWidget(parent) +SequenceEdit::SequenceEdit(QString _shorcutName, QWidget *parent) : QWidget(parent) { shorcutName = _shorcutName; currentKey = 0; @@ -19,16 +19,21 @@ SecuenceEdit::SecuenceEdit(QString _shorcutName, QWidget *parent) : QWidget(pare clearButton = new QPushButton("", this); defaultButton = new QPushButton("", this); - lineEdit->setMinimumWidth(100); + lineEdit->setMinimumWidth(70); clearButton->setMaximumWidth(lineEdit->height()); defaultButton->setMaximumWidth(lineEdit->height()); + clearButton->setMaximumHeight(lineEdit->height()); + defaultButton->setMaximumHeight(lineEdit->height()); clearButton->setIcon(QIcon(":/resources/icon_clearsearch.svg")); defaultButton->setIcon(QIcon(":/resources/icon_update.png")); + clearButton->setAttribute(Qt::WA_LayoutUsesWidgetRect); + defaultButton->setAttribute(Qt::WA_LayoutUsesWidgetRect); + QHBoxLayout *layout = new QHBoxLayout(this); layout->setContentsMargins(0,0,0,0); - layout->setSpacing(0); + layout->setSpacing(1); layout->addWidget(lineEdit); layout->addWidget(clearButton); layout->addWidget(defaultButton); @@ -40,12 +45,12 @@ SecuenceEdit::SecuenceEdit(QString _shorcutName, QWidget *parent) : QWidget(pare lineEdit->setText(settingsCache->shortcuts().getShortcutString(shorcutName)); } -QString SecuenceEdit::getSecuence() +QString SequenceEdit::getSecuence() { return lineEdit->text(); } -void SecuenceEdit::removeLastShortcut() +void SequenceEdit::removeLastShortcut() { QString secuences = lineEdit->text(); if(!secuences.isEmpty()) @@ -60,13 +65,13 @@ void SecuenceEdit::removeLastShortcut() } } -void SecuenceEdit::restoreDefault() +void SequenceEdit::restoreDefault() { lineEdit->setText(settingsCache->shortcuts().getDefaultShortcutString(shorcutName)); updateSettings(); } -bool SecuenceEdit::eventFilter(QObject *, QEvent * event) +bool SequenceEdit::eventFilter(QObject *, QEvent * event) { if(event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) { @@ -81,7 +86,7 @@ bool SecuenceEdit::eventFilter(QObject *, QEvent * event) return false; } -void SecuenceEdit::processKey(QKeyEvent* e) +void SequenceEdit::processKey(QKeyEvent* e) { int key = e->key(); if(key != Qt::Key_Control && key != Qt::Key_Shift @@ -96,7 +101,7 @@ void SecuenceEdit::processKey(QKeyEvent* e) finishShortcut(); } -int SecuenceEdit::translateModifiers(Qt::KeyboardModifiers state, const QString &text) +int SequenceEdit::translateModifiers(Qt::KeyboardModifiers state, const QString &text) { int result = 0; // The shift modifier only counts when it is not used to type a symbol @@ -116,7 +121,7 @@ int SecuenceEdit::translateModifiers(Qt::KeyboardModifiers state, const QString return result; } -void SecuenceEdit::finishShortcut() +void SequenceEdit::finishShortcut() { QKeySequence secuence(keys); if(!secuence.isEmpty() && valid) @@ -143,7 +148,7 @@ void SecuenceEdit::finishShortcut() updateSettings(); } -void SecuenceEdit::updateSettings() +void SequenceEdit::updateSettings() { settingsCache->shortcuts().setShortcuts(shorcutName,lineEdit->text()); } diff --git a/cockatrice/src/sequenceEdit/secuenceedit.h b/cockatrice/src/sequenceEdit/sequenceedit.h similarity index 88% rename from cockatrice/src/sequenceEdit/secuenceedit.h rename to cockatrice/src/sequenceEdit/sequenceedit.h index b8f95874..0a016c2c 100644 --- a/cockatrice/src/sequenceEdit/secuenceedit.h +++ b/cockatrice/src/sequenceEdit/sequenceedit.h @@ -8,11 +8,11 @@ class QLineEdit; class QPushButton; class QEvent; -class SecuenceEdit : public QWidget +class SequenceEdit : public QWidget { Q_OBJECT public: - SecuenceEdit(QString _shorcutName, QWidget *parent = 0); + SequenceEdit(QString _shorcutName, QWidget *parent = 0); QString getSecuence(); signals: diff --git a/cockatrice/src/sequenceEdit/ui_shortcutstab.h b/cockatrice/src/sequenceEdit/ui_shortcutstab.h index fb0812b9..da61fd7c 100644 --- a/cockatrice/src/sequenceEdit/ui_shortcutstab.h +++ b/cockatrice/src/sequenceEdit/ui_shortcutstab.h @@ -14,7 +14,7 @@ #include #include #include -#include "secuenceedit.h" +#include "sequenceedit.h" QT_BEGIN_NAMESPACE @@ -28,97 +28,97 @@ public: QGroupBox *groupBox; QGridLayout *gridLayout_2; QLabel *lbl_MainWindow_aDeckEditor; - SecuenceEdit *MainWindow_aDeckEditor; + SequenceEdit *MainWindow_aDeckEditor; QLabel *lbl_MainWindow_aSinglePlayer; - SecuenceEdit *MainWindow_aSinglePlayer; + SequenceEdit *MainWindow_aSinglePlayer; QLabel *lbl_MainWindow_aWatchReplay; QLabel *lbl_MainWindow_aConnect; - SecuenceEdit *MainWindow_aConnect; + SequenceEdit *MainWindow_aConnect; QLabel *lbl_MainWindow_aRegister; QLabel *lbl_MainWindow_aFullScreen; - SecuenceEdit *MainWindow_aFullScreen; + SequenceEdit *MainWindow_aFullScreen; QLabel *lbl_MainWindow_aSettings; - SecuenceEdit *MainWindow_aRegister; + SequenceEdit *MainWindow_aRegister; QLabel *lbl_MainWindow_aCheckCardUpdates; - SecuenceEdit *MainWindow_aSettings; - SecuenceEdit *MainWindow_aCheckCardUpdates; - SecuenceEdit *MainWindow_aWatchReplay; - SecuenceEdit *MainWindow_aDisconnect; + SequenceEdit *MainWindow_aSettings; + SequenceEdit *MainWindow_aCheckCardUpdates; + SequenceEdit *MainWindow_aWatchReplay; + SequenceEdit *MainWindow_aDisconnect; QLabel *lbl_MainWindow_aDisconnect; QLabel *lbl_MainWindow_aExit; - SecuenceEdit *MainWindow_aExit; + SequenceEdit *MainWindow_aExit; QGroupBox *groupBox_2; QGridLayout *gridLayout; QLabel *lbl_TabDeckEditor_aAnalyzeDeck; - SecuenceEdit *TabDeckEditor_aAnalyzeDeck; + SequenceEdit *TabDeckEditor_aAnalyzeDeck; QLabel *lbl_TabDeckEditor_aLoadDeckFromClipboard; - SecuenceEdit *TabDeckEditor_aLoadDeckFromClipboard; + SequenceEdit *TabDeckEditor_aLoadDeckFromClipboard; QLabel *lbl_TabDeckEditor_aClearFilterAll; - SecuenceEdit *TabDeckEditor_aClearFilterAll; + SequenceEdit *TabDeckEditor_aClearFilterAll; QLabel *lbl_TabDeckEditor_aNewDeck; - SecuenceEdit *TabDeckEditor_aNewDeck; + SequenceEdit *TabDeckEditor_aNewDeck; QLabel *lbl_TabDeckEditor_aClearFilterOne; - SecuenceEdit *TabDeckEditor_aClearFilterOne; + SequenceEdit *TabDeckEditor_aClearFilterOne; QLabel *lbl_TabDeckEditor_aOpenCustomFolder; - SecuenceEdit *TabDeckEditor_aOpenCustomFolder; + SequenceEdit *TabDeckEditor_aOpenCustomFolder; QLabel *lbl_TabDeckEditor_aClose; - SecuenceEdit *TabDeckEditor_aClose; + SequenceEdit *TabDeckEditor_aClose; QLabel *lbl_TabDeckEditor_aPrintDeck; - SecuenceEdit *TabDeckEditor_aPrintDeck; + SequenceEdit *TabDeckEditor_aPrintDeck; QLabel *lbl_TabDeckEditor_aEditSets; - SecuenceEdit *TabDeckEditor_aEditSets; + SequenceEdit *TabDeckEditor_aEditSets; QLabel *lbl_TabDeckEditor_aRemoveCard; - SecuenceEdit *TabDeckEditor_aRemoveCard; + SequenceEdit *TabDeckEditor_aRemoveCard; QLabel *lbl_TabDeckEditor_aEditTokens; - SecuenceEdit *TabDeckEditor_aEditTokens; + SequenceEdit *TabDeckEditor_aEditTokens; QLabel *lbl_TabDeckEditor_aResetLayout; - SecuenceEdit *TabDeckEditor_aResetLayout; + SequenceEdit *TabDeckEditor_aResetLayout; QLabel *lbl_TabDeckEditor_aIncrement; - SecuenceEdit *TabDeckEditor_aIncrement; + SequenceEdit *TabDeckEditor_aIncrement; QLabel *lbl_TabDeckEditor_aSaveDeck; - SecuenceEdit *TabDeckEditor_aSaveDeck; + SequenceEdit *TabDeckEditor_aSaveDeck; QLabel *lbl_TabDeckEditor_aDecrement; - SecuenceEdit *TabDeckEditor_aDecrement; + SequenceEdit *TabDeckEditor_aDecrement; QLabel *lbl_TabDeckEditor_aSaveDeckAs; - SecuenceEdit *TabDeckEditor_aSaveDeckAs; + SequenceEdit *TabDeckEditor_aSaveDeckAs; QLabel *lbl_TabDeckEditor_aLoadDeck; - SecuenceEdit *TabDeckEditor_aLoadDeck; + SequenceEdit *TabDeckEditor_aLoadDeck; QLabel *lbl_TabDeckEditor_aSaveDeckToClipboard; - SecuenceEdit *TabDeckEditor_aSaveDeckToClipboard; + SequenceEdit *TabDeckEditor_aSaveDeckToClipboard; QGroupBox *groupBox_3; QHBoxLayout *horizontalLayout; QGroupBox *groupBox_4; QGridLayout *gridLayout_4; QLabel *lbl_abstractCounter_sSet; - SecuenceEdit *abstractCounter_aSet; + SequenceEdit *abstractCounter_aSet; QLabel *lbl_abstractCounter_aInc; - SecuenceEdit *abstractCounter_Inc; + SequenceEdit *abstractCounter_Inc; QLabel *lbl_abstractCounter_aDec; - SecuenceEdit *abstractCounter_aDec; + SequenceEdit *abstractCounter_aDec; QGroupBox *groupBox_5; QGridLayout *gridLayout_6; QLabel *lbl_Player_aSCRed; - SecuenceEdit *Player_aSCRed; + SequenceEdit *Player_aSCRed; QLabel *lbl_Player_aCCRed; - SecuenceEdit *Player_aCCRed; + SequenceEdit *Player_aCCRed; QLabel *lbl_Player_aRCRed; - SecuenceEdit *Player_aRCRed; + SequenceEdit *Player_aRCRed; QGroupBox *groupBox_6; QGridLayout *gridLayout_7; QLabel *lbl_Player_aSCGreen; - SecuenceEdit *Player_aSCGreen; + SequenceEdit *Player_aSCGreen; QLabel *lbl_Player_aCCGreen; - SecuenceEdit *Player_aCCGreen; + SequenceEdit *Player_aCCGreen; QLabel *lbl_Player_aRCGreen; - SecuenceEdit *Player_aRCGreen; + SequenceEdit *Player_aRCGreen; QGroupBox *groupBox_7; QGridLayout *gridLayout_8; QLabel *lbl_Player_aSCYellow; - SecuenceEdit *Player_aSCYellow; + SequenceEdit *Player_aSCYellow; QLabel *lbl_Player_aCCYellow; - SecuenceEdit *Player_aCCYellow; + SequenceEdit *Player_aCCYellow; QLabel *lbl_Player_aRCYellow; - SecuenceEdit *Player_aRCYellow; + SequenceEdit *Player_aRCYellow; QSpacerItem *verticalSpacer; QWidget *tab_2; QGridLayout *gridLayout_17; @@ -126,145 +126,145 @@ public: QVBoxLayout *verticalLayout; QGroupBox *groupBox_12; QGridLayout *gridLayout_12; - SecuenceEdit *Player_aDecPT; - SecuenceEdit *Player_aIncPT; + SequenceEdit *Player_aDecPT; + SequenceEdit *Player_aIncPT; QLabel *lbl_Player_aIncPT; QLabel *lbl_Player_aDecPT; - SecuenceEdit *Player_aSetPT; + SequenceEdit *Player_aSetPT; QLabel *lbl_Player_aSetPT; QGroupBox *groupBox_11; QGridLayout *gridLayout_11; QLabel *lbl_Player_aDecT; - SecuenceEdit *Player_aDecT; + SequenceEdit *Player_aDecT; QLabel *lbl_Player_aIncT; - SecuenceEdit *Player_aIncT; + SequenceEdit *Player_aIncT; QGroupBox *groupBox_10; QGridLayout *gridLayout_10; QLabel *lbl_Player_aDecP; - SecuenceEdit *Player_aDecP; - SecuenceEdit *Player_IncP; + SequenceEdit *Player_aDecP; + SequenceEdit *Player_IncP; QLabel *lbl_Player_IncP; QGroupBox *groupBox_8; QGridLayout *gridLayout_5; QLabel *lbl_TabGame_phase0; - SecuenceEdit *TabGame_phase0; + SequenceEdit *TabGame_phase0; QLabel *lbl_TabGame_phase1; - SecuenceEdit *TabGame_phase1; + SequenceEdit *TabGame_phase1; QLabel *lbl_TabGame_phase2; - SecuenceEdit *TabGame_phase2; + SequenceEdit *TabGame_phase2; QLabel *lbl_TabGame_phase3; - SecuenceEdit *TabGame_phase3; + SequenceEdit *TabGame_phase3; QLabel *lbl_TabGame_phase4; - SecuenceEdit *TabGame_phase4; + SequenceEdit *TabGame_phase4; QLabel *lbl_TabGame_phase5; - SecuenceEdit *TabGame_phase5; + SequenceEdit *TabGame_phase5; QLabel *lbl_TabGame_phase6; QLabel *lbl_TabGame_phase7; - SecuenceEdit *TabGame_phase6; + SequenceEdit *TabGame_phase6; QLabel *lbl_TabGame_phase8; - SecuenceEdit *TabGame_phase7; + SequenceEdit *TabGame_phase7; QLabel *lbl_TabGame_phase9; - SecuenceEdit *TabGame_phase8; + SequenceEdit *TabGame_phase8; QLabel *lbl_TabGame_phase10; - SecuenceEdit *TabGame_phase9; + SequenceEdit *TabGame_phase9; QLabel *lbl_TabGame_aNextPhase; - SecuenceEdit *TabGame_phase10; + SequenceEdit *TabGame_phase10; QLabel *lbl_TabGame_aNextTurn; - SecuenceEdit *TabGame_aNextPhase; - SecuenceEdit *TabGame_aNextTurn; + SequenceEdit *TabGame_aNextPhase; + SequenceEdit *TabGame_aNextTurn; QGroupBox *groupBox_13; QGridLayout *gridLayout_13; QLabel *lbl_Player_aTap; - SecuenceEdit *Player_aTap; + SequenceEdit *Player_aTap; QLabel *lbl_Player_aUntap; - SecuenceEdit *Player_aUntap; + SequenceEdit *Player_aUntap; QLabel *lbl_Player_aUntapAll; - SecuenceEdit *Player_aUntapAll; + SequenceEdit *Player_aUntapAll; QLabel *lbl_Player_aDoesntUntap; - SecuenceEdit *Player_aDoesntUntap; + SequenceEdit *Player_aDoesntUntap; QLabel *lbl_Player_aFlip; - SecuenceEdit *Player_aFlip; + SequenceEdit *Player_aFlip; QLabel *lbl_Player_aPeek; - SecuenceEdit *Player_aPeek; + SequenceEdit *Player_aPeek; QLabel *lbl_Player_aPlay; - SecuenceEdit *Player_aPlay; + SequenceEdit *Player_aPlay; QLabel *lbl_Player_aAttach; - SecuenceEdit *Player_aAttach; + SequenceEdit *Player_aAttach; QLabel *lbl_Player_aUnattach; - SecuenceEdit *Player_aUnattach; + SequenceEdit *Player_aUnattach; QLabel *lbl_Player_aClone; - SecuenceEdit *Player_aClone; + SequenceEdit *Player_aClone; QLabel *lbl_Player_aCreateToken; - SecuenceEdit *Player_aCreateToken; + SequenceEdit *Player_aCreateToken; QLabel *lbl_Player_aCreateAnotherToken; - SecuenceEdit *Player_aCreateAnotherToken; + SequenceEdit *Player_aCreateAnotherToken; QLabel *lbl_Player_aSetAnnotation; - SecuenceEdit *Player_aSetAnnotation; + SequenceEdit *Player_aSetAnnotation; QSpacerItem *verticalSpacer_2; QWidget *tab_3; QGridLayout *gridLayout_20; QGroupBox *groupBox_15; QGridLayout *gridLayout_15; QLabel *lbl_Player_aMoveToBottomLibrary; - SecuenceEdit *Player_aMoveToBottomLibrary; + SequenceEdit *Player_aMoveToBottomLibrary; QLabel *lbl_Player_aMoveToTopLibrary; - SecuenceEdit *Player_aMoveToTopLibrary; + SequenceEdit *Player_aMoveToTopLibrary; QLabel *lbl_Player_aMoveToGraveyard; - SecuenceEdit *Player_aMoveToGraveyard; + SequenceEdit *Player_aMoveToGraveyard; QLabel *lbl_Player_aMoveToExile; - SecuenceEdit *Player_aMoveToExile; + SequenceEdit *Player_aMoveToExile; QLabel *lbl_Player_aMoveToHand; - SecuenceEdit *Player_aMoveToHand; + SequenceEdit *Player_aMoveToHand; QGroupBox *groupBox_16; QGridLayout *gridLayout_16; QLabel *lbl_Player_aViewGraveyard; - SecuenceEdit *Player_aViewGraveyard; + SequenceEdit *Player_aViewGraveyard; QLabel *lbl_Player_aViewLibrary; - SecuenceEdit *Player_aViewLibrary; + SequenceEdit *Player_aViewLibrary; QLabel *lbl_Player_aViewTopCards; - SecuenceEdit *Player_aViewTopCards; + SequenceEdit *Player_aViewTopCards; QLabel *lbl_Player_aViewSideboard; - SecuenceEdit *Player_aViewSideboard; + SequenceEdit *Player_aViewSideboard; QLabel *lbl_Player_aViewRfg; - SecuenceEdit *Player_aViewRfg; + SequenceEdit *Player_aViewRfg; QLabel *lbl_GameView_aCloseMostRecentZoneView; - SecuenceEdit *GameView_aCloseMostRecentZoneView; + SequenceEdit *GameView_aCloseMostRecentZoneView; QGroupBox *groupBox_17; QGridLayout *gridLayout_18; - SecuenceEdit *DeckViewContainer_loadRemoteButton; - SecuenceEdit *DeckViewContainer_loadLocalButton; + SequenceEdit *DeckViewContainer_loadRemoteButton; + SequenceEdit *DeckViewContainer_loadLocalButton; QLabel *lbl_DeckViewContainer_loadRemoteButton; QLabel *lbl_DeckViewContainer_loadLocalButton; QGroupBox *groupBox_18; QGridLayout *gridLayout_19; QLabel *lbl_Player_aDrawArrow; - SecuenceEdit *Player_aDrawArrow; + SequenceEdit *Player_aDrawArrow; QLabel *lbl_TabGame_aLeaveGame; - SecuenceEdit *TabGame_aLeaveGame; + SequenceEdit *TabGame_aLeaveGame; QLabel *lbl_TabGame_aRemoveLocalArrows; - SecuenceEdit *TabGame_aRemoveLocalArrows; + SequenceEdit *TabGame_aRemoveLocalArrows; QLabel *lbl_TabGame_aConcede; - SecuenceEdit *TabGame_aConcede; + SequenceEdit *TabGame_aConcede; QLabel *lbl_Player_aRollDie; - SecuenceEdit *Player_aRollDie; + SequenceEdit *Player_aRollDie; QLabel *lbl_TabGame_aRotateViewCW; - SecuenceEdit *TabGame_aRotateViewCW; + SequenceEdit *TabGame_aRotateViewCW; QLabel *lbl_Player_aShuffle; - SecuenceEdit *Player_aShuffle; + SequenceEdit *Player_aShuffle; QLabel *lbl_TabGame_aRotateViewCCW; - SecuenceEdit *TabGame_aRotateViewCCW; + SequenceEdit *TabGame_aRotateViewCCW; QGroupBox *groupBox_14; QGridLayout *gridLayout_14; QLabel *lbl_Player_aMulligan; - SecuenceEdit *Player_aMulligan; + SequenceEdit *Player_aMulligan; QLabel *lbl_Player_aDrawCard; - SecuenceEdit *Player_aDrawCard; + SequenceEdit *Player_aDrawCard; QLabel *lbl_Player_aDrawCards; - SecuenceEdit *Player_aDrawCards; + SequenceEdit *Player_aDrawCards; QLabel *lbl_Player_aUndoDraw; - SecuenceEdit *Player_aUndoDraw; + SequenceEdit *Player_aUndoDraw; QLabel *lbl_Player_aAlwaysRevealTopCard; - SecuenceEdit *Player_aAlwaysRevealTopCard; + SequenceEdit *Player_aAlwaysRevealTopCard; QSpacerItem *verticalSpacer_3; QWidget * tab_4; @@ -290,7 +290,7 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aDeckEditor, 1, 0, 1, 1); - MainWindow_aDeckEditor = new SecuenceEdit("MainWindow/aDeckEditor",groupBox); + MainWindow_aDeckEditor = new SequenceEdit("MainWindow/aDeckEditor",groupBox); MainWindow_aDeckEditor->setObjectName("MainWindow_aDeckEditor"); gridLayout_2->addWidget(MainWindow_aDeckEditor, 1, 1, 1, 2); @@ -300,7 +300,7 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aSinglePlayer, 2, 0, 1, 1); - MainWindow_aSinglePlayer = new SecuenceEdit("MainWindow/aSinglePlayer",groupBox); + MainWindow_aSinglePlayer = new SequenceEdit("MainWindow/aSinglePlayer",groupBox); MainWindow_aSinglePlayer->setObjectName("MainWindow_aSinglePlayer"); gridLayout_2->addWidget(MainWindow_aSinglePlayer, 2, 1, 1, 2); @@ -315,7 +315,7 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aConnect, 6, 0, 1, 1); - MainWindow_aConnect = new SecuenceEdit("MainWindow/aConnect",groupBox); + MainWindow_aConnect = new SequenceEdit("MainWindow/aConnect",groupBox); MainWindow_aConnect->setObjectName("MainWindow_aConnect"); gridLayout_2->addWidget(MainWindow_aConnect, 6, 1, 1, 2); @@ -330,7 +330,7 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aFullScreen, 9, 0, 1, 1); - MainWindow_aFullScreen = new SecuenceEdit("MainWindow/aFullScreen",groupBox); + MainWindow_aFullScreen = new SequenceEdit("MainWindow/aFullScreen",groupBox); MainWindow_aFullScreen->setObjectName("MainWindow_aFullScreen"); gridLayout_2->addWidget(MainWindow_aFullScreen, 9, 1, 1, 2); @@ -340,7 +340,7 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aSettings, 11, 0, 1, 1); - MainWindow_aRegister = new SecuenceEdit("MainWindow/aRegister",groupBox); + MainWindow_aRegister = new SequenceEdit("MainWindow/aRegister",groupBox); MainWindow_aRegister->setObjectName("MainWindow_aRegister"); gridLayout_2->addWidget(MainWindow_aRegister, 10, 1, 1, 2); @@ -350,22 +350,22 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aCheckCardUpdates, 0, 0, 1, 1); - MainWindow_aSettings = new SecuenceEdit("MainWindow/aSettings",groupBox); + MainWindow_aSettings = new SequenceEdit("MainWindow/aSettings",groupBox); MainWindow_aSettings->setObjectName("MainWindow_aSettings"); gridLayout_2->addWidget(MainWindow_aSettings, 11, 1, 1, 2); - MainWindow_aCheckCardUpdates = new SecuenceEdit("MainWindow/aCheckCardUpdates",groupBox); + MainWindow_aCheckCardUpdates = new SequenceEdit("MainWindow/aCheckCardUpdates",groupBox); MainWindow_aCheckCardUpdates->setObjectName("MainWindow_aCheckCardUpdates"); gridLayout_2->addWidget(MainWindow_aCheckCardUpdates, 0, 1, 1, 2); - MainWindow_aWatchReplay = new SecuenceEdit("MainWindow/aWatchReplay",groupBox); + MainWindow_aWatchReplay = new SequenceEdit("MainWindow/aWatchReplay",groupBox); MainWindow_aWatchReplay->setObjectName("MainWindow_aWatchReplay"); gridLayout_2->addWidget(MainWindow_aWatchReplay, 4, 1, 1, 2); - MainWindow_aDisconnect = new SecuenceEdit("MainWindow/aDisconnect",groupBox); + MainWindow_aDisconnect = new SequenceEdit("MainWindow/aDisconnect",groupBox); MainWindow_aDisconnect->setObjectName("MainWindow_aDisconnect"); gridLayout_2->addWidget(MainWindow_aDisconnect, 7, 1, 1, 2); @@ -380,12 +380,11 @@ public: gridLayout_2->addWidget(lbl_MainWindow_aExit, 8, 0, 1, 1); - MainWindow_aExit = new SecuenceEdit("MainWindow/aExit",groupBox); + MainWindow_aExit = new SequenceEdit("MainWindow/aExit",groupBox); MainWindow_aExit->setObjectName("MainWindow_aExit"); gridLayout_2->addWidget(MainWindow_aExit, 8, 1, 1, 2); - gridLayout_3->addWidget(groupBox, 0, 0, 1, 1); groupBox_2 = new QGroupBox(tab); @@ -397,7 +396,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aAnalyzeDeck, 0, 0, 1, 1); - TabDeckEditor_aAnalyzeDeck = new SecuenceEdit("TabDeckEditor/aAnalyzeDeck",groupBox_2); + TabDeckEditor_aAnalyzeDeck = new SequenceEdit("TabDeckEditor/aAnalyzeDeck",groupBox_2); TabDeckEditor_aAnalyzeDeck->setObjectName("TabDeckEditor_aAnalyzeDeck"); gridLayout->addWidget(TabDeckEditor_aAnalyzeDeck, 0, 1, 1, 1); @@ -407,7 +406,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aLoadDeckFromClipboard, 0, 2, 1, 1); - TabDeckEditor_aLoadDeckFromClipboard = new SecuenceEdit("TabDeckEditor/aLoadDeckFromClipboard",groupBox_2); + TabDeckEditor_aLoadDeckFromClipboard = new SequenceEdit("TabDeckEditor/aLoadDeckFromClipboard",groupBox_2); TabDeckEditor_aLoadDeckFromClipboard->setObjectName("TabDeckEditor_aLoadDeckFromClipboard"); gridLayout->addWidget(TabDeckEditor_aLoadDeckFromClipboard, 0, 3, 1, 1); @@ -417,7 +416,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aClearFilterAll, 1, 0, 1, 1); - TabDeckEditor_aClearFilterAll = new SecuenceEdit("TabDeckEditor/aClearFilterAll",groupBox_2); + TabDeckEditor_aClearFilterAll = new SequenceEdit("TabDeckEditor/aClearFilterAll",groupBox_2); TabDeckEditor_aClearFilterAll->setObjectName("TabDeckEditor_aClearFilterAll"); gridLayout->addWidget(TabDeckEditor_aClearFilterAll, 1, 1, 1, 1); @@ -427,7 +426,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aNewDeck, 1, 2, 1, 1); - TabDeckEditor_aNewDeck = new SecuenceEdit("TabDeckEditor/aNewDeck",groupBox_2); + TabDeckEditor_aNewDeck = new SequenceEdit("TabDeckEditor/aNewDeck",groupBox_2); TabDeckEditor_aNewDeck->setObjectName("TabDeckEditor_aNewDeck"); gridLayout->addWidget(TabDeckEditor_aNewDeck, 1, 3, 1, 1); @@ -437,7 +436,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aClearFilterOne, 2, 0, 1, 1); - TabDeckEditor_aClearFilterOne = new SecuenceEdit("TabDeckEditor/aClearFilterOne",groupBox_2); + TabDeckEditor_aClearFilterOne = new SequenceEdit("TabDeckEditor/aClearFilterOne",groupBox_2); TabDeckEditor_aClearFilterOne->setObjectName("TabDeckEditor_aClearFilterOne"); gridLayout->addWidget(TabDeckEditor_aClearFilterOne, 2, 1, 1, 1); @@ -447,7 +446,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aOpenCustomFolder, 2, 2, 1, 1); - TabDeckEditor_aOpenCustomFolder = new SecuenceEdit("TabDeckEditor/aOpenCustomFolder",groupBox_2); + TabDeckEditor_aOpenCustomFolder = new SequenceEdit("TabDeckEditor/aOpenCustomFolder",groupBox_2); TabDeckEditor_aOpenCustomFolder->setObjectName("TabDeckEditor_aOpenCustomFolder"); gridLayout->addWidget(TabDeckEditor_aOpenCustomFolder, 2, 3, 1, 1); @@ -457,7 +456,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aClose, 3, 0, 1, 1); - TabDeckEditor_aClose = new SecuenceEdit("TabDeckEditor/aClose",groupBox_2); + TabDeckEditor_aClose = new SequenceEdit("TabDeckEditor/aClose",groupBox_2); TabDeckEditor_aClose->setObjectName("TabDeckEditor_aClose"); gridLayout->addWidget(TabDeckEditor_aClose, 3, 1, 1, 1); @@ -467,7 +466,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aPrintDeck, 3, 2, 1, 1); - TabDeckEditor_aPrintDeck = new SecuenceEdit("TabDeckEditor/aPrintDeck",groupBox_2); + TabDeckEditor_aPrintDeck = new SequenceEdit("TabDeckEditor/aPrintDeck",groupBox_2); TabDeckEditor_aPrintDeck->setObjectName("TabDeckEditor_aPrintDeck"); gridLayout->addWidget(TabDeckEditor_aPrintDeck, 3, 3, 1, 1); @@ -477,7 +476,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aEditSets, 4, 0, 1, 1); - TabDeckEditor_aEditSets = new SecuenceEdit("TabDeckEditor/aEditSets",groupBox_2); + TabDeckEditor_aEditSets = new SequenceEdit("TabDeckEditor/aEditSets",groupBox_2); TabDeckEditor_aEditSets->setObjectName("TabDeckEditor_aEditSets"); gridLayout->addWidget(TabDeckEditor_aEditSets, 4, 1, 1, 1); @@ -487,7 +486,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aRemoveCard, 4, 2, 1, 1); - TabDeckEditor_aRemoveCard = new SecuenceEdit("TabDeckEditor/aRemoveCard",groupBox_2); + TabDeckEditor_aRemoveCard = new SequenceEdit("TabDeckEditor/aRemoveCard",groupBox_2); TabDeckEditor_aRemoveCard->setObjectName("TabDeckEditor_aRemoveCard"); gridLayout->addWidget(TabDeckEditor_aRemoveCard, 4, 3, 1, 1); @@ -497,7 +496,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aEditTokens, 5, 0, 1, 1); - TabDeckEditor_aEditTokens = new SecuenceEdit("TabDeckEditor/aEditTokens",groupBox_2); + TabDeckEditor_aEditTokens = new SequenceEdit("TabDeckEditor/aEditTokens",groupBox_2); TabDeckEditor_aEditTokens->setObjectName("TabDeckEditor_aEditTokens"); gridLayout->addWidget(TabDeckEditor_aEditTokens, 5, 1, 1, 1); @@ -507,7 +506,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aResetLayout, 5, 2, 1, 1); - TabDeckEditor_aResetLayout = new SecuenceEdit("TabDeckEditor/aResetLayout",groupBox_2); + TabDeckEditor_aResetLayout = new SequenceEdit("TabDeckEditor/aResetLayout",groupBox_2); TabDeckEditor_aResetLayout->setObjectName("TabDeckEditor_aResetLayout"); gridLayout->addWidget(TabDeckEditor_aResetLayout, 5, 3, 1, 1); @@ -517,7 +516,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aIncrement, 6, 0, 1, 1); - TabDeckEditor_aIncrement = new SecuenceEdit("TabDeckEditor/aIncrement",groupBox_2); + TabDeckEditor_aIncrement = new SequenceEdit("TabDeckEditor/aIncrement",groupBox_2); TabDeckEditor_aIncrement->setObjectName("TabDeckEditor_aIncrement"); gridLayout->addWidget(TabDeckEditor_aIncrement, 6, 1, 1, 1); @@ -527,7 +526,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aSaveDeck, 6, 2, 1, 1); - TabDeckEditor_aSaveDeck = new SecuenceEdit("TabDeckEditor/aSaveDeck",groupBox_2); + TabDeckEditor_aSaveDeck = new SequenceEdit("TabDeckEditor/aSaveDeck",groupBox_2); TabDeckEditor_aSaveDeck->setObjectName("TabDeckEditor_aSaveDeck"); gridLayout->addWidget(TabDeckEditor_aSaveDeck, 6, 3, 1, 1); @@ -537,7 +536,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aDecrement, 7, 0, 1, 1); - TabDeckEditor_aDecrement = new SecuenceEdit("TabDeckEditor/aDecrement",groupBox_2); + TabDeckEditor_aDecrement = new SequenceEdit("TabDeckEditor/aDecrement",groupBox_2); TabDeckEditor_aDecrement->setObjectName("TabDeckEditor_aDecrement"); gridLayout->addWidget(TabDeckEditor_aDecrement, 7, 1, 1, 1); @@ -547,7 +546,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aSaveDeckAs, 7, 2, 1, 1); - TabDeckEditor_aSaveDeckAs = new SecuenceEdit("TabDeckEditor/aSaveDeckAs",groupBox_2); + TabDeckEditor_aSaveDeckAs = new SequenceEdit("TabDeckEditor/aSaveDeckAs",groupBox_2); TabDeckEditor_aSaveDeckAs->setObjectName("TabDeckEditor_aSaveDeckAs"); gridLayout->addWidget(TabDeckEditor_aSaveDeckAs, 7, 3, 1, 1); @@ -557,7 +556,7 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aLoadDeck, 8, 0, 1, 1); - TabDeckEditor_aLoadDeck = new SecuenceEdit("TabDeckEditor/aLoadDeck",groupBox_2); + TabDeckEditor_aLoadDeck = new SequenceEdit("TabDeckEditor/aLoadDeck",groupBox_2); TabDeckEditor_aLoadDeck->setObjectName("TabDeckEditor_aLoadDeck"); gridLayout->addWidget(TabDeckEditor_aLoadDeck, 8, 1, 1, 1); @@ -567,12 +566,11 @@ public: gridLayout->addWidget(lbl_TabDeckEditor_aSaveDeckToClipboard, 8, 2, 1, 1); - TabDeckEditor_aSaveDeckToClipboard = new SecuenceEdit("TabDeckEditor/aSaveDeckToClipboard",groupBox_2); + TabDeckEditor_aSaveDeckToClipboard = new SequenceEdit("TabDeckEditor/aSaveDeckToClipboard",groupBox_2); TabDeckEditor_aSaveDeckToClipboard->setObjectName("TabDeckEditor_aSaveDeckToClipboard"); gridLayout->addWidget(TabDeckEditor_aSaveDeckToClipboard, 8, 3, 1, 1); - gridLayout_3->addWidget(groupBox_2, 0, 1, 1, 1); groupBox_3 = new QGroupBox(tab); @@ -588,7 +586,7 @@ public: gridLayout_4->addWidget(lbl_abstractCounter_sSet, 0, 0, 1, 1); - abstractCounter_aSet = new SecuenceEdit("Player/aSet",groupBox_4); + abstractCounter_aSet = new SequenceEdit("Player/aSet",groupBox_4); abstractCounter_aSet->setObjectName("abstractCounter_aSet"); gridLayout_4->addWidget(abstractCounter_aSet, 0, 1, 1, 1); @@ -598,7 +596,7 @@ public: gridLayout_4->addWidget(lbl_abstractCounter_aInc, 1, 0, 1, 1); - abstractCounter_Inc = new SecuenceEdit("Player/Inc",groupBox_4); + abstractCounter_Inc = new SequenceEdit("Player/Inc",groupBox_4); abstractCounter_Inc->setObjectName("abstractCounter_Inc"); gridLayout_4->addWidget(abstractCounter_Inc, 1, 1, 1, 1); @@ -608,12 +606,11 @@ public: gridLayout_4->addWidget(lbl_abstractCounter_aDec, 2, 0, 1, 1); - abstractCounter_aDec = new SecuenceEdit("Player/aDec",groupBox_4); + abstractCounter_aDec = new SequenceEdit("Player/aDec",groupBox_4); abstractCounter_aDec->setObjectName("abstractCounter_aDec"); gridLayout_4->addWidget(abstractCounter_aDec, 2, 1, 1, 1); - horizontalLayout->addWidget(groupBox_4); groupBox_5 = new QGroupBox(groupBox_3); @@ -625,7 +622,7 @@ public: gridLayout_6->addWidget(lbl_Player_aSCRed, 0, 0, 1, 1); - Player_aSCRed = new SecuenceEdit("Player/aSCRed",groupBox_5); + Player_aSCRed = new SequenceEdit("Player/aSCRed",groupBox_5); Player_aSCRed->setObjectName("Player_aSCRed"); gridLayout_6->addWidget(Player_aSCRed, 0, 1, 1, 1); @@ -635,7 +632,7 @@ public: gridLayout_6->addWidget(lbl_Player_aCCRed, 1, 0, 1, 1); - Player_aCCRed = new SecuenceEdit("Player/aCCRed",groupBox_5); + Player_aCCRed = new SequenceEdit("Player/aCCRed",groupBox_5); Player_aCCRed->setObjectName("Player_aCCRed"); gridLayout_6->addWidget(Player_aCCRed, 1, 1, 1, 1); @@ -645,12 +642,11 @@ public: gridLayout_6->addWidget(lbl_Player_aRCRed, 2, 0, 1, 1); - Player_aRCRed = new SecuenceEdit("Player/aRCRed",groupBox_5); + Player_aRCRed = new SequenceEdit("Player/aRCRed",groupBox_5); Player_aRCRed->setObjectName("Player_aRCRed"); gridLayout_6->addWidget(Player_aRCRed, 2, 1, 1, 1); - horizontalLayout->addWidget(groupBox_5); groupBox_6 = new QGroupBox(groupBox_3); @@ -662,7 +658,7 @@ public: gridLayout_7->addWidget(lbl_Player_aSCGreen, 0, 0, 1, 1); - Player_aSCGreen = new SecuenceEdit("Player/aSCGreen",groupBox_6); + Player_aSCGreen = new SequenceEdit("Player/aSCGreen",groupBox_6); Player_aSCGreen->setObjectName("Player_aSCGreen"); gridLayout_7->addWidget(Player_aSCGreen, 0, 1, 1, 1); @@ -672,7 +668,7 @@ public: gridLayout_7->addWidget(lbl_Player_aCCGreen, 1, 0, 1, 1); - Player_aCCGreen = new SecuenceEdit("Player/aCCGreen",groupBox_6); + Player_aCCGreen = new SequenceEdit("Player/aCCGreen",groupBox_6); Player_aCCGreen->setObjectName("Player_aCCGreen"); gridLayout_7->addWidget(Player_aCCGreen, 1, 1, 1, 1); @@ -682,12 +678,11 @@ public: gridLayout_7->addWidget(lbl_Player_aRCGreen, 2, 0, 1, 1); - Player_aRCGreen = new SecuenceEdit("Player/aRCGreen",groupBox_6); + Player_aRCGreen = new SequenceEdit("Player/aRCGreen",groupBox_6); Player_aRCGreen->setObjectName("Player_aRCGreen"); gridLayout_7->addWidget(Player_aRCGreen, 2, 1, 1, 1); - horizontalLayout->addWidget(groupBox_6); groupBox_7 = new QGroupBox(groupBox_3); @@ -699,7 +694,7 @@ public: gridLayout_8->addWidget(lbl_Player_aSCYellow, 0, 0, 1, 1); - Player_aSCYellow = new SecuenceEdit("Player/aSCYellow",groupBox_7); + Player_aSCYellow = new SequenceEdit("Player/aSCYellow",groupBox_7); Player_aSCYellow->setObjectName("Player_aSCYellow"); gridLayout_8->addWidget(Player_aSCYellow, 0, 1, 1, 1); @@ -709,7 +704,7 @@ public: gridLayout_8->addWidget(lbl_Player_aCCYellow, 1, 0, 1, 1); - Player_aCCYellow = new SecuenceEdit("Player/aCCYellow",groupBox_7); + Player_aCCYellow = new SequenceEdit("Player/aCCYellow",groupBox_7); Player_aCCYellow->setObjectName("Player_aCCYellow"); gridLayout_8->addWidget(Player_aCCYellow, 1, 1, 1, 1); @@ -719,12 +714,11 @@ public: gridLayout_8->addWidget(lbl_Player_aRCYellow, 2, 0, 1, 1); - Player_aRCYellow = new SecuenceEdit("Player/aRCYellow",groupBox_7); + Player_aRCYellow = new SequenceEdit("Player/aRCYellow",groupBox_7); Player_aRCYellow->setObjectName("Player_aRCYellow"); gridLayout_8->addWidget(Player_aRCYellow, 2, 1, 1, 1); - horizontalLayout->addWidget(groupBox_7); verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); @@ -744,12 +738,12 @@ public: groupBox_12->setObjectName("groupBox_12"); gridLayout_12 = new QGridLayout(groupBox_12); gridLayout_12->setObjectName("gridLayout_12"); - Player_aDecPT = new SecuenceEdit("Player/aDecPT",groupBox_12); + Player_aDecPT = new SequenceEdit("Player/aDecPT",groupBox_12); Player_aDecPT->setObjectName("Player_aDecPT"); gridLayout_12->addWidget(Player_aDecPT, 2, 1, 1, 1); - Player_aIncPT = new SecuenceEdit("Player/aIncPT",groupBox_12); + Player_aIncPT = new SequenceEdit("Player/aIncPT",groupBox_12); Player_aIncPT->setObjectName("Player_aIncPT"); gridLayout_12->addWidget(Player_aIncPT, 1, 1, 1, 1); @@ -764,7 +758,7 @@ public: gridLayout_12->addWidget(lbl_Player_aDecPT, 2, 0, 1, 1); - Player_aSetPT = new SecuenceEdit("Player/aSetPT",groupBox_12); + Player_aSetPT = new SequenceEdit("Player/aSetPT",groupBox_12); Player_aSetPT->setObjectName("Player_aSetPT"); gridLayout_12->addWidget(Player_aSetPT, 0, 1, 1, 1); @@ -774,7 +768,6 @@ public: gridLayout_12->addWidget(lbl_Player_aSetPT, 0, 0, 1, 1); - verticalLayout->addWidget(groupBox_12); groupBox_11 = new QGroupBox(groupBox_9); @@ -786,7 +779,7 @@ public: gridLayout_11->addWidget(lbl_Player_aDecT, 1, 0, 1, 1); - Player_aDecT = new SecuenceEdit("Player/aDecT",groupBox_11); + Player_aDecT = new SequenceEdit("Player/aDecT",groupBox_11); Player_aDecT->setObjectName("Player_aDecT"); gridLayout_11->addWidget(Player_aDecT, 1, 1, 1, 1); @@ -796,12 +789,11 @@ public: gridLayout_11->addWidget(lbl_Player_aIncT, 0, 0, 1, 1); - Player_aIncT = new SecuenceEdit("Player/aIncT",groupBox_11); + Player_aIncT = new SequenceEdit("Player/aIncT",groupBox_11); Player_aIncT->setObjectName("Player_aIncT"); gridLayout_11->addWidget(Player_aIncT, 0, 1, 1, 1); - verticalLayout->addWidget(groupBox_11); groupBox_10 = new QGroupBox(groupBox_9); @@ -813,12 +805,12 @@ public: gridLayout_10->addWidget(lbl_Player_aDecP, 1, 0, 1, 1); - Player_aDecP = new SecuenceEdit("Player/aDecP",groupBox_10); + Player_aDecP = new SequenceEdit("Player/aDecP",groupBox_10); Player_aDecP->setObjectName("Player_aDecP"); gridLayout_10->addWidget(Player_aDecP, 1, 1, 1, 1); - Player_IncP = new SecuenceEdit("Player/IncP",groupBox_10); + Player_IncP = new SequenceEdit("Player/IncP",groupBox_10); Player_IncP->setObjectName("Player_IncP"); gridLayout_10->addWidget(Player_IncP, 0, 1, 1, 1); @@ -828,10 +820,8 @@ public: gridLayout_10->addWidget(lbl_Player_IncP, 0, 0, 1, 1); - verticalLayout->addWidget(groupBox_10); - gridLayout_17->addWidget(groupBox_9, 0, 1, 1, 1); groupBox_8 = new QGroupBox(tab_2); @@ -843,7 +833,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase0, 0, 0, 1, 1); - TabGame_phase0 = new SecuenceEdit("Player/phase0",groupBox_8); + TabGame_phase0 = new SequenceEdit("Player/phase0",groupBox_8); TabGame_phase0->setObjectName("TabGame_phase0"); gridLayout_5->addWidget(TabGame_phase0, 0, 1, 1, 1); @@ -853,7 +843,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase1, 1, 0, 1, 1); - TabGame_phase1 = new SecuenceEdit("Player/phase1",groupBox_8); + TabGame_phase1 = new SequenceEdit("Player/phase1",groupBox_8); TabGame_phase1->setObjectName("TabGame_phase1"); gridLayout_5->addWidget(TabGame_phase1, 1, 1, 1, 1); @@ -863,7 +853,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase2, 2, 0, 1, 1); - TabGame_phase2 = new SecuenceEdit("Player/phase2",groupBox_8); + TabGame_phase2 = new SequenceEdit("Player/phase2",groupBox_8); TabGame_phase2->setObjectName("TabGame_phase2"); gridLayout_5->addWidget(TabGame_phase2, 2, 1, 1, 1); @@ -873,7 +863,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase3, 3, 0, 1, 1); - TabGame_phase3 = new SecuenceEdit("Player/phase3",groupBox_8); + TabGame_phase3 = new SequenceEdit("Player/phase3",groupBox_8); TabGame_phase3->setObjectName("TabGame_phase3"); gridLayout_5->addWidget(TabGame_phase3, 3, 1, 1, 1); @@ -883,7 +873,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase4, 4, 0, 1, 1); - TabGame_phase4 = new SecuenceEdit("Player/phase4",groupBox_8); + TabGame_phase4 = new SequenceEdit("Player/phase4",groupBox_8); TabGame_phase4->setObjectName("TabGame_phase4"); gridLayout_5->addWidget(TabGame_phase4, 4, 1, 1, 1); @@ -893,7 +883,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase5, 5, 0, 1, 1); - TabGame_phase5 = new SecuenceEdit("Player/phase5",groupBox_8); + TabGame_phase5 = new SequenceEdit("Player/phase5",groupBox_8); TabGame_phase5->setObjectName("TabGame_phase5"); gridLayout_5->addWidget(TabGame_phase5, 5, 1, 1, 1); @@ -908,7 +898,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase7, 7, 0, 1, 1); - TabGame_phase6 = new SecuenceEdit("Player/phase6",groupBox_8); + TabGame_phase6 = new SequenceEdit("Player/phase6",groupBox_8); TabGame_phase6->setObjectName("TabGame_phase6"); gridLayout_5->addWidget(TabGame_phase6, 6, 1, 1, 1); @@ -918,7 +908,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase8, 8, 0, 1, 1); - TabGame_phase7 = new SecuenceEdit("Player/phase7",groupBox_8); + TabGame_phase7 = new SequenceEdit("Player/phase7",groupBox_8); TabGame_phase7->setObjectName("TabGame_phase7"); gridLayout_5->addWidget(TabGame_phase7, 7, 1, 1, 1); @@ -928,7 +918,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase9, 9, 0, 1, 1); - TabGame_phase8 = new SecuenceEdit("Player/phase8",groupBox_8); + TabGame_phase8 = new SequenceEdit("Player/phase8",groupBox_8); TabGame_phase8->setObjectName("TabGame_phase8"); gridLayout_5->addWidget(TabGame_phase8, 8, 1, 1, 1); @@ -938,7 +928,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_phase10, 10, 0, 1, 1); - TabGame_phase9 = new SecuenceEdit("Player/phase9",groupBox_8); + TabGame_phase9 = new SequenceEdit("Player/phase9",groupBox_8); TabGame_phase9->setObjectName("TabGame_phase9"); gridLayout_5->addWidget(TabGame_phase9, 9, 1, 1, 1); @@ -948,7 +938,7 @@ public: gridLayout_5->addWidget(lbl_TabGame_aNextPhase, 11, 0, 1, 1); - TabGame_phase10 = new SecuenceEdit("Player/phase10",groupBox_8); + TabGame_phase10 = new SequenceEdit("Player/phase10",groupBox_8); TabGame_phase10->setObjectName("TabGame_phase10"); gridLayout_5->addWidget(TabGame_phase10, 10, 1, 1, 1); @@ -958,17 +948,16 @@ public: gridLayout_5->addWidget(lbl_TabGame_aNextTurn, 12, 0, 1, 1); - TabGame_aNextPhase = new SecuenceEdit("Player/aNextPhase",groupBox_8); + TabGame_aNextPhase = new SequenceEdit("Player/aNextPhase",groupBox_8); TabGame_aNextPhase->setObjectName("TabGame_aNextPhase"); gridLayout_5->addWidget(TabGame_aNextPhase, 11, 1, 1, 1); - TabGame_aNextTurn = new SecuenceEdit("Player/aNextTurn",groupBox_8); + TabGame_aNextTurn = new SequenceEdit("Player/aNextTurn",groupBox_8); TabGame_aNextTurn->setObjectName("TabGame_aNextTurn"); gridLayout_5->addWidget(TabGame_aNextTurn, 12, 1, 1, 1); - gridLayout_17->addWidget(groupBox_8, 0, 0, 1, 1); groupBox_13 = new QGroupBox(tab_2); @@ -980,7 +969,7 @@ public: gridLayout_13->addWidget(lbl_Player_aTap, 0, 0, 1, 1); - Player_aTap = new SecuenceEdit("Player/aTap",groupBox_13); + Player_aTap = new SequenceEdit("Player/aTap",groupBox_13); Player_aTap->setObjectName("Player_aTap"); gridLayout_13->addWidget(Player_aTap, 0, 1, 1, 1); @@ -990,7 +979,7 @@ public: gridLayout_13->addWidget(lbl_Player_aUntap, 1, 0, 1, 1); - Player_aUntap = new SecuenceEdit("Player/aUntap",groupBox_13); + Player_aUntap = new SequenceEdit("Player/aUntap",groupBox_13); Player_aUntap->setObjectName("Player_aUntap"); gridLayout_13->addWidget(Player_aUntap, 1, 1, 1, 1); @@ -1000,7 +989,7 @@ public: gridLayout_13->addWidget(lbl_Player_aUntapAll, 2, 0, 1, 1); - Player_aUntapAll = new SecuenceEdit("Player/aUntapAll",groupBox_13); + Player_aUntapAll = new SequenceEdit("Player/aUntapAll",groupBox_13); Player_aUntapAll->setObjectName("Player_aUntapAll"); gridLayout_13->addWidget(Player_aUntapAll, 2, 1, 1, 1); @@ -1010,7 +999,7 @@ public: gridLayout_13->addWidget(lbl_Player_aDoesntUntap, 3, 0, 1, 1); - Player_aDoesntUntap = new SecuenceEdit("Player/aDoesntUntap",groupBox_13); + Player_aDoesntUntap = new SequenceEdit("Player/aDoesntUntap",groupBox_13); Player_aDoesntUntap->setObjectName("Player_aDoesntUntap"); gridLayout_13->addWidget(Player_aDoesntUntap, 3, 1, 1, 1); @@ -1020,7 +1009,7 @@ public: gridLayout_13->addWidget(lbl_Player_aFlip, 4, 0, 1, 1); - Player_aFlip = new SecuenceEdit("Player/aFlip",groupBox_13); + Player_aFlip = new SequenceEdit("Player/aFlip",groupBox_13); Player_aFlip->setObjectName("Player_aFlip"); gridLayout_13->addWidget(Player_aFlip, 4, 1, 1, 1); @@ -1030,7 +1019,7 @@ public: gridLayout_13->addWidget(lbl_Player_aPeek, 5, 0, 1, 1); - Player_aPeek = new SecuenceEdit("Player/aPeek",groupBox_13); + Player_aPeek = new SequenceEdit("Player/aPeek",groupBox_13); Player_aPeek->setObjectName("Player_aPeek"); gridLayout_13->addWidget(Player_aPeek, 5, 1, 1, 1); @@ -1040,7 +1029,7 @@ public: gridLayout_13->addWidget(lbl_Player_aPlay, 6, 0, 1, 1); - Player_aPlay = new SecuenceEdit("Player/aPlay",groupBox_13); + Player_aPlay = new SequenceEdit("Player/aPlay",groupBox_13); Player_aPlay->setObjectName("Player_aPlay"); gridLayout_13->addWidget(Player_aPlay, 6, 1, 1, 1); @@ -1050,7 +1039,7 @@ public: gridLayout_13->addWidget(lbl_Player_aAttach, 7, 0, 1, 1); - Player_aAttach = new SecuenceEdit("Player/aAttach",groupBox_13); + Player_aAttach = new SequenceEdit("Player/aAttach",groupBox_13); Player_aAttach->setObjectName("Player_aAttach"); gridLayout_13->addWidget(Player_aAttach, 7, 1, 1, 1); @@ -1060,7 +1049,7 @@ public: gridLayout_13->addWidget(lbl_Player_aUnattach, 8, 0, 1, 1); - Player_aUnattach = new SecuenceEdit("Player/aUnattach",groupBox_13); + Player_aUnattach = new SequenceEdit("Player/aUnattach",groupBox_13); Player_aUnattach->setObjectName("Player_aUnattach"); gridLayout_13->addWidget(Player_aUnattach, 8, 1, 1, 1); @@ -1070,7 +1059,7 @@ public: gridLayout_13->addWidget(lbl_Player_aClone, 9, 0, 1, 1); - Player_aClone = new SecuenceEdit("Player/aClone",groupBox_13); + Player_aClone = new SequenceEdit("Player/aClone",groupBox_13); Player_aClone->setObjectName("Player_aClone"); gridLayout_13->addWidget(Player_aClone, 9, 1, 1, 1); @@ -1080,7 +1069,7 @@ public: gridLayout_13->addWidget(lbl_Player_aCreateToken, 10, 0, 1, 1); - Player_aCreateToken = new SecuenceEdit("Player/aCreateToken",groupBox_13); + Player_aCreateToken = new SequenceEdit("Player/aCreateToken",groupBox_13); Player_aCreateToken->setObjectName("Player_aCreateToken"); gridLayout_13->addWidget(Player_aCreateToken, 10, 1, 1, 1); @@ -1090,7 +1079,7 @@ public: gridLayout_13->addWidget(lbl_Player_aCreateAnotherToken, 11, 0, 1, 1); - Player_aCreateAnotherToken = new SecuenceEdit("Player/aCreateAnotherToken",groupBox_13); + Player_aCreateAnotherToken = new SequenceEdit("Player/aCreateAnotherToken",groupBox_13); Player_aCreateAnotherToken->setObjectName("Player_aCreateAnotherToken"); gridLayout_13->addWidget(Player_aCreateAnotherToken, 11, 1, 1, 1); @@ -1100,12 +1089,11 @@ public: gridLayout_13->addWidget(lbl_Player_aSetAnnotation, 12, 0, 1, 1); - Player_aSetAnnotation = new SecuenceEdit("Player/aSetAnnotation",groupBox_13); + Player_aSetAnnotation = new SequenceEdit("Player/aSetAnnotation",groupBox_13); Player_aSetAnnotation->setObjectName("Player_aSetAnnotation"); gridLayout_13->addWidget(Player_aSetAnnotation, 12, 1, 1, 1); - gridLayout_17->addWidget(groupBox_13, 0, 2, 1, 1); verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); @@ -1126,7 +1114,7 @@ public: gridLayout_15->addWidget(lbl_Player_aMoveToBottomLibrary, 0, 0, 1, 1); - Player_aMoveToBottomLibrary = new SecuenceEdit("Player/aMoveToBottomLibrary",groupBox_15); + Player_aMoveToBottomLibrary = new SequenceEdit("Player/aMoveToBottomLibrary",groupBox_15); Player_aMoveToBottomLibrary->setObjectName("Player_aMoveToBottomLibrary"); gridLayout_15->addWidget(Player_aMoveToBottomLibrary, 0, 1, 1, 1); @@ -1136,7 +1124,7 @@ public: gridLayout_15->addWidget(lbl_Player_aMoveToTopLibrary, 1, 0, 1, 1); - Player_aMoveToTopLibrary = new SecuenceEdit("Player/aMoveToTopLibrary",groupBox_15); + Player_aMoveToTopLibrary = new SequenceEdit("Player/aMoveToTopLibrary",groupBox_15); Player_aMoveToTopLibrary->setObjectName("Player_aMoveToTopLibrary"); gridLayout_15->addWidget(Player_aMoveToTopLibrary, 1, 1, 1, 1); @@ -1146,7 +1134,7 @@ public: gridLayout_15->addWidget(lbl_Player_aMoveToGraveyard, 2, 0, 1, 1); - Player_aMoveToGraveyard = new SecuenceEdit("Player/aMoveToGraveyard",groupBox_15); + Player_aMoveToGraveyard = new SequenceEdit("Player/aMoveToGraveyard",groupBox_15); Player_aMoveToGraveyard->setObjectName("Player_aMoveToGraveyard"); gridLayout_15->addWidget(Player_aMoveToGraveyard, 2, 1, 1, 1); @@ -1156,7 +1144,7 @@ public: gridLayout_15->addWidget(lbl_Player_aMoveToExile, 3, 0, 1, 1); - Player_aMoveToExile = new SecuenceEdit("Player/aMoveToExile",groupBox_15); + Player_aMoveToExile = new SequenceEdit("Player/aMoveToExile",groupBox_15); Player_aMoveToExile->setObjectName("Player_aMoveToExile"); gridLayout_15->addWidget(Player_aMoveToExile, 3, 1, 1, 1); @@ -1166,12 +1154,11 @@ public: gridLayout_15->addWidget(lbl_Player_aMoveToHand, 4, 0, 1, 1); - Player_aMoveToHand = new SecuenceEdit("Player/aMoveToHand",groupBox_15); + Player_aMoveToHand = new SequenceEdit("Player/aMoveToHand",groupBox_15); Player_aMoveToHand->setObjectName("Player_aMoveToHand"); gridLayout_15->addWidget(Player_aMoveToHand, 4, 1, 1, 1); - gridLayout_20->addWidget(groupBox_15, 0, 1, 1, 1); groupBox_16 = new QGroupBox(tab_3); @@ -1183,7 +1170,7 @@ public: gridLayout_16->addWidget(lbl_Player_aViewGraveyard, 0, 0, 1, 1); - Player_aViewGraveyard = new SecuenceEdit("Player/aViewGraveyard",groupBox_16); + Player_aViewGraveyard = new SequenceEdit("Player/aViewGraveyard",groupBox_16); Player_aViewGraveyard->setObjectName("Player_aViewGraveyard"); gridLayout_16->addWidget(Player_aViewGraveyard, 0, 1, 1, 1); @@ -1193,7 +1180,7 @@ public: gridLayout_16->addWidget(lbl_Player_aViewLibrary, 1, 0, 1, 1); - Player_aViewLibrary = new SecuenceEdit("Player/aViewLibrary",groupBox_16); + Player_aViewLibrary = new SequenceEdit("Player/aViewLibrary",groupBox_16); Player_aViewLibrary->setObjectName("Player_aViewLibrary"); gridLayout_16->addWidget(Player_aViewLibrary, 1, 1, 1, 1); @@ -1203,7 +1190,7 @@ public: gridLayout_16->addWidget(lbl_Player_aViewTopCards, 2, 0, 1, 1); - Player_aViewTopCards = new SecuenceEdit("Player/aViewTopCards",groupBox_16); + Player_aViewTopCards = new SequenceEdit("Player/aViewTopCards",groupBox_16); Player_aViewTopCards->setObjectName("Player_aViewTopCards"); gridLayout_16->addWidget(Player_aViewTopCards, 2, 1, 1, 1); @@ -1213,7 +1200,7 @@ public: gridLayout_16->addWidget(lbl_Player_aViewSideboard, 3, 0, 1, 1); - Player_aViewSideboard = new SecuenceEdit("Player/aViewSideboard",groupBox_16); + Player_aViewSideboard = new SequenceEdit("Player/aViewSideboard",groupBox_16); Player_aViewSideboard->setObjectName("Player_aViewSideboard"); gridLayout_16->addWidget(Player_aViewSideboard, 3, 1, 1, 1); @@ -1223,7 +1210,7 @@ public: gridLayout_16->addWidget(lbl_Player_aViewRfg, 4, 0, 1, 1); - Player_aViewRfg = new SecuenceEdit("Player/aViewRfg",groupBox_16); + Player_aViewRfg = new SequenceEdit("Player/aViewRfg",groupBox_16); Player_aViewRfg->setObjectName("Player_aViewRfg"); gridLayout_16->addWidget(Player_aViewRfg, 4, 1, 1, 1); @@ -1233,24 +1220,23 @@ public: gridLayout_16->addWidget(lbl_GameView_aCloseMostRecentZoneView, 5, 0, 1, 1); - GameView_aCloseMostRecentZoneView = new SecuenceEdit("Player/aCloseMostRecentZoneView",groupBox_16); + GameView_aCloseMostRecentZoneView = new SequenceEdit("Player/aCloseMostRecentZoneView",groupBox_16); GameView_aCloseMostRecentZoneView->setObjectName("GameView_aCloseMostRecentZoneView"); gridLayout_16->addWidget(GameView_aCloseMostRecentZoneView, 5, 1, 1, 1); - gridLayout_20->addWidget(groupBox_16, 0, 2, 1, 1); groupBox_17 = new QGroupBox(tab_3); groupBox_17->setObjectName("groupBox_17"); gridLayout_18 = new QGridLayout(groupBox_17); gridLayout_18->setObjectName("gridLayout_18"); - DeckViewContainer_loadRemoteButton = new SecuenceEdit("DeckViewContainer/loadRemoteButton",groupBox_17); + DeckViewContainer_loadRemoteButton = new SequenceEdit("DeckViewContainer/loadRemoteButton",groupBox_17); DeckViewContainer_loadRemoteButton->setObjectName("DeckViewContainer_loadRemoteButton"); gridLayout_18->addWidget(DeckViewContainer_loadRemoteButton, 2, 1, 1, 1); - DeckViewContainer_loadLocalButton = new SecuenceEdit("DeckViewContainer/loadLocalButton",groupBox_17); + DeckViewContainer_loadLocalButton = new SequenceEdit("DeckViewContainer/loadLocalButton",groupBox_17); DeckViewContainer_loadLocalButton->setObjectName("DeckViewContainer_loadLocalButton"); gridLayout_18->addWidget(DeckViewContainer_loadLocalButton, 0, 1, 1, 1); @@ -1265,7 +1251,6 @@ public: gridLayout_18->addWidget(lbl_DeckViewContainer_loadLocalButton, 0, 0, 1, 1); - gridLayout_20->addWidget(groupBox_17, 1, 0, 1, 1); groupBox_18 = new QGroupBox(tab_3); @@ -1277,7 +1262,7 @@ public: gridLayout_19->addWidget(lbl_Player_aDrawArrow, 0, 0, 1, 1); - Player_aDrawArrow = new SecuenceEdit("Player/aDrawArrow",groupBox_18); + Player_aDrawArrow = new SequenceEdit("Player/aDrawArrow",groupBox_18); Player_aDrawArrow->setObjectName("Player_aDrawArrow"); gridLayout_19->addWidget(Player_aDrawArrow, 0, 1, 1, 1); @@ -1287,7 +1272,7 @@ public: gridLayout_19->addWidget(lbl_TabGame_aLeaveGame, 0, 2, 1, 1); - TabGame_aLeaveGame = new SecuenceEdit("Player/aLeaveGame",groupBox_18); + TabGame_aLeaveGame = new SequenceEdit("Player/aLeaveGame",groupBox_18); TabGame_aLeaveGame->setObjectName("TabGame_aLeaveGame"); gridLayout_19->addWidget(TabGame_aLeaveGame, 0, 3, 1, 1); @@ -1297,7 +1282,7 @@ public: gridLayout_19->addWidget(lbl_TabGame_aRemoveLocalArrows, 1, 0, 1, 1); - TabGame_aRemoveLocalArrows = new SecuenceEdit("Player/aRemoveLocalArrows",groupBox_18); + TabGame_aRemoveLocalArrows = new SequenceEdit("Player/aRemoveLocalArrows",groupBox_18); TabGame_aRemoveLocalArrows->setObjectName("TabGame_aRemoveLocalArrows"); gridLayout_19->addWidget(TabGame_aRemoveLocalArrows, 1, 1, 1, 1); @@ -1307,7 +1292,7 @@ public: gridLayout_19->addWidget(lbl_TabGame_aConcede, 1, 2, 1, 1); - TabGame_aConcede = new SecuenceEdit("Player/aConcede",groupBox_18); + TabGame_aConcede = new SequenceEdit("Player/aConcede",groupBox_18); TabGame_aConcede->setObjectName("TabGame_aConcede"); gridLayout_19->addWidget(TabGame_aConcede, 1, 3, 1, 1); @@ -1317,7 +1302,7 @@ public: gridLayout_19->addWidget(lbl_Player_aRollDie, 2, 0, 1, 1); - Player_aRollDie = new SecuenceEdit("Player/aRollDie",groupBox_18); + Player_aRollDie = new SequenceEdit("Player/aRollDie",groupBox_18); Player_aRollDie->setObjectName("Player_aRollDie"); gridLayout_19->addWidget(Player_aRollDie, 2, 1, 1, 1); @@ -1327,7 +1312,7 @@ public: gridLayout_19->addWidget(lbl_TabGame_aRotateViewCW, 2, 2, 1, 1); - TabGame_aRotateViewCW = new SecuenceEdit("Player/aRotateViewCW",groupBox_18); + TabGame_aRotateViewCW = new SequenceEdit("Player/aRotateViewCW",groupBox_18); TabGame_aRotateViewCW->setObjectName("TabGame_aRotateViewCW"); gridLayout_19->addWidget(TabGame_aRotateViewCW, 2, 3, 1, 1); @@ -1337,7 +1322,7 @@ public: gridLayout_19->addWidget(lbl_Player_aShuffle, 3, 0, 1, 1); - Player_aShuffle = new SecuenceEdit("Player/aShuffle",groupBox_18); + Player_aShuffle = new SequenceEdit("Player/aShuffle",groupBox_18); Player_aShuffle->setObjectName("Player_aShuffle"); gridLayout_19->addWidget(Player_aShuffle, 3, 1, 1, 1); @@ -1347,12 +1332,11 @@ public: gridLayout_19->addWidget(lbl_TabGame_aRotateViewCCW, 3, 2, 1, 1); - TabGame_aRotateViewCCW = new SecuenceEdit("Player/aRotateViewCCW",groupBox_18); + TabGame_aRotateViewCCW = new SequenceEdit("Player/aRotateViewCCW",groupBox_18); TabGame_aRotateViewCCW->setObjectName("TabGame_aRotateViewCCW"); gridLayout_19->addWidget(TabGame_aRotateViewCCW, 3, 3, 1, 1); - gridLayout_20->addWidget(groupBox_18, 1, 1, 1, 2); groupBox_14 = new QGroupBox(tab_3); @@ -1364,7 +1348,7 @@ public: gridLayout_14->addWidget(lbl_Player_aMulligan, 4, 0, 1, 1); - Player_aMulligan = new SecuenceEdit("Player/aMulligan",groupBox_14); + Player_aMulligan = new SequenceEdit("Player/aMulligan",groupBox_14); Player_aMulligan->setObjectName("Player_aMulligan"); gridLayout_14->addWidget(Player_aMulligan, 4, 1, 1, 1); @@ -1374,7 +1358,7 @@ public: gridLayout_14->addWidget(lbl_Player_aDrawCard, 0, 0, 1, 1); - Player_aDrawCard = new SecuenceEdit("Player/aDrawCard",groupBox_14); + Player_aDrawCard = new SequenceEdit("Player/aDrawCard",groupBox_14); Player_aDrawCard->setObjectName("Player_aDrawCard"); gridLayout_14->addWidget(Player_aDrawCard, 0, 1, 1, 1); @@ -1384,7 +1368,7 @@ public: gridLayout_14->addWidget(lbl_Player_aDrawCards, 1, 0, 1, 1); - Player_aDrawCards = new SecuenceEdit("Player/aDrawCards",groupBox_14); + Player_aDrawCards = new SequenceEdit("Player/aDrawCards",groupBox_14); Player_aDrawCards->setObjectName("Player_aDrawCards"); gridLayout_14->addWidget(Player_aDrawCards, 1, 1, 1, 1); @@ -1394,7 +1378,7 @@ public: gridLayout_14->addWidget(lbl_Player_aUndoDraw, 2, 0, 1, 1); - Player_aUndoDraw = new SecuenceEdit("Player/aUndoDraw",groupBox_14); + Player_aUndoDraw = new SequenceEdit("Player/aUndoDraw",groupBox_14); Player_aUndoDraw->setObjectName("Player_aUndoDraw"); gridLayout_14->addWidget(Player_aUndoDraw, 2, 1, 1, 1); @@ -1404,36 +1388,49 @@ public: gridLayout_14->addWidget(lbl_Player_aAlwaysRevealTopCard, 3, 0, 1, 1); - Player_aAlwaysRevealTopCard = new SecuenceEdit("Player/aAlwaysRevealTopCard",groupBox_14); + Player_aAlwaysRevealTopCard = new SequenceEdit("Player/aAlwaysRevealTopCard",groupBox_14); Player_aAlwaysRevealTopCard->setObjectName("Player_aAlwaysRevealTopCard"); gridLayout_14->addWidget(Player_aAlwaysRevealTopCard, 3, 1, 1, 1); - - gridLayout_20->addWidget(groupBox_14, 0, 0, 1, 1); - verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout_20->addItem(verticalSpacer_3, 2, 1, 1, 1); - tabWidget->addTab(tab_3, QString()); - tab_4 = new QWidget(tabWidget); QGridLayout* grid = new QGridLayout(tab_4); grid->addWidget(groupBox_3); grid->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding),1,0); tabWidget->addTab(tab_4, QString()); - - gridLayout_9->addWidget(tabWidget, 0, 0, 1, 1); - - - retranslateUi(shortcutsTab); - + gridLayout_9->addWidget(tabWidget, 0, 0, 1, 1); tabWidget->setCurrentIndex(0); + grid->setSpacing(3); + gridLayout->setSpacing(3); + gridLayout_2->setSpacing(3); + gridLayout_3->setSpacing(3); + gridLayout_4->setSpacing(3); + gridLayout_5->setSpacing(3); + gridLayout_6->setSpacing(3); + gridLayout_7->setSpacing(3); + gridLayout_8->setSpacing(3); + gridLayout_9->setSpacing(3); + gridLayout_10->setSpacing(3); + gridLayout_11->setSpacing(3); + gridLayout_12->setSpacing(3); + gridLayout_13->setSpacing(3); + gridLayout_14->setSpacing(3); + gridLayout_15->setSpacing(3); + gridLayout_16->setSpacing(3); + gridLayout_17->setSpacing(3); + gridLayout_18->setSpacing(3); + gridLayout_19->setSpacing(3); + gridLayout_20->setSpacing(3); + verticalLayout->setSpacing(3); + horizontalLayout->setSpacing(3); QMetaObject::connectSlotsByName(shortcutsTab); + retranslateUi(shortcutsTab); } // setupUi void retranslateUi(QWidget *shortcutsTab) diff --git a/cockatrice/src/shortcutssettings.cpp b/cockatrice/src/shortcutssettings.cpp index a22a9d22..242140a3 100644 --- a/cockatrice/src/shortcutssettings.cpp +++ b/cockatrice/src/shortcutssettings.cpp @@ -83,6 +83,7 @@ void ShortcutsSettings::setShortcuts(QString name, QList secuence) QString stringSecuence = stringifySecuence(secuence); shortCutsFile.setValue(name, stringSecuence); shortCutsFile.endGroup(); + emit shortCutchanged(); } void ShortcutsSettings::setShortcuts(QString name, QKeySequence secuence) diff --git a/cockatrice/src/shortcutssettings.h b/cockatrice/src/shortcutssettings.h index 5958b9f7..45324106 100644 --- a/cockatrice/src/shortcutssettings.h +++ b/cockatrice/src/shortcutssettings.h @@ -24,6 +24,9 @@ public: void setShortcuts(QString name, QString secuences); bool isValid(QString name, QString secuences); +signals: + void shortCutchanged(); + private: QString settingsFilePath; QMap > shortCuts; diff --git a/cockatrice/src/tab_deck_editor.cpp b/cockatrice/src/tab_deck_editor.cpp index c7b22b73..52c24995 100644 --- a/cockatrice/src/tab_deck_editor.cpp +++ b/cockatrice/src/tab_deck_editor.cpp @@ -257,71 +257,45 @@ void TabDeckEditor::createMenus() { aNewDeck = new QAction(QString(), this); connect(aNewDeck, SIGNAL(triggered()), this, SLOT(actNewDeck())); - aNewDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aNewDeck")); aLoadDeck = new QAction(QString(), this); connect(aLoadDeck, SIGNAL(triggered()), this, SLOT(actLoadDeck())); - aLoadDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aLoadDeck")); aSaveDeck = new QAction(QString(), this); connect(aSaveDeck, SIGNAL(triggered()), this, SLOT(actSaveDeck())); - aSaveDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aSaveDeck")); aSaveDeckAs = new QAction(QString(), this); connect(aSaveDeckAs, SIGNAL(triggered()), this, SLOT(actSaveDeckAs())); - aSaveDeckAs->setShortcuts(QKeySequence::SaveAs); - aSaveDeckAs->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aSaveDeckAs")); aOpenCustomsetsFolder = new QAction(QString(), this); connect(aOpenCustomsetsFolder, SIGNAL(triggered()), this, SLOT(actOpenCustomsetsFolder())); aLoadDeckFromClipboard = new QAction(QString(), this); connect(aLoadDeckFromClipboard, SIGNAL(triggered()), this, SLOT(actLoadDeckFromClipboard())); - aLoadDeckFromClipboard->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aLoadDeckFromClipboard")); aSaveDeckToClipboard = new QAction(QString(), this); connect(aSaveDeckToClipboard, SIGNAL(triggered()), this, SLOT(actSaveDeckToClipboard())); - aSaveDeckToClipboard->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aSaveDeckToClipboard")); aPrintDeck = new QAction(QString(), this); connect(aPrintDeck, SIGNAL(triggered()), this, SLOT(actPrintDeck())); - aPrintDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aPrintDeck")); aAnalyzeDeck = new QAction(QString(), this); connect(aAnalyzeDeck, SIGNAL(triggered()), this, SLOT(actAnalyzeDeck())); - aAnalyzeDeck->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aAnalyzeDeck")); aClose = new QAction(QString(), this); connect(aClose, SIGNAL(triggered()), this, SLOT(closeRequest())); - aClose->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClose")); aOpenCustomFolder = new QAction(QString(), this); connect(aOpenCustomFolder, SIGNAL(triggered()), this, SLOT(actOpenCustomFolder())); - aOpenCustomFolder->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aOpenCustomFolder")); aEditSets = new QAction(QString(), this); connect(aEditSets, SIGNAL(triggered()), this, SLOT(actEditSets())); - aEditSets->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aEditSets")); aEditTokens = new QAction(QString(), this); connect(aEditTokens, SIGNAL(triggered()), this, SLOT(actEditTokens())); - aEditTokens->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aEditTokens")); aResetLayout = new QAction(QString(), this); connect(aResetLayout,SIGNAL(triggered()),this,SLOT(restartLayout())); - aResetLayout->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aResetLayout")); deckMenu = new QMenu(this); deckMenu->addAction(aNewDeck); @@ -344,14 +318,10 @@ void TabDeckEditor::createMenus() aClearFilterAll = new QAction(QString(), this); aClearFilterAll->setIcon(QIcon(":/resources/icon_clearsearch.svg")); connect(aClearFilterAll, SIGNAL(triggered()), this, SLOT(actClearFilterAll())); - aClearFilterAll->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClearFilterAll")); aClearFilterOne = new QAction(QString(), this); aClearFilterOne->setIcon(QIcon(":/resources/decrement.svg")); connect(aClearFilterOne, SIGNAL(triggered()), this, SLOT(actClearFilterOne())); - aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClearFilterOne")); dbMenu = new QMenu(this); dbMenu->addAction(aEditSets); @@ -458,7 +428,7 @@ void TabDeckEditor::createCentralFrame() QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->setObjectName("mainLayout"); mainLayout->addWidget(MainWindow); - setLayout(mainLayout); + setLayout(mainLayout); } void TabDeckEditor::restartLayout() @@ -498,6 +468,30 @@ void TabDeckEditor::freeDocksSize() filterDock->setMaximumSize(5000,5000); } +void TabDeckEditor::refreshShortcuts() +{ + aNewDeck->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aNewDeck")); + aLoadDeck->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aLoadDeck")); + aSaveDeck->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aSaveDeck")); + aSaveDeckAs->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aSaveDeckAs")); + aLoadDeckFromClipboard->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aLoadDeckFromClipboard")); + aPrintDeck->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aPrintDeck")); + aAnalyzeDeck->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aAnalyzeDeck")); + aClose->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClose")); + aOpenCustomFolder->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aOpenCustomFolder")); + aEditSets->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aEditSets")); + aEditTokens->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aEditTokens")); + aResetLayout->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aResetLayout")); + aClearFilterAll->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClearFilterAll")); + aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClearFilterOne")); + aSaveDeckToClipboard->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aSaveDeckToClipboard")); + aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClearFilterOne")); + aClose->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aClose")); + aRemoveCard->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aRemoveCard")); + aIncrement->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aIncrement")); + aDecrement->setShortcuts(settingsCache->shortcuts().getShortcut("TabDeckEditor/aDecrement")); +} + void TabDeckEditor::loadLayout() { MainWindow->restoreState(settingsCache->getDeckEditorLayoutState()); @@ -538,6 +532,9 @@ TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor, QWidget *parent) this->installEventFilter(this); retranslateUi(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); + QTimer::singleShot(0, this, SLOT(checkFirstRunDetected())); QTimer::singleShot(0, this, SLOT(loadLayout())); } @@ -553,8 +550,6 @@ void TabDeckEditor::retranslateUi() aClearFilterAll->setText(tr("&Clear all filters")); aClearFilterOne->setText(tr("Delete selected")); - aClearFilterOne->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClearFilterOne")); nameLabel->setText(tr("Deck &name:")); commentsLabel->setText(tr("&Comments:")); @@ -574,23 +569,15 @@ void TabDeckEditor::retranslateUi() aOpenCustomFolder->setText(tr("Open custom image folder")); aOpenCustomsetsFolder->setText(tr("Open custom sets folder")); aClose->setText(tr("&Close")); - aClose->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aClose")); aAddCard->setText(tr("Add card to &maindeck")); aAddCardToSideboard->setText(tr("Add card to &sideboard")); aRemoveCard->setText(tr("&Remove row")); - aRemoveCard->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aRemoveCard")); aIncrement->setText(tr("&Increment number")); - aIncrement->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aIncrement")); aDecrement->setText(tr("&Decrement number")); - aDecrement->setShortcuts(settingsCache->shortcuts().getShortcut( - "TabDeckEditor/aDecrement")); deckMenu->setTitle(tr("&Deck Editor")); dbMenu->setTitle(tr("C&ard Database")); diff --git a/cockatrice/src/tab_deck_editor.h b/cockatrice/src/tab_deck_editor.h index 19591e3f..996e3ec8 100644 --- a/cockatrice/src/tab_deck_editor.h +++ b/cockatrice/src/tab_deck_editor.h @@ -83,6 +83,7 @@ class TabDeckEditor : public Tab { void loadLayout(); void restartLayout(); void freeDocksSize(); + void refreshShortcuts(); private: CardInfo *currentCardInfo() const; diff --git a/cockatrice/src/tab_game.cpp b/cockatrice/src/tab_game.cpp index 1b278459..22f54831 100644 --- a/cockatrice/src/tab_game.cpp +++ b/cockatrice/src/tab_game.cpp @@ -120,16 +120,14 @@ DeckViewContainer::DeckViewContainer(int _playerId, TabGame *parent) setLayout(deckViewLayout); retranslateUi(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); } void DeckViewContainer::retranslateUi() { loadLocalButton->setText(tr("Load local deck")); - loadLocalButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( - "DeckViewContainer/loadLocalButton")); loadRemoteButton->setText(tr("Load deck from server")); - loadRemoteButton->setShortcut(settingsCache->shortcuts().getSingleShortcut( - "DeckViewContainer/loadRemoteButton")); readyStartButton->setText(tr("Ready to s&tart")); updateSideboardLockButtonText(); } @@ -150,6 +148,58 @@ void DeckViewContainer::updateSideboardLockButtonText() sideboardLockButton->setText(tr("S&ideboard locked")); } +void DeckViewContainer::refreshShortcuts() +{ + loadLocalButton->setShortcut(settingsCache->shortcuts().getSingleShortcut("DeckViewContainer/loadLocalButton")); + loadRemoteButton->setShortcut(settingsCache->shortcuts().getSingleShortcut("DeckViewContainer/loadRemoteButton")); +} + +void TabGame::refreshShortcuts() +{ + for (int i = 0; i < phaseActions.size(); ++i) { + QAction *temp = phaseActions.at(i); + switch (i) { + case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase0")); break; + case 1: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase1")); break; + case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase2")); break; + case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase3")); break; + case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase4")); break; + case 5: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase5")); break; + case 6: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase6")); break; + case 7: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase7")); break; + case 8: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase8")); break; + case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase9")); break; + case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase10")); break; + default: ; + } + } + + if (aNextPhase) { + aNextPhase->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aNextPhase")); + } + if (aNextTurn) { + aNextTurn->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aNextTurn")); + } + if (aRemoveLocalArrows) { + aRemoveLocalArrows->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aRemoveLocalArrows")); + } + if (aRotateViewCW) { + aRotateViewCW->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aRotateViewCW")); + } + if (aRotateViewCCW) { + aRotateViewCCW->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aRotateViewCCW")); + } + if (aConcede) { + aConcede->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aConcede")); + } + if (aLeaveGame) { + aLeaveGame->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aLeaveGame")); + } + if (aCloseReplay) { + aCloseReplay->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aCloseReplay")); + } +} + void DeckViewContainer::loadLocalDeck() { QFileDialog dialog(this, tr("Load deck")); @@ -361,6 +411,8 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, GameReplay *_replay) addTabMenu(gameMenu); retranslateUi(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); setLayout(superMainLayout); splitter->restoreState(settingsCache->getTabGameSplitterSizes()); @@ -470,23 +522,10 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, QList &_client for (int i = 0; i < phasesToolbar->phaseCount(); ++i) { QAction *temp = new QAction(QString(), this); connect(temp, SIGNAL(triggered()), this, SLOT(actPhaseAction())); - switch (i) { - case 0: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase0")); break; - case 1: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase1")); break; - case 2: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase2")); break; - case 3: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase3")); break; - case 4: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase4")); break; - case 5: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase5")); break; - case 6: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase6")); break; - case 7: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase7")); break; - case 8: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase8")); break; - case 9: temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase9")); break; - case 10:temp->setShortcuts(settingsCache->shortcuts().getShortcut("Player/phase10")); break; - default: ; - } phasesMenu->addAction(temp); phaseActions.append(temp); } + phasesMenu->addSeparator(); phasesMenu->addAction(aNextPhase); @@ -505,6 +544,8 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, QList &_client addTabMenu(gameMenu); retranslateUi(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); setLayout(mainLayout); splitter->restoreState(settingsCache->getTabGameSplitterSizes()); @@ -552,45 +593,29 @@ void TabGame::retranslateUi() gameMenu->setTitle(tr("&Game")); if (aNextPhase) { aNextPhase->setText(tr("Next &phase")); - aNextPhase->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aNextPhase")); } if (aNextTurn) { aNextTurn->setText(tr("Next &turn")); - aNextTurn->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aNextTurn")); } if (aRemoveLocalArrows) { aRemoveLocalArrows->setText(tr("&Remove all local arrows")); - aRemoveLocalArrows->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRemoveLocalArrows")); } if (aRotateViewCW) { aRotateViewCW->setText(tr("Rotate View Cl&ockwise")); - aRotateViewCW->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRotateViewCW")); } if (aRotateViewCCW) { aRotateViewCCW->setText(tr("Rotate View Co&unterclockwise")); - aRotateViewCCW->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aRotateViewCCW")); } if (aGameInfo) aGameInfo->setText(tr("Game &information")); if (aConcede) { aConcede->setText(tr("&Concede")); - aConcede->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aConcede")); } if (aLeaveGame) { aLeaveGame->setText(tr("&Leave game")); - aLeaveGame->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aLeaveGame")); } if (aCloseReplay) { aCloseReplay->setText(tr("C&lose replay")); - aCloseReplay->setShortcuts(settingsCache->shortcuts().getShortcut( - "Player/aCloseReplay")); } if (sayLabel) diff --git a/cockatrice/src/tab_game.h b/cockatrice/src/tab_game.h index e704b569..719d4dd5 100644 --- a/cockatrice/src/tab_game.h +++ b/cockatrice/src/tab_game.h @@ -84,6 +84,7 @@ private slots: void sideboardPlanChanged(); void sideboardLockButtonClicked(); void updateSideboardLockButtonText(); + void refreshShortcuts(); signals: void newCardAdded(AbstractCardItem *card); public: @@ -199,6 +200,7 @@ private slots: void addMentionTag(QString value); void commandFinished(const Response &response); + void refreshShortcuts(); public: TabGame(TabSupervisor *_tabSupervisor, QList &_clients, const Event_GameJoined &event, const QMap &_roomGameTypes); TabGame(TabSupervisor *_tabSupervisor, GameReplay *replay); diff --git a/cockatrice/src/tab_room.cpp b/cockatrice/src/tab_room.cpp index 68e43196..45b6f281 100644 --- a/cockatrice/src/tab_room.cpp +++ b/cockatrice/src/tab_room.cpp @@ -68,7 +68,6 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI QMenu *chatSettingsMenu = new QMenu(this); aClearChat = chatSettingsMenu->addAction(QString()); - aClearChat->setShortcuts(settingsCache->shortcuts().getShortcut("tab_room/aClearChat")); connect(aClearChat, SIGNAL(triggered()), this, SLOT(actClearChat())); chatSettingsMenu->addSeparator(); @@ -132,6 +131,8 @@ TabRoom::TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerI sayEdit->setCompleter(completer); actCompleterChanged(); + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); } TabRoom::~TabRoom() @@ -282,6 +283,11 @@ void TabRoom::processRoomSayEvent(const Event_RoomSay &event) emit userEvent(false); } +void TabRoom::refreshShortcuts() +{ + aClearChat->setShortcuts(settingsCache->shortcuts().getShortcut("tab_room/aClearChat")); +} + void TabRoom::addMentionTag(QString mentionTag) { sayEdit->insert(mentionTag + " "); sayEdit->setFocus(); diff --git a/cockatrice/src/tab_room.h b/cockatrice/src/tab_room.h index 98a74d8f..d8201e08 100644 --- a/cockatrice/src/tab_room.h +++ b/cockatrice/src/tab_room.h @@ -73,6 +73,7 @@ private slots: void processJoinRoomEvent(const Event_JoinRoom &event); void processLeaveRoomEvent(const Event_LeaveRoom &event); void processRoomSayEvent(const Event_RoomSay &event); + void refreshShortcuts(); public: TabRoom(TabSupervisor *_tabSupervisor, AbstractClient *_client, ServerInfo_User *_ownUser, const ServerInfo_Room &info); ~TabRoom(); diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp index 44fafb35..a2edd199 100644 --- a/cockatrice/src/window_main.cpp +++ b/cockatrice/src/window_main.cpp @@ -456,40 +456,14 @@ void MainWindow::retranslateUi() setClientStatusTitle(); aConnect->setText(tr("&Connect...")); - aConnect->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aConnect")); - aDisconnect->setText(tr("&Disconnect")); - aDisconnect->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aDisconnect")); - aSinglePlayer->setText(tr("Start &local game...")); - aSinglePlayer->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aSinglePlayer")); - aWatchReplay->setText(tr("&Watch replay...")); - aWatchReplay->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aWatchReplay")); - aDeckEditor->setText(tr("&Deck editor")); - aDeckEditor->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aDeckEditor")); - aFullScreen->setText(tr("&Full screen")); - aFullScreen->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aFullScreen")); - aRegister->setText(tr("&Register to server...")); - aRegister->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aRegister")); - aSettings->setText(tr("&Settings...")); - aSettings->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aSettings")); - aExit->setText(tr("&Exit")); - aExit->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aExit")); #if defined(__APPLE__) /* For OSX */ cockatriceMenu->setTitle(tr("A&ctions")); @@ -499,11 +473,7 @@ void MainWindow::retranslateUi() aAbout->setText(tr("&About Cockatrice")); helpMenu->setTitle(tr("&Help")); - aCheckCardUpdates->setText(tr("Check for card updates...")); - aCheckCardUpdates->setShortcuts(settingsCache->shortcuts().getShortcut( - "MainWindow/aCheckCardUpdates")); - tabSupervisor->retranslateUi(); } @@ -622,6 +592,9 @@ MainWindow::MainWindow(QWidget *parent) createTrayActions(); createTrayIcon(); } + + connect(&settingsCache->shortcuts(), SIGNAL(shortCutchanged()),this,SLOT(refreshShortcuts())); + refreshShortcuts(); } MainWindow::~MainWindow() @@ -801,3 +774,17 @@ void MainWindow::cardUpdateFinished(int, QProcess::ExitStatus) // this will force a database reload settingsCache->setCardDatabasePath(settingsCache->getCardDatabasePath()); } + +void MainWindow::refreshShortcuts() +{ + aConnect->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aConnect")); + aDisconnect->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aDisconnect")); + aSinglePlayer->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aSinglePlayer")); + aWatchReplay->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aWatchReplay")); + aDeckEditor->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aDeckEditor")); + aFullScreen->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aFullScreen")); + aRegister->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aRegister")); + aSettings->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aSettings")); + aExit->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aExit")); + aCheckCardUpdates->setShortcuts(settingsCache->shortcuts().getShortcut("MainWindow/aCheckCardUpdates")); +} diff --git a/cockatrice/src/window_main.h b/cockatrice/src/window_main.h index 5c319318..5a12676e 100644 --- a/cockatrice/src/window_main.h +++ b/cockatrice/src/window_main.h @@ -73,6 +73,7 @@ private slots: void actCheckCardUpdates(); void cardUpdateError(QProcess::ProcessError err); void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus); + void refreshShortcuts(); private: static const QString appName; void setClientStatusTitle();