frontend: Implement settings profile sharing for per-game configuration #98
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/share-settings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This commit introduces a new system to export and import game-specific performance profiles via JSON files, streamlining the process of sharing "best settings" within the community.
Key changes include:
Added "Share Settings" and "Use Settings" buttons to the Per-Game Configuration (Properties) dialog.
Implementation of an export routine that captures current UI states for CPU, Graphics, and Advanced Graphics settings, alongside metadata about the creator's hardware.
Implementation of an import routine that performs a hardware mismatch check. If a user tries to import a profile created on a different GPU vendor (e.g., NVIDIA settings being applied to an AMD system), a warning is displayed to prevent potential stability issues or crashes.
Automatic unlinking of global settings: When a profile is imported, the "Use Global" status for relevant settings is automatically toggled off to ensure the new values are applied locally to the specific game.
Updated SharedWidget to expose the underlying Setting object, allowing for more robust data extraction during the sharing process.
Integrated nlohmann/json for portable, human-readable configuration files.
This feature significantly improves user experience by removing the need to manually toggle dozens of checkboxes and dropdowns when following community optimization guides.