summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-09-20 14:30:04 +0200
committerGitHub <noreply@github.com>2021-09-20 14:30:04 +0200
commit29d236068c4b18e7ae89dbc535d9431ec738c6c9 (patch)
tree502b980c3aeefb2152f1cac622347afaf1e435bf /Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
parent28e6e8752ce709a775440138a39bce6987624ec8 (diff)
parentc40e8ee3a8f3e2e961ae5fcc4442431744741b1a (diff)
Merge pull request #10104 from AdmiralCurtiss/cheats-manager-ux
Cheats Manager UX improvements.
Diffstat (limited to 'Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp27
1 files changed, 20 insertions, 7 deletions
diff --git a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
index 99110d3b37..87783379b7 100644
--- a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
+++ b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp
@@ -37,14 +37,17 @@ GeckoCodeWidget::GeckoCodeWidget(std::string game_id, std::string gametdb_id, u1
CreateWidgets();
ConnectWidgets();
- IniFile game_ini_local;
+ if (!m_game_id.empty())
+ {
+ IniFile game_ini_local;
- // We don't use LoadLocalGameIni() here because user cheat codes that are installed via the UI
- // will always be stored in GS/${GAMEID}.ini
- game_ini_local.Load(File::GetUserPath(D_GAMESETTINGS_IDX) + m_game_id + ".ini");
+ // We don't use LoadLocalGameIni() here because user cheat codes that are installed via the UI
+ // will always be stored in GS/${GAMEID}.ini
+ game_ini_local.Load(File::GetUserPath(D_GAMESETTINGS_IDX) + m_game_id + ".ini");
- const IniFile game_ini_default = SConfig::LoadDefaultGameIni(m_game_id, m_game_revision);
- m_gecko_codes = Gecko::LoadCodes(game_ini_default, game_ini_local);
+ const IniFile game_ini_default = SConfig::LoadDefaultGameIni(m_game_id, m_game_revision);
+ m_gecko_codes = Gecko::LoadCodes(game_ini_default, game_ini_local);
+ }
UpdateList();
}
@@ -81,9 +84,16 @@ void GeckoCodeWidget::CreateWidgets()
m_download_codes->setToolTip(tr("Download Codes from the WiiRD Database"));
- m_download_codes->setEnabled(!m_game_id.empty());
+ m_code_list->setEnabled(!m_game_id.empty());
+ m_name_label->setEnabled(!m_game_id.empty());
+ m_creator_label->setEnabled(!m_game_id.empty());
+ m_code_description->setEnabled(!m_game_id.empty());
+ m_code_view->setEnabled(!m_game_id.empty());
+
+ m_add_code->setEnabled(!m_game_id.empty());
m_edit_code->setEnabled(false);
m_remove_code->setEnabled(false);
+ m_download_codes->setEnabled(!m_game_id.empty());
auto* layout = new QVBoxLayout;
@@ -228,6 +238,9 @@ void GeckoCodeWidget::RemoveCode()
void GeckoCodeWidget::SaveCodes()
{
+ if (m_game_id.empty())
+ return;
+
const auto ini_path =
std::string(File::GetUserPath(D_GAMESETTINGS_IDX)).append(m_game_id).append(".ini");