-
Notifications
You must be signed in to change notification settings - Fork 32
Merge a lot of WIP #381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Merge a lot of WIP #381
Conversation
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
…login page Add a sub-application to Rare to launch the webview for logging into EGS. The sub-application operates similatly to the `laucher` sub-application and it is autonomous. After a successful login in returns the exchange code to the standard output to be parsed and used by the login dialog. The reason this implementation was chosen is because when pywebview uses pyqtwebengine as the GUI library, we cannot launch it through Rare as it tries to spawn a QMainWindow inside an existing event loop, which is prohibited by Qt. Despite that, EGS login page doesn't work correctly with QtWebEngine, so on linux default to the GTK backend for pywebview, and this change helps keeping applications using different toolkits separate. At this moment, spawning the sub-application blocks the execution of the main application. This change should make it easier to authenticate through Rare inside a gamescope session, such as the steam deck.
…log size Useful for `gamescope`'s `--force-windows-fullscreen` mode
This allows compatibility tools that use the SteamAppId environment variable to make decisions or apply fixes do their job more accurately. Also use the stored variable to provide a link to protondb through the grade label in GameInfo. The steam grades now use the orjson library to load Steam's ~6MB database faster.
* Use `vars()` instead of directly accessing `__dict__` * Remove `auto_update` from RareGame's metadata * Correct check for updating the Steam App ID (We want to keep any changes from the user) * Collect both Wine and Proton prefixes when removing overlay registry keys. * Add few convenience functions in config_helper and paths.
The default widgets only implement the settings for the `default` "app_name" The game specific widgets sub-class the default widgets and implement whatever they additionally need locally. Remove multiple calls to save config and save when the game settings gets hidden.
Also add a dialog to select optional downloads before verifying and refactor the move widget into a full-fledged dialog. To keep dialogs in a common format and allow them to share the same properties, three classes of dialogs have been implemented inheriting from each other. The classes are `BaseDialog` -> `ButtonDialog` -> `ActionDialog` * Basedialog: is the basis of all dialogs and is responsible for rejecting close requests from the window manager and the keyboard. It also restricts access to `exec()` and `exec_()` because they are harmful. It serves as the basis of Launch and Login dialogs * ButtonDialog: is offering buttons for accepting or rejecting the presented option. It implements its own buttons and exposes abstract methods to implement handling in them. It restricts access to `close()` because these dialogs should always product a result. It is the basis of Uninstall, Selective dialogs. * ActionDialog: in addition to the ButtonDialog, it offers an action buttom with to validate the form or to make the dialog unable to close. It serves as the basis of Install and Move dialogs. Accordingly all dialogs in Rare have been updated to use these classes.
Also fix an exception when the setting in the config was faulty we were looking for the wrong data type in the combobox data.
…e from. Add a combobox in the "Add wrapper" dialog, populated with existing user-defined wrappers from other games.
* Instead of using legendary's locale as fallback, use system't locale as default. * Do not hardcode language names and countries but use QLocale on the translation filenames.
* Remove base Qt translations from repo, load translations from Qt itself * Prefix translation `qm` files with `rare_`. * Rename `translation_source.ts` to simply `source.ts` * If the selected language matches the system local, remove the option from the configuration.
* Add an option to select the library view mode. This will allow us to instantiate only one library view at startup, reducing time and complexity of the process.
* Pass python IntEnum objects instead ints for LibraryFilter/Order/View We only want to store them as integers to avoid QVariant gibberish *
Do not create multiple library views and remove the ability to switch between them on the fly. Add an option in settings to select the preferred view. The view will be used the next time Rare is started.
Right now we have two commands, and with possible third one comming soon.
Signed-off-by: loathingKernel <[email protected]>
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.
Merge a lot of work-in-progress around Steam compatibility tools, wine, wrappers and other stuff into main. It should be stable enough to start getting more widely tested, to uncover various issues.