mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-02-11 17:05:43 -07:00
AchievementSettingsWidget is a dialog widget in AchievementsWindow for handling RetroAchievements settings in the user interface. This class contains the physical layout, widget connections, load/save functions and button responses. AchievementsWindow now has a tabbed list that this is inserted into; other tabs will be in a later pull request.
60 lines
1.8 KiB
C++
60 lines
1.8 KiB
C++
// Copyright 2017 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "Core/ConfigLoaders/IsSettingSaveable.h"
|
|
|
|
#include <algorithm>
|
|
#include <vector>
|
|
|
|
#include "Common/Config/Config.h"
|
|
#include "Core/Config/AchievementSettings.h"
|
|
#include "Core/Config/GraphicsSettings.h"
|
|
#include "Core/Config/MainSettings.h"
|
|
#include "Core/Config/UISettings.h"
|
|
#include "Core/Config/WiimoteSettings.h"
|
|
|
|
namespace ConfigLoaders
|
|
{
|
|
bool IsSettingSaveable(const Config::Location& config_location)
|
|
{
|
|
for (Config::System system :
|
|
{Config::System::SYSCONF, Config::System::GFX, Config::System::DualShockUDPClient,
|
|
Config::System::Logger, Config::System::FreeLook, Config::System::Main,
|
|
Config::System::GameSettingsOnly})
|
|
{
|
|
if (config_location.system == system)
|
|
return true;
|
|
}
|
|
|
|
static const auto s_setting_saveable = {
|
|
// UI.General
|
|
|
|
&Config::MAIN_USE_DISCORD_PRESENCE.GetLocation(),
|
|
|
|
// Wiimote
|
|
|
|
&Config::WIIMOTE_1_SOURCE.GetLocation(),
|
|
&Config::WIIMOTE_2_SOURCE.GetLocation(),
|
|
&Config::WIIMOTE_3_SOURCE.GetLocation(),
|
|
&Config::WIIMOTE_4_SOURCE.GetLocation(),
|
|
&Config::WIIMOTE_BB_SOURCE.GetLocation(),
|
|
|
|
// Achievements
|
|
|
|
&Config::RA_ENABLED.GetLocation(),
|
|
&Config::RA_USERNAME.GetLocation(),
|
|
&Config::RA_API_TOKEN.GetLocation(),
|
|
&Config::RA_ACHIEVEMENTS_ENABLED.GetLocation(),
|
|
&Config::RA_LEADERBOARDS_ENABLED.GetLocation(),
|
|
&Config::RA_RICH_PRESENCE_ENABLED.GetLocation(),
|
|
&Config::RA_UNOFFICIAL_ENABLED.GetLocation(),
|
|
&Config::RA_ENCORE_ENABLED.GetLocation(),
|
|
};
|
|
|
|
return std::any_of(begin(s_setting_saveable), end(s_setting_saveable),
|
|
[&config_location](const Config::Location* location) {
|
|
return *location == config_location;
|
|
});
|
|
}
|
|
} // namespace ConfigLoaders
|