Commit Graph

313 Commits

Author SHA1 Message Date
kramo
dbe00c5f90 v1.2.1 2023-03-30 22:20:05 +02:00
kramo
7a3019775c Fix Heroic Linux/Windows bug 2023-03-30 22:07:48 +02:00
kramo
ef509f2eb0 Fix details window height - fixes #43 2023-03-30 21:39:14 +02:00
kramo
d5fa2a0dba v1.2 2023-03-30 18:31:27 +02:00
kramo
61ef02cc7a Add option to remove all games 2023-03-30 16:22:58 +02:00
kramo
bf2a500d5e Fix import reporting incorrect number of games 2023-03-30 13:43:26 +02:00
kramo
dad4905753 Cleanups 2023-03-29 23:02:10 +02:00
kramo
4d99f80ff7 Create ImportPreferences class for future use 2023-03-29 19:27:06 +02:00
kramo
0a943d4259 Add warnings for non-existent launcher directories 2023-03-29 16:20:08 +02:00
kramo
f17663323d Update translation files 2023-03-29 08:17:47 +02:00
kramo
eca96d8a5a Update translation files 2023-03-29 08:15:56 +02:00
kramo
d4e6423bd5 Update translation files 2023-03-29 08:09:04 +02:00
kramo
17a6a53fd2 Use Adw.ExpanderRows for import sources 2023-03-29 07:59:02 +02:00
kramo
c1abed8af6 UX improvements 2023-03-29 00:55:18 +02:00
kramo
643ca368a6 Unify games import 2023-03-29 00:23:23 +02:00
kramo
3f4443d703 Update copyright 2023-03-26 20:17:39 +02:00
kramo
9aea8cc089 Black formatting 2023-03-26 20:14:18 +02:00
K.B.Dharun Krishna
f5acf6d256 revert: main.py release notes change 2023-03-26 23:40:41 +05:30
K.B.Dharun Krishna
95cf7ed691 Add release notes, fix Tamil translation
Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
2023-03-26 23:21:07 +05:30
kramo
33a6efc02b v1.1 2023-03-26 13:15:51 +02:00
kramo
7200d45303 Added comments for translators 2023-03-26 11:53:37 +02:00
kramo
228db1b2f0 Add option to launch games by clicking cover 2023-03-26 11:04:40 +02:00
kramo
a1bf94904c Add option to save game covers losslessly 2023-03-25 19:53:41 +01:00
kramo
500d02b62d Fix typo in function name 2023-03-25 15:47:17 +01:00
Bananaman
732bb77192 Refactor game launching, and fix Windows support
The function was getting a bit convoluted to follow, and there was a maintenance burden of having to remember that "shell=True" should only be true if the argument is a single string to be passed exactly as-is to the shell. If it's a list, only the first value in the list would be ran as the shell command and the rest would be given as arguments to the shell itself.

Therefore, it's been refactored to automatically determine shell-mode based on whether "args" is a list or a string.

On Windows, we now generate a correctly escaped shell-string via "shlex". This ensures that we properly support spaces inside quoted launch arguments, by auto-escaping them on a per-argument basis.

The extra pylint hint is needed because the import is detected as unused on non-Windows machines.
2023-03-25 14:29:28 +01:00
kramo
cb6fde38ef v1.0 2023-03-25 11:24:35 +01:00
kramo
716051d826 Fix games not launching on Windows 2023-03-25 11:09:12 +01:00
kramo
65357bdc41 UX improvements 2023-03-25 08:36:13 +01:00
kramo
030c220d7e Cleanups 2023-03-25 00:50:17 +01:00
kramo
41c97e1af7 Move menu models to the game class 2023-03-25 00:14:37 +01:00
kramo
2f869a91ea Add Bananaman to credits 2023-03-24 23:36:47 +01:00
kramo
b65bab3528 Move toggle_hidden into the game class 2023-03-24 23:26:36 +01:00
kramo
ecceaabff1 Move run_command into the game class 2023-03-24 23:21:50 +01:00
kramo
6b103c996b Remove redundant get_cover function 2023-03-24 23:09:56 +01:00
kramo
fc2932f7dd Cleanups 2023-03-24 22:56:12 +01:00
Bananaman
973ec01b38 Cleanup: Remove pointless calls to close()
Since "with open()" automatically closes the files anyway.
2023-03-24 22:37:01 +01:00
Bananaman
214687c9ce Cleanup: Remove backwards-compatible code
Since we aren't interested in backwards compatibility this early in development, let's remove those code chunks to keep the code shorter.
2023-03-24 22:35:55 +01:00
Bananaman
703c65395c Improved game executable launcher, and added argument validation
Now uses proper shell escaping and parsing for all executable arguments, for more robust game launching. All existing game JSON files with the old string values will automatically be converted to the new format on app launch. The executable parsing uses the "shlex" library, which guarantees accurate parsing.

We now also use direct process launching (without any intermediary shell) by default, but the old "shell"-based launch method still exists in the code via an alternative flag in `run_command.py` (if we ever need to restore it for some reason).

Furthermore, if the user attempts to manually write an improperly escaped argument into the game's details (such as missing closing quotation marks), the GUI will now alert the user that their executable argument is invalid, along with telling them the exact reason why it's invalid.
2023-03-24 22:03:39 +01:00
Bananaman
eda22c7ea7 Move game data JSON formatter to re-usable location 2023-03-24 22:03:39 +01:00
kramo
bbf3703229 Cleanups 2023-03-24 21:53:55 +01:00
kramo
06550c0138 Fix heroic image string 2023-03-24 21:17:07 +01:00
kramo
4401378ce3 Use fstrings consistently 2023-03-24 21:07:08 +01:00
kramo
a665241d76 Disable some pylint warnings 2023-03-24 20:29:36 +01:00
Domenico
053d5791a4 Refactory of the code (#19)
* Refactory of the code

* Autoformatting with black

---------

Co-authored-by: Domefemia <domefemia@hotmail.com>
2023-03-24 20:26:55 +01:00
kramo
8ddf609815 Use shlex for escaping quotes 2023-03-24 17:54:14 +01:00
kramo
51c500a7aa Proper escapes for Bottles executables 2023-03-24 17:31:08 +01:00
kramo
863a5e6eb5 Fix import from Heroic if no Epic games 2023-03-24 17:02:46 +01:00
kramo
d5a640bd0b Add progress bar + fix race condition 2023-03-24 14:07:16 +01:00
kramo
67c1b25429 v0.1.4 2023-03-22 17:35:56 +01:00
kramo
b281a4bd0d Cleanups 2023-03-22 08:36:37 +01:00