Refactor: Remove singletons, add RareAppSettings#603
Merged
loathingKernel merged 55 commits intoRareDevs:mainfrom Oct 1, 2025
Merged
Refactor: Remove singletons, add RareAppSettings#603loathingKernel merged 55 commits intoRareDevs:mainfrom
loathingKernel merged 55 commits intoRareDevs:mainfrom
Conversation
9e9b299 to
abb7725
Compare
DiscordRPC: refactor to use mode enumeration instead of hard-coded options
Also reformat with ruff and commit here because I am an idiot.
…Windows XDG_CONFIG_HOME being in the environment would cause legendary to resolve the config path to the Linux client one while running in Wine
Instead of depending on `.instance()` methods to get the initialized singletons, pass them as constructor arguments. It should clear up what is used where and improve both consistency and readability of the code.
and restore them once it is disabled. Wine related settings are stored in Rare's config and the affected variables are removed from legendary's config
…rom legendary. This works around a deeper issue with legendary's `check_savegame_state` generating an exception when it tries to `stat` broken symlinkings. In any case, this might better in general, as our input is only set when if we are certain enough it is correct.
Add a `validationFinished(bool, str)` signal to indicate that is emitted when the input validation has finished. The result contains if the input was valid, and the reason is string form. The `refresh()` method is meant to be use to refresh re-validate and refresh the indicator upon request. This can be used when showing the widget to make sure the existing input is valid.
The validation method checks if the path exists and if the path is writable.
The validation method checks if the path exists and it is writable.
Issue stemmed from the validation slot calling `__on_option_changed`. Instead locally disable install button and enable verify button when the path changes. This way once the preparation thread finishes it will enable install button.
…ctly into the form layout
…mpat tool This is here to work around legendary's broken handling for `STEAM_COMPAT_DATA_PATH` when resolving save paths. The `LegendaryCore.get_save_path` method checks if `STEAM_COMPAT_DATA_PATH` is set only on a per-game basis and it doesn't fall back to checking the if the variable is set globally.
…odule is not needed
* SelectiveWidget: move into dialogs, it's the only place it is used * SelectiveWidget: move with selective dialog
abb7725 to
7bda7db
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
auto_sync_cloudkey