See the "Improve devices selection in the Guided Setup PBI.
We basically have to answer three questions.
- Which information to display for each device?
- Which widget to use for a reasonable number of disks?
- Which widget to use for an insane number of disk?
BlkDevice#name
-> "/dev/sda"BlkDevice#size
-> "320.00 GiB"DiskAnalyzer.installed_systems
-> "Windows, openSUSE Leap 42.3"Disk#transport
-> "SATA", "USB". More info below.- Vendor -> "usb 0x8644 General", "usb 0x8564 JetFlash"
- Model -> "General USB Flash Disk", "ST31000524AS", "JetFlash Trascend 8GB"
The possible values for transport are "UNKNOWN", "SBP", "USB", "ATA", "SATA", "SAS", "iSCSI", "SPI", "FC" and "FCoE". See the corresponding section of the man page of lsscsi
for the descriptions. As pointed by HuHa in Irc, only some values are really useful for most users to distinguish the disk (like "USB" or "SBP", which refers to IEEE 1394 devices). Most of the values are in fact a low level detail that is more likely to add confusion that to help.
Currently we display the following information
BlkDevice#name
BlkDevice#size
DiskAnalyzer.installed_systems
It's the best-looking one and the usage is obvious, but it only scales up to something like 15 disks (see the screenshots with 30 elements, which it's unusable both in Ncurses and Qt).
N | nCurses | Qt |
---|---|---|
3 | ||
10 | ||
30 |
Scales to any size and the usage is obvious. But it looks weird in QT with few elements, because of the colored background and because it doesn't always react to HSquash
and/or HStretch
and one could expect (it tends to cut the text when not really needed). Maybe it's possible to make it look better with some extra Libyui magic I was not able to spell.
N | nCurses | Qt |
---|---|---|
3 | ||
10 | ||
30 |
Scales to any size... including horizontally, if we decide to add more info for each disk. In Qt it tends to look weird, specially with few elements because, just as the MultiSelectionBox, it's hard to make it fit nicely in the layout.
Moreover, the multi-selection feature (ctrl+click) is not obvious at all in Qt (in my experiments, I would say it even works in a slightly bogus way). In ncurses is obvious that you are supposed to mark one or several lines, but that's not the case at all in Qt.
N | nCurses | Qt |
---|---|---|
3 | ||
10 | ||
30 |
My vote goes to:
Information to show
Yes, some transports could not be useful, but others are. I would prefer to have that information, at least USB devices are quite obvious.
Widget
I like none of them too much. Having said that, I don't see the table a valid option at all in QT because it is quite confusing (although in ncurses it really looks good!). The multi-select-box option is a better approach (IMHO), but it is true that there is too much white space around. Don't you consider the "double table" a possible alternative? See the following screenshot: