1
0
Fork 0
mirror of synced 2024-06-29 19:51:02 +12:00
Commit graph

53 commits

Author SHA1 Message Date
loathingKernel 400625975d Dialogs: Re-implement Launch and Login dialogs on top of a few common 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.
2023-12-24 21:08:26 +02:00
loathingKernel 8e1a3c8c73
LoginDialog: Calculate a fixed height for the login stack based on width
* Properly find row to insert sid_edit into
* Use lazy evaluation for logging
* Clean the login forms by using separate layouts for the interactive fields
2023-12-12 01:23:17 +02:00
loathingKernel 0ec80e5678
LoginDialog: Set minimum size in a way that avoids resizing on changing widgets
The forms were updated to be more informative and easier to read.

NOTE: The reason the form is bigger than the contents is because the
QLabels have word-wrapping enabled and as such they substitute width
for height (`hasHeightforWidth`)
2023-12-12 01:23:16 +02:00
loathingKernel e188cee4e5
BrowserLogin: Add privacy note 2023-12-12 01:23:16 +02:00
loathingKernel 64e9e312c7
BrowserLogin: Improve instructions 2023-12-12 01:23:15 +02:00
loathingKernel 8c83f8aa23
InstallDialog: Add install_dir_edit widget without using an extra layout 2023-12-12 01:23:15 +02:00
loathingKernel 0d62965edb
Dialogs: Make titles uniform 2023-12-12 01:23:15 +02:00
loathingKernel d53eb92e53
Login: Remove spacer 2023-11-28 16:38:02 +02:00
lennard 075443261d Show free space in install dialog 2023-05-03 12:32:12 +02:00
lennard b4586c9272
Delete unused classes GameUtils and CloudSaveUtils and move cloud save dialog to dialogs
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-03-08 21:33:24 +02:00
loathingKernel 00a0b36e75 LaunchDialog: better layout name 2023-02-20 14:58:01 +02:00
loathingKernel d3bee28443 Ui: Delete QtCore.QMetaObject.connectSlotsByName from UI python files
Since pyuic5 doesn't handle `connectSlotByName=False` in ui files
use sed in `misc/ui2py.sh` to remove those lines

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:07 +02:00
lennard afea6a663a
Make error text in install dialog selectable 2023-01-27 15:51:00 +01:00
loathingKernel 435d560b5c InstallDialog: Update the collapsible widget to take a widget instead of a layout
This change makes it more inline with how QScrollArea operates on a central widget.
Other changes include using a QFrame instead of a QWidget as a base and
adding a QLabel for the title instead of the horizontal line.

The advanced options were split into their own separate widget. Right now
their class operates only as a container with the logic remaining in the
InstallDialog.
2022-10-31 16:59:55 +02:00
lennard 97157646a1
Fix some translation strings 2022-10-23 22:52:49 +02:00
loathingKernel 3291100709 InstallDialog: Set irrelevant widgets as disabled.
Do not hide irrelevant options, show them as disabled instea.
This like the install directory are still informational despite
not being editable.

Also homogenize variable and widget naming.
2022-10-23 21:36:44 +03:00
loathingKernel 52108688d3 LaunchDialog: Use ElideLabel for progress information 2022-09-10 22:42:47 +03:00
loathingKernel 0388d4bf9d ImportLogin: Fix failure to login using EGL data 2022-09-01 22:49:09 +03:00
loathingKernel fb708ce5fd LoginDialog: Update to legendary 0.20.28 2022-09-01 18:53:16 +03:00
loathingKernel 2c36ffcd51 Lgndr: Adjust for d8af06c936 2022-09-01 11:49:42 +03:00
loathingKernel b1c713be12 InstallDialog: Show silent dialog in case of error
InstallDialog: Default shortcut creation to Unchecked in the UI file
InstallDialog: Save and reuse last shortcut creation value
2022-08-31 17:41:12 +03:00
loathingKernel 2f983d9b52 InstallDialog: Adjust collapsible widget 2022-08-28 22:07:26 +02:00
Dummerle 3469946ee9
Install prereqs by default on windows 2022-08-27 12:32:20 +02:00
Dummerle da07d6b791
Move some options in install dialog to advanced options 2022-08-27 12:32:17 +02:00
loathingKernel 145bc5f540 Use SlidingStackedWidget for the login dialog.
Also fixes the login window missing dialog type hints for the window manager.

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-23 17:57:29 +03:00
Stelios Tsampas 06c89b459e InstallDialog: Remove QMessageBox, use existing dedicated label
InstallInfoWorker: Reset excepthook to default

Also pass through black formatter
2022-05-27 13:26:01 +03:00
loathingKernel 3bf7b20fbc InstallDialog: Add max shared memory override and download reordering options
Fixes: #206
2022-05-26 23:17:02 +03:00
Stelios Tsampas 1c296474c5 Add a bunch of accumulated fixes.
Shared: Require an argument to initialize the each singleton, if it is called uninitialized, raise a RuntimeError
InstallDialog: Use QCheckBox label for the information text and remove the layout
LaunchDialog: Minor code clarity improvements
Console: add a Dialog with the process's environment variables
GameUtils: Inherit the system's environment and not a clean one
ImportGroup: Add the ability to automatically import all games in a folder
RareStyle: Use rgb values, remove hex codes and rgba values
IndicatorLineEdit/PathEdit: Infer object names from class name, don't override layout method
Models: Type fields as Optional (`Union[<something>, None]`)
Paths: Use pathlib for everything

Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2022-05-05 13:27:39 +03:00
Dummerle 150fff348b
Fix Desktop shortcut and login dialog task bar icon + bump version 2022-04-25 23:32:26 +02:00
Dummerle 8b723f7fcc
Update install prequisites, which raised an error 2022-04-13 01:08:27 +02:00
Stelios Tsampas a8384d904d
InstallDialog: Rearrange options, fix form gaps 2022-02-07 19:19:13 +02:00
Dummerle 8f83b4adde
Add download option to create a shortcut after installation 2022-02-04 22:15:32 +01:00
Dummerle 662c8ed04c
Add link text to browser login 2022-01-23 01:03:56 +01:00
Dummerle 026d5374a3
Add Multiplatform support for MacOS and Win32 2021-12-05 19:47:03 +01:00
Dummerle 27ff65dcff
center icons in sync_save_dialog 2021-11-17 22:59:29 +01:00
Dummerle 8b8c3a1f64
Rebasing cloud_save_update with main 2021-11-17 22:59:28 +01:00
Stelios Tsampas 463443796d Adjust BrowserLogin to use IndicatorLineEdit
Adjust Locale in `LegendarySettings` to use `IndicatorLineEdit`
Adjust `InstallDialog` to conform with new `PathEdit` `edit_func` specification

This commit temporarily removes `EGLSync` from `LegendarySettings`
as it is being worked on.
2021-10-10 20:47:26 +03:00
Dummerle 6ba445158d Remove login successful page and auto parse sid 2021-10-07 21:58:50 +02:00
Dummerle bb4f08691a Fix set locale to legendary locale + reformatting 2021-09-13 20:24:09 +02:00
Stelios Tsampas 4d842e352a Use FormLayout for InstallDialog 2021-09-11 00:57:43 +03:00
Dummerle 48768fd905 Fix login from merge 2021-08-16 23:20:21 +02:00
Dummerle 4cfe2bf336 merge branches 2021-08-16 22:50:31 +02:00
Dummerle 5dcaa3f8af Update steam ratings (Only update if need) 2021-08-13 21:24:03 +02:00
Stelios Tsampas e8dadb6b00 Update the RareStyle to handle radiobutton, disabled widgets, etc.
* Add RareStyle qrc with the icons needed for comboboxes and spinboxes
* Add images as svg
* Refactor `styles` to `resources` since it contains more things now.
* Add stylesheet folders, each folder must contain a `stylesheet.qss` file.
* Don't use QResources, instead add an identifier in the qss url() which can
  replaced later with the full path.
* Update RareStyle with SVG images for better quality.
2021-06-24 20:08:04 +03:00
Stelios Tsampas 90ac9a1574 Re-implement LoginDialog. 2021-06-24 20:07:18 +03:00
Dummerle 838783c1fb Show error message and warnings after core.prepare_download 2021-06-07 15:42:49 +02:00
Stelios Tsampas 0200347e72 Convert InstallDialog to modeless so it doesn't block the main UI any more. 2021-05-25 23:52:25 +03:00
Stelios Tsampas fd84065fcb Add verify button to not block on every change.
Add some behavioral safeguards until thread can be stopped.
2021-05-25 23:52:25 +03:00
Stelios Tsampas 1131edda20 Add selective downloads 2021-05-25 23:52:25 +03:00
Stelios Tsampas 5ccf73d737 Update install dialog and remove the extraneous install info dialog 2021-05-25 23:52:25 +03:00