1
0
Fork 0
mirror of synced 2024-06-26 10:11:19 +12:00
Rare/rare/components/tabs
loathingKernel 0ea4b1a824 Dialogs: Re-implement all dialogs on top of a few common super-classes
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.
2024-02-12 21:52:07 +02:00
..
account AccountWidget: Use ExitCodes enum everywhere instead of magic values 2023-12-10 14:22:28 +02:00
downloads Various WIP 2024-02-12 21:52:07 +02:00
games Dialogs: Re-implement all dialogs on top of a few common super-classes 2024-02-12 21:52:07 +02:00
settings Dialogs: Re-implement all dialogs on top of a few common super-classes 2024-02-12 21:52:07 +02:00
store Shop: Rename module to store 2023-12-12 13:02:07 +02:00
__init__.py Shop: Rename module to store 2023-12-12 13:02:07 +02:00
tab_widgets.py MainTabWidget: Use returned indices instead of hard-coding disabled tabs 2023-02-06 09:19:31 +02:00