1
0
Fork 0
mirror of synced 2024-06-28 19:21:05 +12:00
Commit graph

347 commits

Author SHA1 Message Date
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 4951743bbf ConfigHelper: Protect name space from globals 2022-09-02 17:53:56 +03:00
loathingKernel b15a5b7007 Fix game launching if compiled with Nuitka 2022-08-18 02:24:51 +03:00
loathingKernel 50a37be433 DownloadsTab: Remove dead code 2022-08-17 23:46:10 +03:00
loathingKernel 5e022e6d28 Lgndr: Rename a few fields to reflect legendary's names 2022-08-08 21:06:58 +03:00
loathingKernel 3ee789a695 Update DownloadThread 2022-08-03 02:33:50 +03:00
loathingKernel 38dfdc8bc2 Lgndr: Remove LegendaryCLISingleton
Since `LegendaryCLI` isn't stateful, we can instantiate
it when needed
2022-08-02 10:42:38 +03:00
loathingKernel 5ac71e99f0 DownloadThread: Use clean_post_install instead of local copy
InstallDialog: Handly empty `config_tags`
Lgndr: Cleanup
2022-08-02 10:42:38 +03:00
loathingKernel e5c7b029ff GameInfo: Offer to also update the game after a verification if there is one 2022-08-02 10:42:38 +03:00
loathingKernel 785aaf648e GameInfo: Detect repair_and_update requirement
If a game was partially installed and it was imported
through the import functionality, if `repair_and_update`
is specified it will report `0` download size if there
is no real update to be done. Fix it by detecting the
need for an update explicitly.

This will also force games that have failed verification
to also update while repairing them, fixing the
long-standing issue of repairing an older version of a
game and then doing the update in a separate step.
2022-08-02 10:42:38 +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 f51563ea93 Models: Move installation related models into their own file 2022-08-02 10:42:38 +03:00
loathingKernel ee5adce18b Implement LgndrIndirectLogger to return the last logged message from LegendaryAPI
The indirect return is stored in a `LgndrIndirectStatus` object that provides checking and unpacking features

Lgndr: `LgndrInstallGameArgs.install_tag` default to None
Lgndr: add default `move` method.
Lgndr: monkeypatch `dlm.status_queue` after preparing a download to reduce `InstallQueueItemModel`
InstallOptionsModel: implement `as_install_kwargs` to pass only relevant arguments to `LgndrInstallGameArgs` in InstallDialog
InstallOptionsModel: rename `sdl_list` to `install_tag` as they were the same thing
LegendaryUtils: Update to use `LgndrIndirectStatus`
UninstallDialog: Add option to keep configuration decoupled from keeping game data
GameUtils: Add messagebox to show error messages from legendary after uninstalling a game
InstallDialog: Update to use `LgndrIndirectStatus`
InstallDialog: Update selectable download handling to match legendary's
DownloadThread: Remove multiple instance variables, instead reference them directly from `InstallQueueItemModel` instance
ImportGroup: Replace `info_label` with an `ElideLabel` for displaying long messages
ImportGroup: Don't translate message strings in the `ImportWorker`
GameInfo: Call `repair()` if needed after verification instead of handling it locally
GamesTab: Fix string matching for capitalized strings and scroll to top on when searching
2022-08-02 10:42:38 +03:00
loathingKernel 28531eec38 Lgndr: Add logger monkey class
The class acts as an intermediate between the logger and the function call
It keeps the last message that was sent to the logger. The instance of the
class can be returned as a return value from the LegendaryCLI methods to
provide return status and the message related to it.

