mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
refactored deck editor UI key shortcuts
The global shortcuts were removed in favor of key events which are only triggered when a widget has focus. This is necessary to allow different widgets to react differently to the 'enter' key. The current key configuration is: search edit focused: * left/right: decrease/increase card count for selected database card * enter: add selected card to deck * ctrl-enter: add selected card to deck sideboard * ctrl-left/right: decrease/increase card count in sideboard for selected card database focused: the same as with search edit. deckview focused: * left/right: decrease/increase card count for selected deckview card * enter: increase count for selected deckview card * delete/backspace: delete selected card from deck
This commit is contained in:
parent
f6e9676c75
commit
2b7ea0c983
9 changed files with 212 additions and 30 deletions
49
cockatrice/src/keysignals.cpp
Normal file
49
cockatrice/src/keysignals.cpp
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#include "keysignals.h"
|
||||
#include <QKeyEvent>
|
||||
|
||||
bool KeySignals::eventFilter(QObject * /*object*/, QEvent *event) {
|
||||
QKeyEvent *kevent;
|
||||
|
||||
if(event->type() != QEvent::KeyPress)
|
||||
return false;
|
||||
|
||||
kevent = static_cast<QKeyEvent *>(event);
|
||||
switch(kevent->key()) {
|
||||
case Qt::Key_Return:
|
||||
case Qt::Key_Enter:
|
||||
if(kevent->modifiers() & Qt::ControlModifier)
|
||||
emit onCtrlEnter();
|
||||
else
|
||||
emit onEnter();
|
||||
break;
|
||||
case Qt::Key_Right:
|
||||
if(kevent->modifiers() & Qt::ControlModifier)
|
||||
emit onCtrlRight();
|
||||
else
|
||||
emit onRight();
|
||||
|
||||
if(!filterLROn)
|
||||
return false;
|
||||
break;
|
||||
case Qt::Key_Left:
|
||||
if(kevent->modifiers() & Qt::ControlModifier)
|
||||
emit onCtrlLeft();
|
||||
else
|
||||
emit onLeft();
|
||||
|
||||
if(!filterLROn)
|
||||
return false;
|
||||
break;
|
||||
case Qt::Key_Delete:
|
||||
case Qt::Key_Backspace:
|
||||
emit onDelete();
|
||||
|
||||
if(!filterDeleteOn)
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue