Commit Graph

66 Commits

Author SHA1 Message Date
Martin Wimpress 679f5c3523 fix: check for running VM processes using kill -0 2024-07-03 13:01:03 +01:00
Martin Wimpress dbc5e3f551 feat: kill VMs using quickemu --kill when running quickemu >= 4.9.6 2024-07-01 01:52:58 +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 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
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
Mark Johnson 3d89d73af1
Switch manager to use process_run for shell commands
process_run provides a nice wrapper for which, and shows the command an
output in the debug log so provides easier debugging of issues invoking
external commands.
2024-06-13 16:07:49 +01:00
Mark Johnson b1350b825f
Fix deprecations and code style 2024-06-13 16:07:48 +01:00
codseus 245c1f5251
Updated deprecated code, added check for svg files, fixed visibility of buttons in download page 2024-06-13 16:07:48 +01:00
Luke Wesley-Holley 85881ab404
Update icons (#86)
* Update icons

* Add icons
2022-11-21 14:41:07 +01:00
Yannick Mauray 9e55104f71
feat: added a textfield to search the version of an operating system 2022-11-11 15:49:25 +01:00
Yannick Mauray 60b96496f2
feat: make the directory where machines are stored more obvious 2022-11-11 15:47:58 +01:00
Yannick Mauray bba41d6938
fix: detect if quickemu is insalled 2022-11-07 22:31:45 +01:00
Yannick Mauray f23dae3118
Fixed : notification text. 2022-02-24 23:40:55 +01:00
Yannick Mauray 42b38412a9
Compatibility with aria2c 2022-02-24 23:26:15 +01:00
Yannick Mauray 684a939cf7
Code cleanup 2022-01-04 01:34:07 +01:00
Yannick Mauray 0837bf9d80
Source code formated at 80 columns. 2021-12-21 22:17:04 +01:00
Yannick Mauray 101b6f1dc7
Added : distro icons in the download manager. 2021-12-19 01:16:05 +01:00
Yannick Mauray eedd30a5c8
Fixed : missing padding 2021-12-19 01:11:09 +01:00
Mark Johnson 4b515ef6c8 Check for supported terminal emulators before activating SSH button. 2021-12-15 21:57:49 +00:00
Mark Johnson 0c2c15481a Support more terminal emulators 2021-12-15 21:37:58 +00:00
Ben Hall 35f11fbf67
Simple check for negative process.exitCode when active download is cancelled re #41 (#42)
* slight improvements to italian

* some corrections thanks to Alessandro Volturno

* consistently dithering is better than inconsistency

* Simple check for negative process.exitCode when active download is cancelled re #41

* added cancel download to pot

* Suggested translations added to existing lanquages

* First addition missed the italian evolution

Co-authored-by: Phil Clifford <philip.clifford@gmail.com>
Co-authored-by: Yannick Mauray <yannick.mauray@gmail.com>
2021-12-09 21:42:42 +01:00
Ben Hall 4c17797603
Added check for ports file when launching a new VM re #28 (#29) 2021-11-15 22:56:49 +01:00
Yannick Mauray bd1fa1b937
Fixed various i18n issues 2021-11-14 21:58:37 +01:00
Yannick Mauray 62d4049710
Formatting issues 2021-11-14 21:31:51 +01:00
Yannick Mauray 533742f41f
Changed : using gettext_i18n instead of embedding the code. 2021-11-14 21:31:26 +01:00
Yannick Mauray fb22a0b2d1
Improved i18n 2021-11-14 12:38:46 +01:00
Mark Johnson 4a50904f87 Improve consistency of VM manager buttons. 2021-11-13 22:59:27 +00:00
Mark Johnson e078126b22 Always launch VMs with --display spice, if the spicy client is available. 2021-11-13 22:54:53 +00:00
Mark Johnson fcf1ab92f0 Add button to launch SSH session 2021-11-12 23:07:14 +00:00
Mark Johnson f93ae4bfe3 Add button to connect to running VM with spicy. 2021-11-12 22:34:06 +00:00
Dani Llewellyn 2008115558
Use local imports, not package imports for our own files (#18)
Following best practice from https://dart.dev/guides/libraries/create-library-packages local imports should not reference our package name, but use relative paths.
2021-11-12 13:27:26 +01:00
Dani Llewellyn 5ddb7f80e2
Small nullability check in manager.dart for null working directory (#17)
This squashes a potential bad interaction on initial launch that causes at the least a message in the terminal about using a null value instead of string.
2021-11-12 13:19:08 +01:00
Dani Llewellyn 692825c0ee
Add a desktop notification on download complete (#16)
Using the `desktop_notifications` package from Canonical.
2021-11-12 13:18:21 +01:00
Yannick Mauray d1ccc710ce
Internationalization 2021-11-11 16:49:33 +01:00
Yannick Mauray 6f6bc29a72
Initial support for localization 2021-11-11 02:03:56 +01:00
Yannick Mauray b37600f7e1
Made PreferencesMixin generic 2021-11-10 22:06:27 +01:00
Yannick Mauray 0ffa311d4f
Added a button to select the working directory. 2021-11-09 22:59:20 +01:00
Yannick Mauray f72e025817
Fixed version number in settings menu, added theme switcher. 2021-11-09 22:32:08 +01:00
Yannick Mauray adcd5f9b92
New hamburger menu 2021-11-08 00:39:48 +01:00
Ben Hall d38146736c
Added basic checking of .conf files in working directory re #6. Simple check that file contains 'guest_os' (#7)
Thank you !
2021-11-07 17:57:19 +01:00
Ben Hall a9ae0e28fd
Mixin preferences: Refactored shared preferences functions to be generic setters/getters used as a mixin (#2)
* Refactored shared preferences functions to be generic setters/getters using key/values to allow for multiple preferences to be stored. Refactored the shared preferences functions as a mixin for ease of use. Directory change is now remembered across the app pages.

* Added initState() to downloader_menu.dart to fetch prefWorkingDirectory

Co-authored-by: ElanMan <ben@elanman.com>
2021-11-05 01:52:58 +01:00
Mark Johnson 7124b6fc35 Read VM ports from .ports file
Closes #3
2021-11-02 20:19:41 +00:00
Yannick Mauray 989eb69f1f
The Big Merge©®️™!
Integrated Mark's files, and it all works !
2021-10-28 01:52:14 +02:00