The level at which it considers the logged message as an error is configurable.
By default it considers logging.ERROR and above as faulty return values
2022-08-02 10:42:38 +03:00
loathingKernel bbaff5f42c Lgndr: Add re-implemented uinstall_game
Lgndr: Change the exception level to CRITICAL for core
LegendaryUtils: Use uninstall_game from our Lgndr
UninstallDialog: Update to return a tuple of values
App: Keep files if the install directory was lost
App: Run legendary's exit procedures on exit
2022-08-02 10:42:38 +03:00
loathingKernel 9df3355200 LegendaryUtils: Remove dead re-implemented functions 2022-08-02 10:42:38 +03:00
loathingKernel b4a1efa357 Lgndr: Add 'repair_and_update' argument in InstallOptionsModel 2022-08-02 10:42:38 +03:00
loathingKernel 3aae3887f6 Lgndr: Create argument models for consistent function arguments and cleaner implementation.
Lgndr: Prefix files that aren't part of legendary with 'api_'
Lgndr: Return statistics from 'verify_game' instead of parsing the exception
VerifyWorker: Add 'error' signal for exceptions.
2022-08-02 10:42:38 +03:00
loathingKernel 197f915fb3 InstallOptionsModel: Rename fields to use the same names as Legendary's arguments 2022-08-02 10:42:38 +03:00
loathingKernel 883bd268ff Mirror Legendary classes structure in the shim.
Lgndr: Move code segments copied from `prepare_download` back to their original location in `install_game`
Lgndr: Add the LgndrLogHandler at initialization instead of every function.
Lgndr: Move `verify_game` to its original place in `LegendaryCLI`
Lgndr: Change the way DLManager is patched into LegendaryCore proper
Shared: Add singleton for LegendaryCLI, LegendaryCoreSignleton returns core from LegendaryCLI
VerifyWorker: Update to use `verify_game` from `LegendaryCLI` directly
PreLaunchThread: Initialize LegendaryCLI to get LegendaryCore from it
InstallDialog: Update `prepare_install` argument names
2022-08-02 10:42:38 +03:00
loathingKernel 82015f21d4 Fix ordering in InstallDownloadModel to match prepare_download 2022-08-02 10:42:38 +03:00
Dummerle 2f43431589
Do not remove config, when deleting a game, but keep files 2022-07-01 17:42:41 +02:00
aznd 576b4571cf Fix get_rare_executable func for macOS 2022-06-27 16:53:19 +02:00
aznd 19ac7e6c50 Don't double delete the dir 2022-06-26 17:27:35 +02: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
loathingKernel 6335293eef Add ImageWidget and LibraryWidget from #196
Add the Image and Library widgets from #196. In this iteration they replace the image `QLabel` in the existing widgets.

The `PaintWidget` in the `InstallingWidget` has been replaced by the future `LibraryWidget` that has progress indication.

