Название: Получение фокуса приложения в маке[РЕШЕНО] Отправлено: ecspertiza от Март 14, 2012, 17:10 Есть приложение, работает в трее по хоткею открывает окно на фуллскринн, но что самое интересное фокус остается на предыдущем приложении, у окна которое на фулскрин открывается пробовал и Qt::WindowStaysOnTopHint ставить, все равно, фокус на предыдущем, может есть какие то нюансы ?
Название: Re: Получение фокуса приложения в маке Отправлено: Bepec от Март 15, 2012, 07:05 На предыдущем - в смысле левом окне?
Название: Re: Получение фокуса приложения в маке Отправлено: ecspertiza от Март 15, 2012, 09:19 Если имеется ввиду где остается фокус, то на предыдущем приложении, то есть если работаем в браузере и открываем приложение, фокус остается на браузере, если работаем в фидлере и запускаем приложение ,то фокус так и остается в фидлере.
Название: Re: Получение фокуса приложения в маке Отправлено: Bepec от Март 15, 2012, 09:21 Где то была темка про фокус в MACе.
Название: Re: Получение фокуса приложения в маке Отправлено: ecspertiza от Апрель 18, 2012, 11:58 Ну что никто не сталкивался ? А то совсем кисло с этим багом. Всякие setActiveWindow() тоже не помогают.
Название: Re: Получение фокуса приложения в маке Отправлено: kambala от Апрель 18, 2012, 13:28 попробуй устанавливать фокус через какой-нить родной метод NSView
Название: Re: Получение фокуса приложения в маке Отправлено: Igors от Апрель 18, 2012, 13:47 Попробуйте по-старинке
Код
Название: Re: Получение фокуса приложения в маке Отправлено: ecspertiza от Апрель 18, 2012, 15:19 Код: ProcessSerialNumber psn; не работает, скорее всего потому что сборка Qt Cocoa , а NSView еще не пробовал, насколько понял нужно будет мост писать ? Название: Re: Получение фокуса приложения в маке Отправлено: Igors от Апрель 18, 2012, 16:01 Код: ProcessSerialNumber psn; не работает, скорее всего потому что сборка Qt Cocoa , а NSView еще не пробовал, насколько понял нужно будет мост писать ? Др. словами есть смысл потратить 10-15 мин чтобы "осмотреться" и понять где проблема - перед тем как городить огород Название: Re: Получение фокуса приложения в маке Отправлено: ecspertiza от Апрель 18, 2012, 16:08 Др. словами есть смысл потратить 10-15 мин чтобы "осмотреться" и понять где проблема - перед тем как городить огород Тоже верно, ошибка возвращается вот тут Код: err = ::GetCurrentProcess(&psn); так как в мак апи не силен, то пошел гуглить, и нашел что , что бы получить описание ошибки нужно OSErr преобразовать к NSError и там получать описание, но это опять же огород получиться. Я про то что для NSError тоже нужно будет прослойку писать :) Название: Re: Получение фокуса приложения в маке Отправлено: ecspertiza от Апрель 18, 2012, 16:17 Код: ProcessSerialNumber psn; Заработало :) Igors, спасибо что остановил меня :) Я немного осмотрелся и нашел где косяк был. И за подсказку с кодом тоже спасибо :) Название: Re: Получение фокуса приложения в маке Отправлено: Igors от Апрель 18, 2012, 16:23 так как в мак апи не силен, то пошел гуглить, и нашел что , что бы получить описание ошибки нужно OSErr преобразовать к NSError и там получать описание, но это опять же огород получиться. Я про то что для NSError тоже нужно будет прослойку писать :) http://docs.activestate.com/activeperl/5.14/lib/Mac/Errors.html (http://docs.activestate.com/activeperl/5.14/lib/Mac/Errors.html) А еше проще открыть хедер MacErrors.hТакже стоит глянуть Processes.h, там перед каждой ф-цией короткое описание, обычно его хватает. Ну и Xcode показывает текст OSErr в окне переменных |