In addition to replacing Qt5 with Qt6 in CMakeLists.txt
two small changes to the code are needed to make things build
on Qt 6 (which in turn is needed for Apple M1/M2 support).
The cost of this change is that when building on Qt 5, at least
version 5.14 is needed.
Certain older but still used Linux distributions such as
Ubuntu 10.04 LTS still use 5.12, so revert this commit if you
are building on those...
- Reduce platform specific code in ImageWriter class,
and move that to seperate classes.
- Use API calls to get current SSID on Windows and Linux instead
of launching command line utilities.
- No longer relies on operating system for mounting FAT partition
when applying 'advanced settings'
- change '__attribute__ ((packed))' to '#pragma pack()' as the
mingw version we are using for Windows has a bug with the former
Minimal implementation for reading/writing files in the root
directory of a FAT16/FAT32 file system.
Can read/write from raw disk devices, and no longer relies on
operating system support for mounting the file system.
Currently assumes Imager will always be run on 'little endian'
architectures such as Intel and ARM (at least under Linux).
If there is a use-case for big-endian (anybody still using Sparc?)
this may be revisited later.
- If a drive is formatted APFS it will have a seperate disk
devices for physical drive (e.g. /dev/disk2) and volumes
(e.g. /dev/disk3).
Need to unmount all, or opening the device for
writing will subsequently fail.
(User will see an "Error running authopen" error in Imager
in that case).
- Also do not show APFS volumes seperately in the disk
selection dialog. List mount points under physical drive
instead.
Closes#501
Only supported when NetworkManager is used on the Linux distro
as wpa_supplicant itself does not support reading PSKs through
DBus, only setting them.
Closes#457