Fix support for unicode paths for game install directories (#2699)

* Slightly changed how allInstallDirsDisabled is determined

* Show a dialog only if no game directories are set

* Changed a comment

* Fixed formatting

* Support for unicode paths for game install directories

* Fixed game picture path conversion
This commit is contained in:
Ked authored and GitHub committed 2025-03-28 23:14:52 +02:00
1 parent 751a23af0f
commit 78c8bca2bb
3 files changed
+4 -3

No files matched your search

+1 -1
View File
@@ -850,7 +850,7 @@ void load(const std::filesystem::path& path) {
m_window_size_H = toml::find_or<int>(gui, "mw_height", 0);
const auto install_dir_array =
toml::find_or<std::vector<std::string>>(gui, "installDirs", {});
toml::find_or<std::vector<std::u8string>>(gui, "installDirs", {});
try {
install_dirs_enabled = toml::find<std::vector<bool>>(gui, "installDirsEnabled");
+2 -1
View File
@@ -185,7 +185,8 @@ void GameListFrame::SetListBackgroundImage(QTableWidgetItem* item) {
// Recompute if opacity changed or we switched to a different game
if (opacity != m_last_opacity || game.pic_path != m_current_game_path) {
QImage original_image(QString::fromStdString(game.pic_path.string()));
auto image_path = game.pic_path.u8string();
QImage original_image(QString::fromStdString({image_path.begin(), image_path.end()}));
if (!original_image.isNull()) {
backgroundImage = m_game_list_utils.ChangeImageOpacity(
original_image, original_image.rect(), opacity / 100.0f);
+1 -1
View File
@@ -817,7 +817,7 @@ void SettingsDialog::ResetInstallFolders() {
if (data.contains("GUI")) {
const toml::value& gui = data.at("GUI");
const auto install_dir_array =
toml::find_or<std::vector<std::string>>(gui, "installDirs", {});
toml::find_or<std::vector<std::u8string>>(gui, "installDirs", {});
std::vector<bool> install_dirs_enabled;
try {