1
0
Fork 0
mirror of synced 2024-06-02 02:34:40 +12:00
Commit graph

86 commits

Author SHA1 Message Date
loathingKernel 6b15c0f2cf
Store: Clean up store UI by using library widgets 2024-02-25 21:35:41 +02:00
loathingKernel f3d870cebb
ButtonLineEdit: Remove stylesheet, it doesn't seem to do anything 2024-02-24 13:12:00 +02:00
loathingKernel 5bf353ec37
Rare: Replace QToolButton with QPushButton
QToolButton is not really designed to be used in the way we did and since
QPushButton supports having a menu attached to, we can replace tool buttons
in most cases.

* Fix the presentation of the TabButtonWidget by updating RareStyle's css

* Reduce the size of the top tab bar to save vertical space.

* Remove infoLabel property
2024-02-21 20:25:03 +02:00
loathingKernel 7c3d5dc9e8 Library: Clean up how changing views works
* Pass python IntEnum objects instead ints for LibraryFilter/Order/View
  We only want to store them as integers to avoid QVariant gibberish

*
2024-02-12 21:52:08 +02:00
loathingKernel 0ef2497afb
QtRequests: Handle multiple requests concurrently and use caching
It is still junky but less so. It allows us to use QNetworkRequest's
caching mechanism instead of doing so on our own per-case.
2023-12-12 12:41:18 +02:00
lennard 9233c28e5b Update loading widget 2023-04-05 13:09:34 +02:00
loathingKernel 786fa2c59f
WaitingSpinner: center contents 2023-03-06 00:39:23 +02:00
loathingKernel 76a616615b Resources: Move some more stylesheets into the static CSS 2023-03-03 14:16:04 +02:00
loathingKernel e6c703f873 ExtraWidgets: Cleanup some code 2023-02-18 18:16:29 +02:00
loathingKernel dd6df40e40 ExtraWidgets: Remove SideTab widgets and update imports 2023-02-18 17:33:25 +02:00
loathingKernel 5938835249 ExtraWidgets: Remove IndicatorLineEdit and PathEdit and update imports 2023-02-18 17:29:41 +02:00
loathingKernel 2d0f7aa51d ExtraWidgets: Copy IndicatorLineEdit and PathEdit into their own file.
The new file is not used at the moment.
2023-02-18 16:40:30 +02:00
loathingKernel ecc1bd8d5c IndicatorLineEdit: Run edit callback function asynchronously
Execute the edit callback function in a thread. By executing it in a thread
we don't have to wait for longer validation procedures to finish to
continue updating the UI. This is most notable in the MoveGamePopUp
which is heavy on disk IO.

Because we cannot use special text formatting in a thread, the
indicator messages have been reworked while also becoming extensible.

A dictionary of extended reasons can be specified through the
`IndicatorLineEdit.extend_reasons()` method.

The dictionary has to follow the following format
```
python
{
	MyIndicatorReasons.REASON: self.tr("Reason message")
	MyIndicatorReasons.OTHER_REASON: self.tr("Other reason message")
}
```

In the above example `MyIndicatorReasons` is a subclass of `IndicatorReasons`
which should be specified as follows

```
python
MyIndicatorReasons(IndicatorReasons):
	REASON = auto()
	OTHER_REASON = auto()
```
2023-02-18 14:37:37 +02:00
loathingKernel 96c833be64 GameInfo: Fix list to boolean conversion
SideTabBar: Add padding option
2023-02-04 17:38:07 +02:00
loathingKernel a26b977bda Fix a few issues around refactoring the stylesheets.
Properly set object names for install and uninstall buttons in dialogs
Change margins on widgets that are put into scrollareas
Add top margin only on checkable QGroupBox
Remove padding from QToolBox
2023-02-04 17:38:07 +02:00
loathingKernel b0242106e7 SideTabContainer: Don't override QWidget::scroll() method
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
loathingKernel 6d41a1994f ExtraWidgets: Fix some typing and style issues
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2023-02-04 17:38:06 +02:00
Stelios Tsampas d5d795ce79 Paths: Query paths after the OrganizationName and ApplicationName have been set
At the point they were evaluated, `OrganizationName` and `ApplicationName` are unset
resulting in wrong paths. As a quick fix, explicitly set them to their later values
Per OS examples:
Windows:
	before:
		data: C:\Users\<user>\AppData\Local
		cache: C:\Users\<user>\AppData\Local\cache
	after:
		data: C:\Users\<user>\AppData\Local\Rare\Rare
		cache: C:\Users\<user>\AppData\Local\Rare\Rare\cache
