Skip to content
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

Preparation for future features #352

Merged
merged 9 commits into from
Dec 24, 2023
Merged

Conversation

loathingKernel
Copy link
Contributor

  • Make launch and login process less synchronous. These dialogs were using exec() to open, which blocked execution on the main applications, which cause general abrupt behavior.
  • Implement proton discovery functions based on valve's own information. Add a dependency on the vdf python library
  • Import UI modules only on relevant platforms

… super-classes

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.
`get_wine_prefixes`: Returns all prefixes defined in legendary's configuration
`get_wine_prefix`: Returns wine prefix associated with a game
…back

* Extend `get_wine_prefix` and `get_wine_prefixes` to take Proton prefixes
into account.
This probably should be split into separate wine and proton
discovery functions.
@loathingKernel loathingKernel merged commit 826d38c into RareDevs:main Dec 24, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant