Ваше приложение, как одна из основных целей, НИКОГДА не должно терять данные пользователя. Один из способов добиться этого - регулярно сохранять работу, которую пользователь проделал без вмешательства пользователя .
Это парадигма, к которой большинство людей привыкли в реальной жизни. Когда люди пишут в тетради, они не ожидают, что газета спросит: «Вы хотите, чтобы я фактически зафиксировал эти изменения на бумаге?», Они ожидают, что изменения будут постоянными, если они явно не решат выбросить их.
Таким образом, я бы даже не задавал этот вопрос, не реализовывал бы надежную функциональность отмены и просто спрашивал (может быть, в начале рабочего сеанса) новое имя файла сохранения, если это новая работа, сохраняющаяся непрерывно и после выхода .
Эти идеи берут свое начало от очень просвещенного Почему программное обеспечение отстой ... И что вы можете с этим сделать .