Поведение по умолчанию: клавиша option вызывает вкладку
У меня есть приложение для macOS, основанное на документах, с пользовательским файлом NSDocumentController
. Приложение может обрабатывать два типа документов, каждый со своими окнами и представлениями.
Теперь, если пользователь отключил возможность всегда создавать вкладки в окнах, cmd-N
всегда будет создавать новое окно.
И если пользователь вводит cmd-option-N
, платформа автоматически создает вкладку внутри переднего окна, независимо от глобальных предпочтений или настроек вкладок приложения. Это не требует дополнительного программирования с моей стороны.
Все идет нормально.
Теперь у меня есть тип документа вторичный, созданный cmd-shift-N
. Это создает, благодаря моему пользовательскому DocumentController, новое окно каждый раз, как и ожидалось.
Задача: добиться того же с дополнительным модификатором
Я хочу, чтобы пользователь мог ввести cmd-shift-option-N
, чтобы создать новую вкладку внутри существующего окна документа, точно так же, как cmd-option-N
для основного типа документа.
Однако кажется, что фреймворк обрабатывает только простой cmd-option-N
для автоматического создания вкладок. Для других комбинаций модификаторов (как здесь, со сдвигом) это не работает: если я настроил меню только для cmd-shift-N
, то при нажатии cmd-shift-option-N
будет просто звуковой сигнал. И если я добавлю явное меню для cmd-shift-option-N
, оно создаст новое окно, а не вкладку, как хотелось бы.
Поэтому мне нужно подражать поведению превращения нового документа во вкладку, а не в новое окно. Как мне это сделать, если глобальная вкладка больше настроена на то, чтобы не создавать вкладки?