Qt/CheatsManager: Show disabled AR and Gecko tabs when no game is running.

This commit is contained in:
Admiral H. Curtiss 2021-09-16 07:35:15 +02:00
parent dd9047f7c5
commit c40e8ee3a8
No known key found for this signature in database
GPG Key ID: F051B4C4044F33FB
2 changed files with 13 additions and 5 deletions

View File

@ -30,24 +30,30 @@ CheatsManager::CheatsManager(QWidget* parent) : QDialog(parent)
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
&CheatsManager::OnStateChanged);
OnStateChanged(Core::GetState());
CreateWidgets();
ConnectWidgets();
RefreshCodeTabs(Core::GetState(), true);
}
CheatsManager::~CheatsManager() = default;
void CheatsManager::OnStateChanged(Core::State state)
{
if (state != Core::State::Running && state != Core::State::Paused)
RefreshCodeTabs(state, false);
}
void CheatsManager::RefreshCodeTabs(Core::State state, bool force)
{
if (!force && (state == Core::State::Starting || state == Core::State::Stopping))
return;
const auto& game_id = SConfig::GetInstance().GetGameID();
const auto& game_id =
state != Core::State::Uninitialized ? SConfig::GetInstance().GetGameID() : std::string();
const auto& game_tdb_id = SConfig::GetInstance().GetGameTDBID();
const u16 revision = SConfig::GetInstance().GetRevision();
if (m_game_id == game_id && m_game_tdb_id == game_tdb_id && m_revision == revision)
if (!force && m_game_id == game_id && m_game_tdb_id == game_tdb_id && m_revision == revision)
return;
m_game_id = game_id;

View File

@ -43,6 +43,8 @@ private:
void OnNewSessionCreated(const Cheats::CheatSearchSessionBase& session);
void OnTabCloseRequested(int index);
void RefreshCodeTabs(Core::State state, bool force);
std::string m_game_id;
std::string m_game_tdb_id;
u16 m_revision = 0;