Merge pull request #332 from ctrlaltca/sideboard-helpers

Sideboard helpers
This commit is contained in:
Gavin Bisesi 2014-09-30 13:46:43 -04:00
commit 9752dcf495
4 changed files with 29 additions and 0 deletions

View file

@ -56,6 +56,10 @@ bool KeySignals::eventFilter(QObject * /*object*/, QEvent *event) {
&& kevent->modifiers().testFlag(Qt::ControlModifier) ) && kevent->modifiers().testFlag(Qt::ControlModifier) )
emit onCtrlAltRBracket(); emit onCtrlAltRBracket();
break;
case Qt::Key_S:
emit onS();
break; break;
default: default:
return false; return false;

View file

@ -18,6 +18,7 @@ signals:
void onCtrlAltEqual(); void onCtrlAltEqual();
void onCtrlAltLBracket(); void onCtrlAltLBracket();
void onCtrlAltRBracket(); void onCtrlAltRBracket();
void onS();
protected: protected:
virtual bool eventFilter(QObject *, QEvent *event); virtual bool eventFilter(QObject *, QEvent *event);

View file

@ -141,6 +141,8 @@ TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor, QWidget *parent)
#endif #endif
deckView->installEventFilter(&deckViewKeySignals); deckView->installEventFilter(&deckViewKeySignals);
connect(deckView->selectionModel(), SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(updateCardInfoRight(const QModelIndex &, const QModelIndex &))); connect(deckView->selectionModel(), SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(updateCardInfoRight(const QModelIndex &, const QModelIndex &)));
connect(deckView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(actSwapCard()));
connect(&deckViewKeySignals, SIGNAL(onS()), this, SLOT(actSwapCard()));
connect(&deckViewKeySignals, SIGNAL(onEnter()), this, SLOT(actIncrement())); connect(&deckViewKeySignals, SIGNAL(onEnter()), this, SLOT(actIncrement()));
connect(&deckViewKeySignals, SIGNAL(onCtrlAltEqual()), this, SLOT(actIncrement())); connect(&deckViewKeySignals, SIGNAL(onCtrlAltEqual()), this, SLOT(actIncrement()));
connect(&deckViewKeySignals, SIGNAL(onCtrlAltMinus()), this, SLOT(actDecrement())); connect(&deckViewKeySignals, SIGNAL(onCtrlAltMinus()), this, SLOT(actDecrement()));
@ -571,6 +573,27 @@ void TabDeckEditor::addCardHelper(QString zoneName)
setModified(true); setModified(true);
} }
void TabDeckEditor::actSwapCard()
{
const QModelIndex currentIndex = deckView->selectionModel()->currentIndex();
if (!currentIndex.isValid())
return;
const QString cardName = currentIndex.sibling(currentIndex.row(), 1).data().toString();
const QModelIndex gparent = currentIndex.parent().parent();
if (!gparent.isValid())
return;
const QString zoneName = gparent.sibling(gparent.row(), 1).data().toString();
actDecrement();
const QString otherZoneName = zoneName == "Maindeck" ? "side" : "main";
QModelIndex newCardIndex = deckModel->addCard(cardName, otherZoneName);
recursiveExpand(newCardIndex);
deckView->setCurrentIndex(newCardIndex);
setModified(true);
}
void TabDeckEditor::actAddCard() void TabDeckEditor::actAddCard()
{ {
addCardHelper("main"); addCardHelper("main");

View file

@ -53,6 +53,7 @@ private slots:
void actClearSearch(); void actClearSearch();
void actSwapCard();
void actAddCard(); void actAddCard();
void actAddCardToSideboard(); void actAddCardToSideboard();
void actRemoveCard(); void actRemoveCard();