mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-16 20:17:45 -07:00
* [Game][Player] Pull out graphics_items out of player_logic Took 25 seconds Took 9 minutes * [Game] Move graphics files into game_graphics Took 1 minute Took 2 minutes Took 23 seconds Took 1 minute Took 2 seconds * Include. Took 4 minutes Took 3 minutes Took 4 minutes Took 1 minute Took 3 minutes --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
#include "say_menu.h"
|
|
|
|
#include "../../../client/settings/cache_settings.h"
|
|
#include "../../game/player/player_actions.h"
|
|
#include "../../game/player/player_logic.h"
|
|
#include "../player_graphics_item.h"
|
|
|
|
SayMenu::SayMenu(PlayerGraphicsItem *_player) : player(_player)
|
|
{
|
|
connect(&SettingsCache::instance().messages(), &MessageSettings::messageMacrosChanged, this, &SayMenu::initSayMenu);
|
|
initSayMenu();
|
|
retranslateUi();
|
|
}
|
|
|
|
void SayMenu::retranslateUi()
|
|
{
|
|
setTitle(tr("S&ay"));
|
|
}
|
|
|
|
void SayMenu::setShortcutsActive()
|
|
{
|
|
shortcutsActive = true;
|
|
|
|
const auto menuActions = actions();
|
|
for (int i = 0; i < menuActions.size() && i < 10; ++i) {
|
|
menuActions[i]->setShortcut(QKeySequence("Ctrl+" + QString::number((i + 1) % 10)));
|
|
}
|
|
}
|
|
|
|
void SayMenu::setShortcutsInactive()
|
|
{
|
|
shortcutsActive = false;
|
|
|
|
for (auto *action : actions()) {
|
|
action->setShortcut(QKeySequence());
|
|
}
|
|
}
|
|
|
|
void SayMenu::initSayMenu()
|
|
{
|
|
clear();
|
|
|
|
int count = SettingsCache::instance().messages().getCount();
|
|
setEnabled(count > 0);
|
|
|
|
for (int i = 0; i < count; ++i) {
|
|
auto *newAction = new QAction(SettingsCache::instance().messages().getMessageAt(i), this);
|
|
connect(newAction, &QAction::triggered, player->getLogic()->getPlayerActions(), &PlayerActions::actSayMessage);
|
|
addAction(newAction);
|
|
}
|
|
|
|
if (shortcutsActive) {
|
|
setShortcutsActive();
|
|
}
|
|
}
|