У меня есть приложение AIR, работающее на Mac, и я хочу скрыть окно, когда кто-то «закрывает» приложение (например, нажимает красную кнопку «x» или cmd-w). Однако, если кто-то нажмет cmd-q или выберет «Выход» из контекстного меню дока или меню верхнего уровня, я хочу, чтобы приложение действительно закрылось.
Я могу предотвратить дефолт по событию «закрытие», отправляемому приложением, однако это заставляет все методы «закрыть» просто скрывать окно. Единственный способ закрыть приложение в этот момент - это ForceQuit (или через отдельный интерфейс, который я предоставляю, как опция контекстного меню на значке дока).
Я также попытался захватить событие cmD-q keyDown вручную, но оно не отправляется. Кроме того, это не поможет в случае, когда люди пытаются выйти из приложения, используя опции меню.
Кроме того, если я предотвращаю использование по умолчанию метода закрытия, это приводит к тому, что мое приложение немедленно отменяет процесс завершения работы (что ужасно для пользователя).
Есть ли способ обнаружения различных методов закрытия приложения AIR? Я хочу быть в состоянии определить разницу между этими методами закрытия и правильно реагировать на них.