I'm making a Windows desktop application. It's "too hard" to build in an Undo action.
I have a task that opens in a modal window, it's a task that may take the user a while to do, so I want to prompt them to save changes if they hit cancel by accident.
If they press cancel, the confirm dialog will say something like "Changes have been made, are you sure you want to discard these changes?"
My question is what buttons should there be (on the original task window and the confirm)? Save/Cancel? The user clicked the cancel button, then sees the confirm dialog, so they may press cancel again because that's what they want to do, but that would cancel the confirm dialog, not the original task. Also, would I prompt to save from the cancel?
[ Cancel ] > [ Don't Save ][ Save ][ Cancel ]
That doesn't seem right, because to continue with their original decision to cancel, they'll have to [ Cancel ] > [ Don't Save ].