Commit Graph

219 Commits

Author SHA1 Message Date
Martin Wimpress bdb72e322e docs: update README 2024-06-28 16:59:09 +01:00
Martin Wimpress def50f53be fix: replace Divider() with Container() to prevent flickering
When the left_menu slides in from the left, the entire app window flickers and stutters.

The two `const Divider(),` references are the cause of this stuttering, so they have been replaced with `Container()`.
2024-06-28 16:40:04 +01:00
Martin Wimpress 029e098f4f style: make app name and version more prominent 2024-06-28 16:40:04 +01:00
Martin Wimpress d53d7b1177 refactor: cache supportedLocales in left_menu in initState() 2024-06-28 16:40:04 +01:00
Martin Wimpress 0490c83790 style: make theme switching inactive and enable light theme by default
Workaround for #144
2024-06-28 15:17:38 +01:00
Martin Wimpress 38055236d3 refactor: update nix flake to be consistent with other packaging 2024-06-28 14:41:10 +01:00
Martin Wimpress c534a8467c chore: remove old Makefile 2024-06-28 12:26:41 +01:00
Martin Wimpress d26b5035e0 ci: add building and pushing to PPA 2024-06-28 12:26:41 +01:00
Martin Wimpress 085081fd27 style: white space clean up 2024-06-28 12:26:41 +01:00
Martin Wimpress 9db8208755 docs: Use the same tagline in the README 2024-06-28 12:26:41 +01:00
Martin Wimpress e853e101ff chore: run quickgui icons & logos through optipng
`optipng -strip all -o7 *.png`
2024-06-28 12:26:41 +01:00
Martin Wimpress bee1a4ed37 refactor: make flutter_distributor packaging consistent with debian 2024-06-28 12:26:41 +01:00
Martin Wimpress 6bd84d57b5 feat: add initial debian packaging template; for PPA 2024-06-28 12:26:41 +01:00
Yannick Mauray 0ac635a1ca fix: more unlocalizable messages 2024-06-28 08:33:55 +01:00
Yannick Mauray 404579af36 fix: unlocalized messages (and wrong filename) 2024-06-27 23:02:43 +01:00
Martin Wimpress 2b9af064e1 feat: add alacritty to the list of support terminals 2024-06-27 12:44:19 +01:00
Martin Wimpress 7e342008c7 fix: find supported terminal on operating systems other than Debian. closes #61
The implementation of `_getTerminalEmulator` is specific to Debian-based systems, as it relies on the `x-terminal-emulator` symbolic link. This link does not exist on other Linux distributions or on macOS.

This patch first tries to find the `x-terminal-emulator` symbolic link. If it doesn't exist or returns an empty string, it then iterates over a list of supported terminal emulators and uses the `whichSync` function to check if they exist in the PATH. It sets `_terminalEmulator` to the first terminal emulator it finds in the PATH.
2024-06-27 12:44:19 +01:00
Martin Wimpress e0221d3393 fix(nix): update window_size hash 2024-06-26 19:40:30 +01:00
Martin Wimpress 4ea949572a ci: add test build with nix 2024-06-26 19:40:30 +01:00
Martin Wimpress c4889f9806 fix(nix): correctly derive version number and use cleanSource 2024-06-26 19:40:30 +01:00
Martin Wimpress e4f75d3088 chore: update pubspec.lock.json 2024-06-26 19:40:30 +01:00
Martin Wimpress b815f04f28 style(pubspec): order dependencies 2024-06-26 19:40:30 +01:00
Martin Wimpress 6f4de952ec chore(pubspec): update window_size to current git 2024-06-26 19:40:30 +01:00
Martin Wimpress 3a2f69bb71 chore(pubspec): update gettext_i18n to ^1.0.5 2024-06-26 19:40:30 +01:00
Martin Wimpress f4559125c5 chore(pubspec): update url_launcher to ^6.3.0 2024-06-26 19:40:30 +01:00
Martin Wimpress b3c6372fdc chore(pubspec): update desktop_notifications to ^0.6.3 2024-06-26 19:40:30 +01:00
Martin Wimpress 591c89ff02 chore(pubspec): update provider to ^6.1.2 2024-06-26 19:40:30 +01:00
Martin Wimpress e56655cd4d chore(pubspec): update shared_preferences to ^2.2.3 2024-06-26 19:40:30 +01:00
Martin Wimpress c51938c1be chore(pubspec): update tuple to ^2.0.2 2024-06-26 19:40:30 +01:00
Martin Wimpress 097b329049 chore(pubspec): update quiver to ^3.2.1 2024-06-26 19:40:30 +01:00
Martin Wimpress e5a9922b45 chore(pubspec): update cupertino_icons to ^1.0.8 2024-06-26 19:40:30 +01:00
Martin Wimpress 305a3c9105 style: make app report as Quickgui in the menu 2024-06-26 19:40:30 +01:00
Martin Wimpress 035b2b7683 chore: bump version to 1.2.9.+1 2024-06-26 19:40:30 +01:00
Martin Wimpress 841fc5dee8 chore: temporarily force light mode
Dark mode doesn't render some icons correctly at the moment and in an effort to get an update Quickgui release out light mode the temporarily the only theme.
2024-06-26 17:52:48 +01:00
Martin Wimpress a8ada5a40a refactor: adapt parseWgetProgress to parseCurlProgress
Since Quickemu 4.9.3 quickget downloads everything except Ubuntu daily images with curl, via the web_get() function internal to quickget.

This change adapts the progress parsing to curl's progress output and accounts for a bug in quickget where it stopped reporting if wget/curl is the external download tool.
2024-06-26 17:32:44 +01:00
Martin Wimpress 7a21dd2898 chore: drop parseAriaProgress 2024-06-26 17:32:44 +01:00
Martin Wimpress 9d596b6acc chore: drop parseMacRecoveryProgress 2024-06-26 17:32:44 +01:00
Martin Wimpress f0f02030cc refactor: update loadOperatingSystems to use quickget --list-csv
- Close #124

`quickemu list_csv` is deprecated and `quickemu --list-csv` provide the same functionality.
2024-06-26 17:32:26 +01:00
Martin Wimpress 0d9b87fb0c
ci: add publish-flakehub 2024-06-26 14:47:20 +01:00
Martin Wimpress 778fa3f348 fix: add pubspec.lock.json; required for package.nix 2024-06-26 14:39:56 +01:00
Martin Wimpress 1605c162cf feat: add nix flake
Adds Nix flake that provides a devshell and package. flutter version dropped to 3.22.0 in pubspec.yaml to match what Nixpkgs 24.05 provides.
2024-06-26 14:36:53 +01:00
Martin Wimpress d4893b5d2c feat: add flutter_distributor
This adds flutter_distributor to build AppImage, deb, rpm and zip for Linux x86 when a new release is tagged.

- Close #97
- Close #90
2024-06-26 09:39:21 +01:00
Martin Wimpress 38e0a833ad style: correct version in pubspec to adhere to Flutter conventions 2024-06-25 19:30:46 +01:00
Martin Wimpress dad70f24f6 ci: update flutter SDK to >=3.2.0 <4.0.0 2024-06-25 19:30:46 +01:00
Martin Wimpress d7f962fe4c fix(ci): drop intl from pubspec; use pinned intl from flutter SDK
This fixes the following CI failure:

```
Note: intl is pinned to version 0.18.1 by flutter_localizations from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.
Because every version of flutter_localizations from sdk depends on intl 0.18.1 and quickgui depends on intl ^0.19.0, flutter_localizations from sdk is forbidden.
So, because quickgui depends on flutter_localizations from sdk, version solving failed.
```
2024-06-25 19:30:46 +01:00
Martin Wimpress ce91d6be86 ci: add workflow to build quickemu 2024-06-25 19:30:46 +01:00
Martin Wimpress 9ce72cd495 ci: add dependabot 2024-06-25 19:30:46 +01:00
Mark Johnson 3c23106d32 Improve OS loading
Rather than waiting for the OS list to load, when the app starts, the
loads them in the background, and only waits if we reach the list of
available downloads without them loaded yet. In this case, we use a
FutureBuilder to display a loading spinner until the list is ready.
2024-06-25 15:25:18 +01:00
Mark Johnson 208d4f8dc9 Fix icon loading
This fixes the loading of OS icons so they are correctly replaced with a
generic computer if no matching icon is found.

It also centralises the loading process so it happens once during app
initialisation, and displays the corresponding icon next to each VM on
the manager screen.
2024-06-25 15:25:18 +01:00
Mark Johnson d3fe2c8c4f Make proper use of Material3 colour schemes.
This is a big improvement over what we had before and relies on the
theme to provide dark mode rather than manually checking brightness each
time we pick a colour.

The buttons in the primary container aren't quite right, I'm not sure
why.
2024-06-25 15:25:18 +01:00