Какао: нажмите на иконку в доке

Есть ли способ сообщать о каждом щелчке мыши по значку док-станции приложения?


person Matthieu Riegler    schedule 04.07.2012    source источник


Ответы (2)


Не совсем безопасный (также активируется двойным кликом по самому приложению),
но определенно самый простой способ реализации:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag

Цитата из справочника по протоколу NSApplicationDelegate:

Эти события отправляются всякий раз, когда Finder повторно активирует уже запущенное приложение, потому что кто-то снова дважды щелкнул его или использовал док-станцию ​​​​для его активации.

person Anne    schedule 04.07.2012
comment
Я уже получил это. Я использую его для всплывающего меню nsmenu. Но как только меню открыто, я не получаю вызов этой функции. - person Matthieu Riegler; 04.07.2012
comment
Моя ошибка. Если applicationShouldHandleReopen не вызывается, это потому, что меню модальное. - person Matthieu Riegler; 04.07.2012
comment
работает очень хорошо для меня. - person slboat; 27.04.2021

Я хотел бы предложить альтернативное решение для ответа, предоставленного Anne, что позволяет избежать конфликта с событием, когда пользователь дважды щелкает значок приложения, а не значок док-станции.

Таким образом, я предлагаю использовать

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender;

См. также документацию Apple.

person Andrea Alberti    schedule 20.10.2019