In order to ensure the 'Recommended' tag shows up for older versions of
the Imager, we should migrate to using V4 for the version where we move
the tag out of the JSON file.
We're going to take advantage of the
convention of always putting the recommended OS first in the list, and
append "(Recommended)" to it's description.
This moves the recommendation out of the JSON, and makes the
recommendation durable to filtering.
When filtering the OS list, if all items in a category/sublist are
filtered out then don't show the category/sublist.
Also, clear the selected OS when the HW device is changed, otherwise you
can get weird effects like having an incompatible (hw, os) pair selected
or the highlighted OS moving when the items in the OS list change.
With the move from OS customisation being a popup to being a separate
window, it is no longer closed by the escape key. Add a handler to
restore this behaviour.
- All of our red buttons were ImButton with the colours overridden at the
use site. Instead make an ImButtonRed which defines these colours in
one place.
- Previously the red buttons had focus indicated by the text colour
changing from white to blue. This was quite hard to see, instead
change the button colour to blue (as is done for the white buttons).
A darker shade of blue is used so that there is still good contrast
with the white text.
- Update the reds (buttons and main screen background) with the
branding-approved red: the official colour palette says Pi Red is
#cd2355
As part of changing the reference string, these translations will
require a rework.
Signed-off-by: Tom Dewey tom.dewey@raspberrypi.com <tom.dewey@raspberrypi.com>
We've now modified the UI in a fairly major way - but no so much that
it's unrecognisable. As a result, bump the version number to the next
minor revision.
- Make write confirmation popup modal
- Force focus on the write confirmation popup when it opens
- Force focus on the error popup when it opens
- When the hw select popup opens, force focus on the ListView instead of
on the currentItem, because the latter doesn't work when the list is
empty.
- On embedded, when the settings popup closes, force focus back to the
usecustomisation dialog
Previously, if you clicked "edit settings" in the "use customisation"
msgbox then the flow got a bit confusing, when you saved settings the
"use customisation" msgbox would have disappeared and you had to click
"next" and go back through again. Instead, keep the "use customisation"
msgbox open when editing settings so when you save settings you are back
where you left it.
Also:
- Make "use customisation" modal so you can't click other things while
it's open
- Separate windows in QtQuick can't be modal so we can't stop the user
interacting with the main window while "edit settings" is open. This
could get confusing, so if they close the "use customisation" modal in
the main window then close the settings window.
- Fix a bug where saved settings weren't recognised on startup, only
after being saved during the session
This used to be attached to the ComboBox for selecting whether you
wanted the customization options to be applied only for this session, or
stored for re-use.
As we've removed that option, we should also remove the label string.
In the new flow, it doesn't make sense to _not_ save the OS
customization parameters, so remove the ComboBox.
Additionally, our data model was failing to notify the UI of changes to
the saved settings state. Due to time constraints, I'm not able to
resolve the binding in the 'correct' manner, but I can introduce a
makeshift status signalling mechanism to prevent UI inconsistency.
Per a request from the Raspberry Pi Communications team, change
'Advanced Settings' and 'Image customization' to read 'OS
customization'.
This is to avoid amibuguity in the English, where Image_r_ and Image may
be conflated when reading at speed.
Regrettably, this breaks the existing translations. To prevent
confusion, explicitly delete the existing translations - as they're almost
certainly not valid with the reworded meaning.
Previously it was not possible to select a HW device without a mouse
because the focus change to the HW list was not working. This is
because an extra nested ListView had been left in. Remove the extra
ListView and set the focus target correctly.
Seems like there's a weird Qt bug in the ProgressBar widget where giving
it padding means the white progress indicator doesn't actually start at
the left edge of the bar or extend to the right edge of the bar. So
just remove the padding from ProgressBar because it's not doing much.
- Update back to colour logo
- Change logo alignment and positioning to make it generally
left-aligned, have some nice padding above and below it, and to not
occupy the full window width.