mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-21 09:05:10 -07:00
Manage CardMenu lifecycle in PlayerMenu
This commit is contained in:
parent
3e90748f73
commit
14f60ea309
3 changed files with 12 additions and 6 deletions
|
|
@ -74,6 +74,11 @@ void PlayerMenu::setMenusForGraphicItems()
|
|||
|
||||
QMenu *PlayerMenu::updateCardMenu(const CardItem *card)
|
||||
{
|
||||
if (cardMenu) {
|
||||
cardMenu->deleteLater();
|
||||
cardMenu = nullptr;
|
||||
}
|
||||
|
||||
if (!card) {
|
||||
emit cardMenuUpdated(nullptr);
|
||||
return nullptr;
|
||||
|
|
@ -87,11 +92,11 @@ QMenu *PlayerMenu::updateCardMenu(const CardItem *card)
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
CardMenu *menu = new CardMenu(player, card, shortcutsActive);
|
||||
connect(menu, &CardMenu::cardInfoRequested, this, &PlayerMenu::cardInfoRequested);
|
||||
emit cardMenuUpdated(menu);
|
||||
cardMenu = new CardMenu(player, card, shortcutsActive);
|
||||
connect(cardMenu, &CardMenu::cardInfoRequested, this, &PlayerMenu::cardInfoRequested);
|
||||
emit cardMenuUpdated(cardMenu);
|
||||
|
||||
return menu;
|
||||
return cardMenu;
|
||||
}
|
||||
|
||||
void PlayerMenu::retranslateUi()
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ private:
|
|||
* player->getCounters().
|
||||
*/
|
||||
QList<AbstractPlayerComponent *> managedComponents;
|
||||
CardMenu *cardMenu = nullptr;
|
||||
bool shortcutsActive = false;
|
||||
|
||||
/** @brief Creates component, adds it as a submenu of playerMenu, and registers in managedComponents. */
|
||||
|
|
|
|||
|
|
@ -1026,8 +1026,8 @@ void TabGame::setCardMenu(CardMenu *menu)
|
|||
|
||||
if (menu) {
|
||||
aCardMenu->setMenu(menu);
|
||||
} else {
|
||||
aCardMenu->setMenu(new QMenu);
|
||||
} else if (aCardMenu->menu()) {
|
||||
aCardMenu->menu()->clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue