diff options
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r-- | src/yuzu/configuration/config.cpp | 4 | ||||
-rw-r--r-- | src/yuzu/configuration/config.h | 4 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_per_game.cpp | 13 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_per_game.h | 3 |
4 files changed, 16 insertions, 8 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index eb58bfa5b..552454acf 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -16,7 +16,7 @@ namespace FS = Common::FS; -Config::Config(const std::string& config_name, ConfigType config_type) : type(config_type) { +Config::Config(std::string_view config_name, ConfigType config_type) : type(config_type) { global = config_type == ConfigType::GlobalConfig; Initialize(config_name); @@ -242,7 +242,7 @@ const std::array<UISettings::Shortcut, 17> Config::default_hotkeys{{ }}; // clang-format on -void Config::Initialize(const std::string& config_name) { +void Config::Initialize(std::string_view config_name) { const auto fs_config_loc = FS::GetYuzuPath(FS::YuzuPath::ConfigDir); const auto config_file = fmt::format("{}.ini", config_name); diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index ce3355588..114a2eaa7 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -22,7 +22,7 @@ public: InputProfile, }; - explicit Config(const std::string& config_name = "qt-config", + explicit Config(std::string_view config_name = "qt-config", ConfigType config_type = ConfigType::GlobalConfig); ~Config(); @@ -45,7 +45,7 @@ public: static const std::array<UISettings::Shortcut, 17> default_hotkeys; private: - void Initialize(const std::string& config_name); + void Initialize(std::string_view config_name); void ReadValues(); void ReadPlayerValue(std::size_t player_index); diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp index 3e13bd438..a7b7698f2 100644 --- a/src/yuzu/configuration/configure_per_game.cpp +++ b/src/yuzu/configuration/configure_per_game.cpp @@ -4,6 +4,7 @@ #include <algorithm> #include <memory> +#include <string> #include <utility> #include <QCheckBox> @@ -14,6 +15,7 @@ #include <QTimer> #include <QTreeView> +#include "common/fs/path_util.h" #include "core/core.h" #include "core/file_sys/control_metadata.h" #include "core/file_sys/patch_manager.h" @@ -26,10 +28,15 @@ #include "yuzu/uisettings.h" #include "yuzu/util/util.h" -ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id) +ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id, std::string_view file_name) : QDialog(parent), ui(std::make_unique<Ui::ConfigurePerGame>()), title_id(title_id) { - game_config = std::make_unique<Config>(fmt::format("{:016X}", title_id), - Config::ConfigType::PerGameConfig); + if (title_id == 0) { + game_config = std::make_unique<Config>(Common::FS::GetFilename(file_name), + Config::ConfigType::PerGameConfig); + } else { + game_config = std::make_unique<Config>(fmt::format("{:016X}", title_id), + Config::ConfigType::PerGameConfig); + } Settings::SetConfiguringGlobal(false); diff --git a/src/yuzu/configuration/configure_per_game.h b/src/yuzu/configuration/configure_per_game.h index 5f9a08cef..d86749a0e 100644 --- a/src/yuzu/configuration/configure_per_game.h +++ b/src/yuzu/configuration/configure_per_game.h @@ -5,6 +5,7 @@ #pragma once #include <memory> +#include <string> #include <vector> #include <QDialog> @@ -27,7 +28,7 @@ class ConfigurePerGame : public QDialog { Q_OBJECT public: - explicit ConfigurePerGame(QWidget* parent, u64 title_id); + explicit ConfigurePerGame(QWidget* parent, u64 title_id, std::string_view file_name); ~ConfigurePerGame() override; /// Save all button configurations to settings file |