[qt, android] Implement custom save path setting and migration + Implement custom path settings for Android (#3154)

Needs careful review and especially testing

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3154
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: kleidis <kleidis1@protonmail.com>
Co-committed-by: kleidis <kleidis1@protonmail.com>
This commit is contained in:
kleidis 2025-12-31 21:20:30 +01:00 committed by crueter
parent 18af560a43
commit b0cd47c005
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
28 changed files with 867 additions and 24 deletions

View file

@ -290,6 +290,13 @@ void Config::ReadDataStorageValues() {
setPath(EdenPath::DumpDir, "dump_directory");
setPath(EdenPath::TASDir, "tas_directory");
const auto save_dir_setting = ReadStringSetting(std::string("save_directory"));
if (save_dir_setting.empty()) {
SetEdenPath(EdenPath::SaveDir, GetEdenPathString(EdenPath::NANDDir));
} else {
SetEdenPath(EdenPath::SaveDir, save_dir_setting);
}
ReadCategory(Settings::Category::DataStorage);
EndGroup();
@ -583,6 +590,16 @@ void Config::SaveDataStorageValues() {
writePath("dump_directory", EdenPath::DumpDir);
writePath("tas_directory", EdenPath::TASDir);
const auto save_path = FS::GetEdenPathString(EdenPath::SaveDir);
const auto nand_path = FS::GetEdenPathString(EdenPath::NANDDir);
if (save_path == nand_path) {
WriteStringSetting(std::string("save_directory"), std::string(""),
std::make_optional(std::string("")));
} else {
WriteStringSetting(std::string("save_directory"), save_path,
std::make_optional(std::string("")));
}
WriteCategory(Settings::Category::DataStorage);
EndGroup();