double click on zones opens zone view
This commit is contained in:
parent
04a3d311be
commit
a246a8d561
3 changed files with 14 additions and 5 deletions
|
@ -27,6 +27,12 @@ void CardZone::clearContents()
|
|||
cards->clear();
|
||||
}
|
||||
|
||||
void CardZone::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
if (doubleClickAction)
|
||||
doubleClickAction->trigger();
|
||||
}
|
||||
|
||||
void CardZone::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
if (event->button() == Qt::RightButton) {
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
class Player;
|
||||
class ZoneViewZone;
|
||||
class QMenu;
|
||||
class QAction;
|
||||
class QPainter;
|
||||
|
||||
class CardZone : public QGraphicsItem {
|
||||
|
@ -16,8 +17,10 @@ protected:
|
|||
CardList *cards;
|
||||
ZoneViewZone *view;
|
||||
QMenu *menu;
|
||||
QAction *doubleClickAction;
|
||||
bool hasCardAttr;
|
||||
bool isShufflable;
|
||||
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
|
||||
void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
||||
virtual void addCardImpl(CardItem *card, int x, int y) = 0;
|
||||
void paintCardNumberEllipse(QPainter *painter);
|
||||
|
@ -31,7 +34,7 @@ public:
|
|||
bool getHasCardAttr() const { return hasCardAttr; }
|
||||
bool getIsShufflable() const { return isShufflable; }
|
||||
QMenu *getMenu() const { return menu; }
|
||||
void setMenu(QMenu *_menu) { menu = _menu; }
|
||||
void setMenu(QMenu *_menu, QAction *_doubleClickAction = 0) { menu = _menu; doubleClickAction = _doubleClickAction; }
|
||||
QString getName() const { return name; }
|
||||
Player *getPlayer() const { return player; }
|
||||
bool contentsKnown() const { return cards->getContentsKnown(); }
|
||||
|
|
|
@ -47,19 +47,19 @@ Player::Player(const QString &_name, int _id, QPointF _base, bool _local, CardDa
|
|||
QMenu *libraryMenu = playerMenu->addMenu(tr("&Library"));
|
||||
libraryMenu->addAction(aViewLibrary);
|
||||
libraryMenu->addAction(aViewTopCards);
|
||||
zones.findZone("deck")->setMenu(libraryMenu);
|
||||
zones.findZone("deck")->setMenu(libraryMenu, aViewLibrary);
|
||||
|
||||
QMenu *graveMenu = playerMenu->addMenu(tr("&Graveyard"));
|
||||
graveMenu->addAction(aViewGraveyard);
|
||||
zones.findZone("grave")->setMenu(graveMenu);
|
||||
zones.findZone("grave")->setMenu(graveMenu, aViewGraveyard);
|
||||
|
||||
QMenu *rfgMenu = playerMenu->addMenu(tr("&Removed cards"));
|
||||
rfgMenu->addAction(aViewRfg);
|
||||
zones.findZone("rfg")->setMenu(rfgMenu);
|
||||
zones.findZone("rfg")->setMenu(rfgMenu, aViewRfg);
|
||||
|
||||
QMenu *sbMenu = playerMenu->addMenu(tr("&Sideboard"));
|
||||
sbMenu->addAction(aViewSideboard);
|
||||
zones.findZone("sb")->setMenu(sbMenu);
|
||||
zones.findZone("sb")->setMenu(sbMenu, aViewSideboard);
|
||||
}
|
||||
|
||||
Player::~Player()
|
||||
|
|
Loading…
Reference in a new issue