Qt: Implement Cheats Manager

This commit is contained in:
spycrab
2018-03-26 04:17:47 +02:00
parent 396204248d
commit c09075209f
14 changed files with 813 additions and 13 deletions

View File

@ -14,14 +14,15 @@
#include "Core/Core.h"
#include "DolphinQt2/Settings.h"
CheatWarningWidget::CheatWarningWidget(const std::string& game_id) : m_game_id(game_id)
CheatWarningWidget::CheatWarningWidget(const std::string& game_id, bool restart_required)
: m_game_id(game_id), m_restart_required(restart_required)
{
CreateWidgets();
ConnectWidgets();
connect(&Settings::Instance(), &Settings::EnableCheatsChanged,
connect(&Settings::Instance(), &Settings::EnableCheatsChanged, this,
[this] { Update(Core::IsRunning()); });
connect(&Settings::Instance(), &Settings::EmulationStateChanged,
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
[this](Core::State state) { Update(state == Core::State::Running); });
Update(Core::IsRunning());
@ -58,7 +59,7 @@ void CheatWarningWidget::Update(bool running)
bool hide_widget = true;
bool hide_config_button = true;
if (running && SConfig::GetInstance().GetGameID() == m_game_id)
if (running && SConfig::GetInstance().GetGameID() == m_game_id && m_restart_required)
{
hide_widget = false;
m_text->setText(tr("Changing cheats will only take effect when the game is restarted."));