diff --git a/Source/Core/DolphinQt/GCMemcardManager.cpp b/Source/Core/DolphinQt/GCMemcardManager.cpp index 84dc10d02b..6ff97650e8 100644 --- a/Source/Core/DolphinQt/GCMemcardManager.cpp +++ b/Source/Core/DolphinQt/GCMemcardManager.cpp @@ -22,10 +22,12 @@ #include #include +#include "Common/Config/Config.h" #include "Common/FileUtil.h" #include "Common/MsgHandler.h" #include "Common/StringUtil.h" +#include "Core/Config/MainSettings.h" #include "Core/HW/GCMemcard/GCMemcard.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" @@ -62,6 +64,8 @@ GCMemcardManager::GCMemcardManager(QWidget* parent) : QDialog(parent) // which means the fastest animation and common denominator is 15 FPS or 66 milliseconds per frame m_timer->start(1000 / 15); + LoadDefaultMemcards(); + // Make the dimensions more reasonable on startup resize(650, 500); @@ -150,6 +154,22 @@ void GCMemcardManager::ConnectWidgets() } } +void GCMemcardManager::LoadDefaultMemcards() +{ + for (int i = 0; i < SLOT_COUNT; i++) + { + if (Config::Get(i == 0 ? Config::MAIN_SLOT_A : Config::MAIN_SLOT_B) != + ExpansionInterface::EXIDEVICE_MEMORYCARD) + { + continue; + } + + const QString path = QString::fromStdString( + Config::Get(i == 0 ? Config::MAIN_MEMCARD_A_PATH : Config::MAIN_MEMCARD_B_PATH)); + SetSlotFile(i, path); + } +} + void GCMemcardManager::SetActiveSlot(int slot) { for (int i = 0; i < SLOT_COUNT; i++) diff --git a/Source/Core/DolphinQt/GCMemcardManager.h b/Source/Core/DolphinQt/GCMemcardManager.h index f3431ed929..1f8b8ad3a3 100644 --- a/Source/Core/DolphinQt/GCMemcardManager.h +++ b/Source/Core/DolphinQt/GCMemcardManager.h @@ -40,6 +40,7 @@ private: void CreateWidgets(); void ConnectWidgets(); + void LoadDefaultMemcards(); void UpdateActions(); void UpdateSlotTable(int slot);