2022-09-08 01:27:37 +03:00
loathingKernel afcdc1dea1 App: Move legendary initialization to the singleton
App: Move tray to MainWindow
Shared: Add destructor for singleton instances
2022-09-04 01:14:43 +03:00
loathingKernel 3ecbae0564 Utils: Rename utils.py to misc.py to not confuse PyCharm checker 2022-08-02 10:42:38 +03:00
loathingKernel 9e394f9981 GamesTab: Create methods for repeated widget removal and deletion code segments
HeadBar: Compact the headbar, re-use ButtonLineEdit from shop for the search function
SelectViewWidget: Remove content margins and make widget naming consistent

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-22 20:00:00 +03:00
loathingKernel 5eb3ae7f80 Add SlidingStackedWidget from #196 2022-06-22 16:53:26 +03:00
loathingKernel 08ab130c5c LibraryLayout from #196
Introduces the LibraryLayout from #196.
This layout distributes the available space in either horizontal side and in-between the widgets.

Known issues: When searching for a game, it will re-align visible widgets, effectively centering the results.
This is because the search and grouping functions are interleaved. #196 handles it differently by adjusting
the opacity and re-ordering of the irrelevant widgets.

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-20 19:04:46 +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
Stelios Tsampas 303bd0fd20 A bunch of minor UI fixes 2022-03-29 00:36:42 +03:00
Dummerle 7f44ca7985
Fix proton settings and bug in pre-launch 2022-03-22 21:48:20 +01:00
Dummerle 3c148d8093
Add wrapper for PahEdit edit function to accept "~" as $HOME 2022-03-21 23:00:33 +01:00
Dummerle d077e2bc24
Add pre_launch settings 2022-03-21 23:00:33 +01:00
Stelios Tsampas c70e9e9b02 Avoid making window smaller than horizontal contents 2022-03-18 19:36:47 +02:00
Stelios Tsampas cb852b6912 Align a bunch of stuff 2022-03-18 19:12:19 +02:00
Stelios Tsampas 717945d729 SideTabWidget: Add container widget with a title and a scrollarea as the master widget for each tab 2022-03-18 18:03:14 +02:00
Dummerle 66ae7c614f
Show wrapper widget for proton and mangohud with disabled button 2022-03-14 17:23:55 +01:00
Dummerle 2e6890bfd9
Move appdata paths to utils/paths.py to avoid crashes, if PyQt5 does not exist (deb workflow) 2022-02-17 00:04:53 +01:00
Dummerle 67b48d0725
Use QStandardPaths to get paths 2022-02-05 16:23:34 +01:00
Dummerle baa5df380b
Images from store are saved for runtime 2022-02-05 16:03:21 +01:00
Dummerle 25c04d2812
Add Reasons to IndicatorLineEdit as tooltip 2022-01-24 16:56:14 +01:00
Dummerle 0bc15be1f6
Fix Icon error for Ubuntu LTS, which uses QtAwesome 0.4.4 2022-01-05 15:44:29 +01:00
Stelios Tsampas 8f89eb6e88
Rare: pass through Black formatter 2021-12-27 00:37:13 +01:00
Dummerle c425775f28
Update to new QResource system 2021-12-09 21:59:07 +01:00
Stelios Tsampas 325e7df004
RareStyle: Add a background and a border to ease transition in the Main and Side tab bars. 2021-11-21 17:18:36 +02:00
Dummerle c99fd4761d
Add auto compute save path button 2021-11-17 23:02:35 +01:00
Dummerle b0125ba020
Many optimizations, bug fixes and other small fixes 2021-11-13 00:34:35 +01:00
Stelios Tsampas 96144d9da5
Use the tree view for the AppNameCompleter
* IndicatorLineEdit: Add hint label
* EGLSync: Send a list of app_names to update the game list.
* EGLSync: Show message with WINEPREFIX is unset in settings.
* WineResolver: Return empty string when WINEPREFIX is unset.
2021-11-13 00:34:33 +01:00
Stelios Tsampas 5a0646cb87
Add Completer for app_name in ImportGroup. 2021-11-13 00:34:33 +01:00
Stelios Tsampas 8805dd5325
Add path completer for PathEdit.
Doesn't enumerate hidden folders right now unless the RootPath is re-set (Through the browse button)
2021-11-13 00:34:33 +01:00
Stelios Tsampas d8f39857db
Add directory watcher to monitor egl_programdata folder for changes.
Clear known manifests when changing directory
Run egl_sync() after importing or exporting
Arrange Importable and Exportable lists vertically

Signed-off-by: Stelios Tsampas <loathingkernel@gmail.com>
2021-11-13 00:34:32 +01:00
Stelios Tsampas d0c676d44a
Disable irrelevant widgets depending on case in EGLSync 2021-11-13 00:34:32 +01:00
Stelios Tsampas 6c916803c8
Emit textChanged signal at the end of __edit in IndicatorLineEdit.
Fix indicator being always green at startup.
Cleanup the syntax of the RareStyle stylesheet.
2021-11-13 00:34:31 +01:00
Stelios Tsampas 7156490952
Add initial implementation of WineResolver
Remove borders from EGLSync lists.
Color install/uninstall buttons correctly in DLC tab
Adjust InstallDialog because the check function runs early now.
2021-11-13 00:34:31 +01:00
Dummerle 8e94f1d6f5
Fix wishlist, if empty 2021-11-07 01:19:37 +01:00