Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
library_menu.h
Go to the documentation of this file.
1
6
7#ifndef COCKATRICE_LIBRARY_MENU_H
8#define COCKATRICE_LIBRARY_MENU_H
9
11
12#include <QAction>
13#include <QMenu>
14
15class Player;
16class PlayerActions;
17
19{
20 Q_OBJECT
21public slots:
24
25public:
26 LibraryMenu(Player *player, QWidget *parent = nullptr);
27 void createDrawActions();
29 void createMoveActions();
30 void createViewActions();
31 void retranslateUi();
38 void setShortcutsActive();
40
41 [[nodiscard]] bool isAlwaysRevealTopCardChecked() const
42 {
43 return aAlwaysRevealTopCard->isChecked();
44 }
45
46 [[nodiscard]] bool isAlwaysLookAtTopCardChecked() const
47 {
48 return aAlwaysLookAtTopCard->isChecked();
49 }
50
51 // expose useful actions/menus if PlayerMenu needs them
52 [[nodiscard]] QMenu *revealLibrary() const
53 {
54 return mRevealLibrary;
55 }
56 [[nodiscard]] QMenu *lendLibraryMenu() const
57 {
58 return mLendLibrary;
59 }
60 [[nodiscard]] QMenu *revealTopCardMenu() const
61 {
62 return mRevealTopCard;
63 }
64
65 QMenu *topLibraryMenu = nullptr;
66 QMenu *bottomLibraryMenu = nullptr;
67
68 // Expose submenus that PlayerMenu tracks in its lists
69 QMenu *mRevealLibrary = nullptr;
70 QMenu *mLendLibrary = nullptr;
71 QMenu *mRevealTopCard = nullptr;
72
73 QAction *aDrawCard = nullptr;
74 QAction *aDrawCards = nullptr;
75 QAction *aUndoDraw = nullptr;
76
77 QAction *aShuffle = nullptr;
78 QAction *aViewLibrary = nullptr;
79 QAction *aViewTopCards = nullptr;
80 QAction *aViewBottomCards = nullptr;
81 QAction *aAlwaysRevealTopCard = nullptr;
82 QAction *aAlwaysLookAtTopCard = nullptr;
83 QAction *aOpenDeckInDeckEditor = nullptr;
84
85 QAction *aMoveTopToPlay = nullptr;
86 QAction *aMoveTopToPlayFaceDown = nullptr;
87 QAction *aMoveTopCardToBottom = nullptr;
88 QAction *aMoveTopCardToGraveyard = nullptr;
89 QAction *aMoveTopCardToExile = nullptr;
90 QAction *aMoveTopCardsToGraveyard = nullptr;
91 QAction *aMoveTopCardsToExile = nullptr;
92 QAction *aMoveTopCardsUntil = nullptr;
93 QAction *aShuffleTopCards = nullptr;
94
95 QAction *aDrawBottomCard = nullptr;
96 QAction *aDrawBottomCards = nullptr;
97 QAction *aMoveBottomToPlay = nullptr;
98 QAction *aMoveBottomToPlayFaceDown = nullptr;
99 QAction *aMoveBottomCardToTop = nullptr;
100 QAction *aMoveBottomCardToGraveyard = nullptr;
101 QAction *aMoveBottomCardToExile = nullptr;
102 QAction *aMoveBottomCardsToGraveyard = nullptr;
103 QAction *aMoveBottomCardsToExile = nullptr;
104 QAction *aShuffleBottomCards = nullptr;
105
107
108private:
110};
111
112#endif // COCKATRICE_LIBRARY_MENU_H
QAction * aViewLibrary
Definition library_menu.h:78
QAction * aDrawCard
Definition library_menu.h:73
QMenu * topLibraryMenu
Definition library_menu.h:65
void setShortcutsActive()
Definition library_menu.cpp:319
void createShuffleActions()
Definition library_menu.cpp:109
void createMoveActions()
Definition library_menu.cpp:123
QAction * aViewBottomCards
Definition library_menu.h:80
void populateRevealLibraryMenuWithActivePlayers()
Definition library_menu.cpp:236
QAction * aAlwaysRevealTopCard
Definition library_menu.h:81
QAction * aMoveBottomCardToGraveyard
Definition library_menu.h:100
QMenu * bottomLibraryMenu
Definition library_menu.h:66
QAction * aDrawCards
Definition library_menu.h:74
QMenu * mRevealLibrary
Definition library_menu.h:69
QAction * aMoveTopToPlay
Definition library_menu.h:85
void createDrawActions()
Definition library_menu.cpp:91
int defaultNumberTopCards
Definition library_menu.h:106
QMenu * lendLibraryMenu() const
Definition library_menu.h:56
QAction * aShuffleBottomCards
Definition library_menu.h:104
void onRevealTopCardTriggered()
Definition library_menu.cpp:304
void populateLendLibraryMenuWithActivePlayers()
Definition library_menu.cpp:256
QAction * aMoveTopCardToGraveyard
Definition library_menu.h:88
QAction * aViewTopCards
Definition library_menu.h:79
Player * player
Definition library_menu.h:109
QAction * aShuffleTopCards
Definition library_menu.h:93
QAction * aMoveBottomCardToTop
Definition library_menu.h:99
QAction * aShuffle
Definition library_menu.h:77
bool isAlwaysLookAtTopCardChecked() const
Definition library_menu.h:46
void createViewActions()
Definition library_menu.cpp:166
QAction * aMoveTopCardToExile
Definition library_menu.h:89
QAction * aMoveBottomToPlay
Definition library_menu.h:97
QAction * aMoveTopCardsToExile
Definition library_menu.h:91
QAction * aMoveBottomCardsToGraveyard
Definition library_menu.h:102
void onRevealLibraryTriggered()
Definition library_menu.cpp:290
QAction * aDrawBottomCards
Definition library_menu.h:96
QAction * aMoveTopCardToBottom
Definition library_menu.h:87
QAction * aUndoDraw
Definition library_menu.h:75
QAction * aMoveBottomCardsToExile
Definition library_menu.h:103
void populateRevealTopCardMenuWithActivePlayers()
Definition library_menu.cpp:270
QMenu * mRevealTopCard
Definition library_menu.h:71
void resetTopCardMenuActions()
Definition library_menu.cpp:85
bool isAlwaysRevealTopCardChecked() const
Definition library_menu.h:41
QAction * aOpenDeckInDeckEditor
Definition library_menu.h:83
LibraryMenu(Player *player, QWidget *parent=nullptr)
Definition library_menu.cpp:13
QMenu * revealTopCardMenu() const
Definition library_menu.h:60
QAction * aMoveBottomToPlayFaceDown
Definition library_menu.h:98
void setShortcutsInactive()
Definition library_menu.cpp:353
QAction * aMoveTopCardsUntil
Definition library_menu.h:92
QMenu * mLendLibrary
Definition library_menu.h:70
void onLendLibraryTriggered()
Definition library_menu.cpp:297
QAction * aMoveTopCardsToGraveyard
Definition library_menu.h:90
void enableOpenInDeckEditorAction() const
Definition library_menu.cpp:80
QAction * aMoveBottomCardToExile
Definition library_menu.h:101
QAction * aDrawBottomCard
Definition library_menu.h:95
QMenu * revealLibrary() const
Definition library_menu.h:52
void retranslateUi()
Definition library_menu.cpp:190
QAction * aAlwaysLookAtTopCard
Definition library_menu.h:82
QAction * aMoveTopToPlayFaceDown
Definition library_menu.h:86
Definition player_actions.h:34
Definition player.h:65
TearOffMenu(const QString &title, QWidget *parent=nullptr)
Definition tearoff_menu.h:16
TODO: Document this.