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();
|
cards->clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CardZone::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
{
|
||||||
|
if (doubleClickAction)
|
||||||
|
doubleClickAction->trigger();
|
||||||
|
}
|
||||||
|
|
||||||
void CardZone::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
void CardZone::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (event->button() == Qt::RightButton) {
|
if (event->button() == Qt::RightButton) {
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
class Player;
|
class Player;
|
||||||
class ZoneViewZone;
|
class ZoneViewZone;
|
||||||
class QMenu;
|
class QMenu;
|
||||||
|
class QAction;
|
||||||
class QPainter;
|
class QPainter;
|
||||||
|
|
||||||
class CardZone : public QGraphicsItem {
|
class CardZone : public QGraphicsItem {
|
||||||
|
@ -16,8 +17,10 @@ protected:
|
||||||
CardList *cards;
|
CardList *cards;
|
||||||
ZoneViewZone *view;
|
ZoneViewZone *view;
|
||||||
QMenu *menu;
|
QMenu *menu;
|
||||||
|
QAction *doubleClickAction;
|
||||||
bool hasCardAttr;
|
bool hasCardAttr;
|
||||||
bool isShufflable;
|
bool isShufflable;
|
||||||
|
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
|
||||||
void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
void mousePressEvent(QGraphicsSceneMouseEvent *event);
|
||||||
virtual void addCardImpl(CardItem *card, int x, int y) = 0;
|
virtual void addCardImpl(CardItem *card, int x, int y) = 0;
|
||||||
void paintCardNumberEllipse(QPainter *painter);
|
void paintCardNumberEllipse(QPainter *painter);
|
||||||
|
@ -31,7 +34,7 @@ public:
|
||||||
bool getHasCardAttr() const { return hasCardAttr; }
|
bool getHasCardAttr() const { return hasCardAttr; }
|
||||||
bool getIsShufflable() const { return isShufflable; }
|
bool getIsShufflable() const { return isShufflable; }
|
||||||
QMenu *getMenu() const { return menu; }
|
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; }
|
QString getName() const { return name; }
|
||||||
Player *getPlayer() const { return player; }
|
Player *getPlayer() const { return player; }
|
||||||
bool contentsKnown() const { return cards->getContentsKnown(); }
|
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"));
|
QMenu *libraryMenu = playerMenu->addMenu(tr("&Library"));
|
||||||
libraryMenu->addAction(aViewLibrary);
|
libraryMenu->addAction(aViewLibrary);
|
||||||
libraryMenu->addAction(aViewTopCards);
|
libraryMenu->addAction(aViewTopCards);
|
||||||
zones.findZone("deck")->setMenu(libraryMenu);
|
zones.findZone("deck")->setMenu(libraryMenu, aViewLibrary);
|
||||||
|
|
||||||
QMenu *graveMenu = playerMenu->addMenu(tr("&Graveyard"));
|
QMenu *graveMenu = playerMenu->addMenu(tr("&Graveyard"));
|
||||||
graveMenu->addAction(aViewGraveyard);
|
graveMenu->addAction(aViewGraveyard);
|
||||||
zones.findZone("grave")->setMenu(graveMenu);
|
zones.findZone("grave")->setMenu(graveMenu, aViewGraveyard);
|
||||||
|
|
||||||
QMenu *rfgMenu = playerMenu->addMenu(tr("&Removed cards"));
|
QMenu *rfgMenu = playerMenu->addMenu(tr("&Removed cards"));
|
||||||
rfgMenu->addAction(aViewRfg);
|
rfgMenu->addAction(aViewRfg);
|
||||||
zones.findZone("rfg")->setMenu(rfgMenu);
|
zones.findZone("rfg")->setMenu(rfgMenu, aViewRfg);
|
||||||
|
|
||||||
QMenu *sbMenu = playerMenu->addMenu(tr("&Sideboard"));
|
QMenu *sbMenu = playerMenu->addMenu(tr("&Sideboard"));
|
||||||
sbMenu->addAction(aViewSideboard);
|
sbMenu->addAction(aViewSideboard);
|
||||||
zones.findZone("sb")->setMenu(sbMenu);
|
zones.findZone("sb")->setMenu(sbMenu, aViewSideboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
Player::~Player()
|
Player::~Player()
|
||||||
|
|
Loading…
Reference in a new issue