ImageListView was too keen when a shortcut was
renamed and it tried updating ShortcutLibraryForm
straight away when it reutned, even before we had
a chance to update the data to ILV uses to populate
itself. The fix was to stop ILV being so keen, and to
suspend ILV from doing redraws until we had a
chance to refresh the UI. Problem solved.
Added a button to save a profile shortcut
to the Windows desktop. This will enable
people to quickly change to another display
configuration if they want to using a desktop
display. This will work even if they are unable
to get admin rights to install the background
popup menu.
Fixed the logic for profile selection on
shortcuts so that the profile is either
selected or not based on its existence
or whether the profile is valid to use now
or whether the shortcut is new.
Updated styling of the profile selector in the
shortcut editing form. It now looks the same
as the others. There is now a slightly annoying
problem where clicking elsewhere in the form
deselects the imagelistview selection, but that
is a small thing to worry about later.
It was erroring when loading games into
a blank shortcut screen. This was stopping
us being able to select any games at all.
Fixed another problem with Shortcut.IsValid
causing exception when loading a profle
that no longer existed. It now will correctly
report that the shortcut is isvalid.
Fixed the profiles selection so it doesn't change
when you swap screens. Made the 'View
current display' button refresh the profile validity
too, so that a user now only has to change their
display settings in Windows and then swap back
DisplayMagician and click the View Current Display
button and the profiles will be updated.
Highlighting colours and structure changed
to work better with the ILV structure. Next step
is to add the ability to visually show invalid
shortcuts to notify when a shortcut won't
work.
Added a messagebox to warn the user
when they try to run an invalid shortcut.
It now asks the user if they really want to
do it, or it directly opens the 'edit' window
for if they want to fix things now.
Combined DisplayMagicianShared logging into
the main log file to simplify log reporting for the
future. Also started adding info and debug
statements to the program to make the debug
level log work well for troubleshooting. This is
going to take a LONG time to complete, but will
be worth it in the end.