Nils_Ekberg wrote:
- 1) Save all keymoves to the file not just the ones with notes.
2) When a keymove is manually entered flag it as ADDED.
3) When a delete of the upgrade is done delete the keymoves that are not flagged as ADDED.
4) When an upgrade is replaced do the same as 3.
5) for 3 & 4 a confirmation prompt should occur just incase the user does not really want to delete the keymoves.
6) Prompt for deletion of the ADDED keymoves that are associated with an upgrade that is being deleted.
That's roughly what I had in mind (and I still think it's the right basic approach). But an "ADDED" flag (actually its lack) doesn't convey enough information.
I want a field on what you'd call the non ADDED KeyMoves that indicates exactly which upgraded they arrived in. The "ADDED" KeyMoves would be the ones with that field missing or empty (howver you want to represent that).
Remember there are many ways a KeyMove may be associated with an upgrade:
1) A KeyMove in any device mode may depend on an upgrade. We might want some optional confirm/delete logic for those, but they aren't the kind I was talking about, espically if they were "ADDED".
2) A KeyMove may be "part of" an upgrade and depend on it, as occurs when the device type map excludes the desired key.
3) A KeyMove may be "part of" an upgrade and not use that upgrade's setup code, (external functions in RM) usually because some other setup code is the cheaper (or only) way to get less common subdevices of a device.
4) A KeyMove may be in the device mode of an upgrade but not part of it. Typically an input select or vol command of some other device that is related only through the user's behavior (which devices are used together) rather than by anything that belongs in an upgrade.