Merge branch 'sideboard-helpers' of https://git.k6.io/nvdiao/cockatrice into sideboard-helpers

This commit is contained in:
Fabio Bas 2014-09-29 18:25:10 +02:00
commit eaad8de8d0
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) )
emit onCtrlAltRBracket();
break;
case Qt::Key_S:
emit onS();
break;
default:
return false;

View file

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

View file

@ -141,6 +141,8 @@ TabDeckEditor::TabDeckEditor(TabSupervisor *_tabSupervisor, QWidget *parent)
#endif
deckView->installEventFilter(&deckViewKeySignals);
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(onCtrlAltEqual()), this, SLOT(actIncrement()));
connect(&deckViewKeySignals, SIGNAL(onCtrlAltMinus()), this, SLOT(actDecrement()));
@ -571,6 +573,27 @@ void TabDeckEditor::addCardHelper(QString zoneName)
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()
{
addCardHelper("main");

View file

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