Cockatrice/cockatrice/src/keysignals.h
sylvanbasilisk 2b7ea0c983 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
2014-03-24 21:03:26 +00:00

30 lines
521 B
C++

#include <QObject>
#include <QEvent>
class KeySignals : public QObject {
Q_OBJECT
private:
bool filterDeleteOn;
bool filterLROn;
signals:
void onEnter();
void onCtrlEnter();
void onLeft();
void onCtrlLeft();
void onRight();
void onCtrlRight();
void onDelete();
protected:
virtual bool eventFilter(QObject *, QEvent *event);
public:
KeySignals()
: filterDeleteOn(true)
, filterLROn(true)
{}
void filterDelete(bool on) { filterDeleteOn = on; }
void filterLeftRight(bool on) { filterLROn = on; }
};