The `ImageWidget` was also used to replace the image `QLabel` in `GameInfo` and `GameDlc` widgets.

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-19 20:42:49 +03:00
loathingKernel 3a28f2f0a2 Implement image manager
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-19 17:12:59 +03:00
Dummerle 7073a6ad7a
Merge pull request #212 from loathingKernel/theming
Split resources into base and themes to make diffs lighter
2022-06-19 00:49:14 +02:00
loathingKernel 99f3303db1 Resources: Split stylesheets from base resources
Stylesheets: Each stylesheet specifies its own resources file

Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
2022-06-19 00:01:56 +03:00
Dummerle 37ae6e2b6e
Fix most errors 2022-06-18 13:25:39 +02:00
Dummerle 4d441c4068
Integrate helper with rare to launch games 2022-06-13 22:59:34 +02:00
Dummerle 54f82aa4b5
Basic working helper process 2022-06-13 22:59:34 +02:00
Dummerle 9bfa841ef5
Add game helper to launch games in a detached process 2022-06-13 22:59:34 +02:00
Dummerle feb45afc47
Fix eos overlay bug not showing installed correct 2022-06-13 21:37:26 +02: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 afc919421c
Do not run test workflow on every commit + fix small desktop link on windows 2022-04-26 21:13:37 +02: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
Dummerle 48562f6527
Use pathlib for resources path, to fix FileNotFoundError 2022-04-10 14:24:41 +02:00
Dummerle 0bb74197ce
Remove version and codename from paths.py 2022-04-04 23:25:38 +02:00
Dummerle 5b8bb411ee
Don't create resources folder in paths.py 2022-04-04 23:21:23 +02:00
Dummerle 97214d5267
Optimize steam grades 2022-04-04 21:02:01 +02:00
MultisampledNight e234656951
Use QStandardPaths everywhere needed 2022-03-31 21:58:18 +02:00
MultisampledNight a73fb2e01b
Merge create_desktop_link and Rare's version 2022-03-31 21:58:18 +02:00
MultisampledNight 30361eb4bb
Use QStandardPaths instead of guessing ~/Desktop 2022-03-31 21:58:15 +02: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 b996aac3f7
Fix Wine Resolver, mangohud, pre launch, 2022-03-21 23:01:55 +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 36e84bce9f
Fix Discord RPC 2022-03-14 17:23:52 +01:00
Dummerle f081f3943d
Fix bug with "%" in lineedits 2022-03-14 17:23:52 +01:00
Stelios Tsampas d6ef44b2f9
Rare: Implement global objects as functions that return a single instance 2022-02-25 20:22:45 +02:00
Zhao Zuohong 5346372def add "Categories=Game;" in desktop entries 2022-02-17 19:32:03 +08: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 e916301999
Add config_helper.py to automatically check sections and options 2022-02-05 14:48:50 +01:00
Dummerle 8f83b4adde
Add download option to create a shortcut after installation 2022-02-04 22:15:32 +01:00
aznd 9b59707a10
Unify strings formatting (#158)
* Part 1: Unifying strings

* Part 2: Unifying strings

* Part 3: Unifying strings

* Fix missing close bracket

* Remove unneeded str()
2022-02-01 22:29:34 +01:00
KovvalskiX a341bc7ac9 Got colors working 2022-02-01 05:43:43 +03:00
Dummerle b13daed37a
Add some checks, if no wine prefixes exist and update prefixes, when changing in linux settings 2022-01-24 16:56:15 +01:00
Dummerle 45163eafb5
Fix startup_check and verification 2022-01-24 16:56:14 +01:00
Dummerle 25c04d2812
Add Reasons to IndicatorLineEdit as tooltip 2022-01-24 16:56:14 +01:00
Dummerle a4ac523406
Get default base_path in install_dialog.py 2022-01-24 16:56:13 +01:00
Dummerle 0cea43f0d1
Add Epic Overlay Settings in Legendary Settings + Update Legendary submodule 2022-01-24 16:56:12 +01:00
Dummerle 662c8ed04c
Add link text to browser login 2022-01-23 01:03:56 +01:00
Dummerle a9eca719ba
Save version in title of Unreal Engine 2022-01-08 17:44:37 +01:00
Dummerle 92c6f77c37
Add support for unreal engine 2022-01-07 00:16:06 +01:00
Dummerle 6f99c22a72
Merge pull request #154 from Dummerle/game_meta
Save last played time and add quick launch for tray icon
2022-01-06 18:27:37 +01:00
Dummerle 0bc15be1f6
Fix Icon error for Ubuntu LTS, which uses QtAwesome 0.4.4 2022-01-05 15:44:29 +01:00
Dummerle eb8ce30169
Save last played and add quick launch for tray icon 2022-01-02 22:52:43 +01:00
Stelios Tsampas 8f89eb6e88
Rare: pass through Black formatter 2021-12-27 00:37:13 +01:00
Dummerle 90e27bc5f2
Update translation and fix bug if desktop directory not exists 2021-12-19 00:27:11 +01:00
Dummerle bab0659e12
Remove languages from qresources 2021-12-10 20:05:51 +01:00
Dummerle c425775f28
Update to new QResource system 2021-12-09 21:59:07 +01:00
Dummerle e370841532
Fix many bugs:
- launch command
- offline mode
- shop search results shows more than 1 game
2021-12-09 20:03:34 +01:00
Dummerle ea0c153a23
Show error message after error occurred in verification 2021-12-05 20:57:51 +01:00
Dummerle a9ce9df758
Fix Show an error message after import failed. Fix DLC error 2021-12-05 19:47:06 +01:00
Dummerle 026d5374a3
Add Multiplatform support for MacOS and Win32 2021-12-05 19:47:03 +01:00
Dummerle 31932aa8a0
Fix installing game widget, which displays progress wrong; update get_uninstalled_pixmap() 2021-12-01 20:14:41 +01:00
Dummerle 1abcf16583
Add update in dl tab, when imported game, with available update 2021-11-30 23:15:00 +01:00
Dummerle bd0802e4be
Get some requests from image worker, to avoid same request twice 2021-11-30 20:32:45 +01:00
Dummerle 8d4f25b8c2
More Fixes and cleanup:
- downloads: fix delete_later() and set installed widget and dl progress on same value
- about: use qt requests, to avoid long startups
- fix offline mode bugs
- set TextLabels in Store invisible
- fix origin launch
- remove unused files
2021-11-28 00:50:02 +01:00
Dummerle 0c5bd642e3
More fixes:
- remove widgets in dl tab after uninstalling
- fix verification error: worker was not started
2021-11-22 20:09:05 +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
Stelios Tsampas 26bbdf1c0e
RareSettings: Reload themes dynamically on selection
It is a unpolished but it serves well as a way to preview the theme.
Awesome font icons are not re-rendered in the correct colors.
Some styles might look a bit broken until restart.
2021-11-21 17:18:36 +02:00
Stelios Tsampas c952c978af
WineResolver: Check if winepath exists along with wine because Proton doesn't ship it 2021-11-21 17:18:36 +02:00
Dummerle f5f1a889c6
Fix many bugs: store, game launch with confirmation; changed some info to debug logs; regenerate placeholder.ts 2021-11-19 23:58:07 +01:00
Dummerle efa4722475
some translation fixes 2021-11-17 23:02:37 +01:00
Dummerle 3acc13e9b6
Many fixes 2021-11-17 23:02:36 +01:00
Dummerle 3225d1b1eb
Update savepath on button click 2021-11-17 23:02:36 +01:00
Dummerle c99fd4761d
Add auto compute save path button 2021-11-17 23:02:35 +01:00
Dummerle 9bfb9ede76
Update SaveGameFiles after uploading saves 2021-11-17 23:02:35 +01:00
Dummerle 65f85f9b3d
Add game_utils.py to launch and uninstall games
-  All game launch and sync save mechanic is now in game_utils.
- some cleanup
2021-11-17 23:01:22 +01:00
Dummerle 8b8c3a1f64
Rebasing cloud_save_update with main 2021-11-17 22:59:28 +01:00
Dummerle b0125ba020
Many optimizations, bug fixes and other small fixes 2021-11-13 00:34:35 +01:00
Dummerle 4eae77ffff
Add update manifest function and remove os.makedirs from proton_prefix_edit 2021-11-13 00:34:35 +01:00
Stelios Tsampas 509b435b1d
WineResolver: Do not fallback to PWD in non-existing paths 2021-11-13 00:34:34 +01:00
Stelios Tsampas 3f9d82433c
WineResolver: Also check if prefix path exists 2021-11-13 00:34:34 +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
Dummerle 8627484097
update_list() in games/__init__.py takes now a list of app_names, to update multiple games at same time
- verification signal is now connected
- signals are more consistent. Taking app_names instead of Game Models
2021-11-03 18:33:01 +01:00
Dummerle fb74a83044
Fix gamelist filter, Fix steam_grade update, if offline 2021-11-01 21:11:37 +01:00
Stelios Tsampas 35240bcd6a
WineResolver and PathSpec (#117)
Add it, but not use it
2021-10-24 21:23:31 +02:00
Dummerle 9b1c068a07 Reload Uninstalled image when installed image reloaded 2021-10-15 00:15:49 +02:00
Dummerle a5f26c8a23 Rename shared.legendary_core to core 2021-10-14 23:18:13 +02:00
Dummerle 4f25fd8a20 Update new Signal System 2021-10-14 23:05:00 +02:00
Stelios Tsampas fd30d07d33 Add SideTabWidget to unify tab on the side functionality
Adjust GameInfoTabs, UninstalledInfoTabs, SettingsTab
2021-10-11 20:42:59 +03:00
Dummerle c9b9ab6814 Fix some typing errors for python 3.8 2021-10-10 22:08:31 +02:00
Stelios Tsampas e029ceae99 Add minimum size for PathEdit despite horizontal size policy 2021-10-10 20:47:26 +03:00
Stelios Tsampas b7edcc062b Rename debug and RPC files for less verbosity
Rename `get_possible_langs` to `get_translations`
2021-10-10 20:47:26 +03:00
Stelios Tsampas c1e750138f Add IndicatorLineEdit and base PathEdit on it. 2021-10-10 20:47:19 +03:00
Dummerle 3635ace3b5 Fix cut font in SideTabBar 2021-10-08 22:02:11 +02:00
Dummerle 3796db83c1 Fix updates; Fix dlc tab; Fix Game list update 2021-10-07 19:42:27 +02:00
Dummerle df7964a79f Move api requests to login dialog 2021-10-03 21:29:33 +02:00
Dummerle 0324202d9f Update Legendary 2021-10-03 19:37:46 +02:00
Dummerle 4b5a0b0084 Add a new signal system 2021-09-29 23:22:47 +02:00
Dummerle a143971385 Update Games list to ui file 2021-09-26 16:43:56 +02:00
Dummerle 9a04bd519f Fix bug, if image is corrupt 2021-09-19 23:14:38 +02:00
Dummerle e79bee57c0 Some fixes for pylint and workflow 2021-09-18 17:21:43 +02:00
BuildTools 740153bd0d Fix create startmenu/desktop link 2021-09-18 16:34:43 +02:00
Dummerle 1bb33d911c You can now launch and link origin games 2021-09-13 22:27:37 +02:00
Dummerle bb4f08691a Fix set locale to legendary locale + reformatting 2021-09-13 20:24:09 +02:00
Dummerle 152c1a326d Some fixes in shop: Images, try/except 2021-09-12 21:38:48 +02:00
Dummerle 18570511c4 Remove save button at PathEdit. Save on change 2021-09-09 20:00:12 +02:00
Dummerle 7f64e1e494 Fix borked from steam grades 2021-09-09 20:00:12 +02:00
Dummerle d11cc7abf3 add legendary submodule and rename custom_legendary to legendary in imports 2021-09-06 21:10:18 +02:00
Dummerle 5f0e918323
Merge branch 'main' into dev 2021-09-05 22:00:14 +02:00
Dummerle 925127e9c5 Change order of desktop shortcuts 2021-09-05 12:30:33 +02:00
BuildTools f278a29c32 Fix .msi file and remove macos .app file, because is did not work 2021-09-05 00:54:43 +02:00
Dummerle f7f7f83101
Merge branch 'main' into dev 2021-09-04 22:49:08 +02:00
Dummerle b8be750c6c Add non asset games in gamelist 2021-09-01 19:41:01 +02:00
Dummerle b799241357 Fix Space bug in Icon layout; Remove config sections on uninstall; Remove unused Widget 2021-08-30 15:14:40 +02:00
Dummerle c2ae188745 Fix color of icons 2021-08-28 20:03:25 +02:00
Dummerle 83ad8f0982 Icon color depends on theme 2021-08-28 16:01:36 +02:00
Dummerle b3cc412142 Add an installing game widget to icon list 2021-08-28 00:16:17 +02:00