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