Re: GUI интерфейс.

#16
boss911 wrote:Запускаем ProgDVB. Обычный режим окна, кликаем по списку каналов, потом стрелки вверх\вниз переключают каналы.
Все правильно работает.
boss911 wrote:Переходим в фулскрин, стрелки переключают (проверил для надежности: кликаем по списку в фулскрине, каналы переключаются).
Снова все правильно работает.
boss911 wrote:Выходим в обычный режим, кликаем по списку, каналы стрелками уже не переключаются.
- не правильно.

Почему после выхода из фулскрина, когда кликну по списку каналов, стрелки клавиатуры уже не переключает каналы? Почему в первом случае (цитате), при клике в обычном режиме по списку каналов стрелки переключают каналы?
[size=92][color=olive][b]Мама не горюй[/b][/color]
[b][url=http://forum.oszone.net/thread-68355.html#post459993][color=blue][u]Vista Inspirat Boss911 Pack[/u][/color][/url][/b][/size]

Re: GUI интерфейс.

#17
Вот я уже третье сообщение пытаюсь понять что именно не так. Вообще говоря глюк первое, после клика в список кнопки должен получать он и никакого переключения быть не должно. Но там тоже ньюансы. B HID модуль и неизвестно что после было

Re: GUI интерфейс.

#18
Prog

Вы хотите сказать, что кликнув мышкой по списку каналов в обычном режиме окна, после этого каналы стрелками клавиатурой не должны переключаться? Да ну нафиг такое.

Нафиг мне надо, чтобы стрелки не переключали, а то только делали переход по каналам, после чего приходилось бы нажимать Энтер, сделал переход, нажал Энтер, сделал переход, нажал Энтер и так всегда надо делать, если хочешь шагать вверх\вниз по каналам. Нафиг такой изврат нужен, вот он и происходит.
[size=92][color=olive][b]Мама не горюй[/b][/color]
[b][url=http://forum.oszone.net/thread-68355.html#post459993][color=blue][u]Vista Inspirat Boss911 Pack[/u][/color][/url][/b][/size]

Re: GUI интерфейс.

#19
Пока не кликните мимо спика - нет. Список (GUI) это тоже контрол который тоже работает с кнопками и делает это с пользой для пользователя. Вот, в соседней ветки просили как раз всегда кнопками переключатся именно по этому списку, а не пепеключать каналы.

То есть проблема от того что клавиатура используется вами и как ДУ и как клавиатура. И требуется переключение между этими двумя вариантами. Вот клик в экран или в подходящий контрол как раз переключает. Но история эта увы бесконечная. Там ещё много вариантов поведения. Например, что делать когда GUI в фокусе но есть OSD итд.

С другой стороны если вам нужно только переключения, то почему бы не использовать ch+/ch- повесив их на удобные не используемые кнопки?

Re: GUI интерфейс.

#20
Prog wrote: То есть проблема от того что клавиатура используется вами и как ДУ и как клавиатура. И требуется переключение между этими двумя вариантами. Вот клик в экран или в подходящий контрол как раз переключает. Но история эта увы бесконечная. Там ещё много вариантов поведения. Например, что делать когда GUI в фокусе но есть OSD итд.
Предлагал же уже - сделать отдельно cinema mode, как в Powerdvd сделано - фуллскрин онли, управление только с ДУ (клавиатура как частный случай оного ДУ), соответственно никаких окошек, меню и списков - все точно через OSD. Сделать, кстати, совсем несложно - при его выборе производить отключение всплывающих контролов/менюшек (проще говоря, не обрабатывать сообщения мыши) и фокус ввода на фуллскрин окно жеско забирать.

В этом режиме, кстати, можно легко радикально решить проблему с фокусом ввода, через RegisterHotKey() - зарегистрированным хоткеям все равно, какое окно сверху, их сообщения все равно попадут туда, куда было назначено при их регистрации. Соответственно, в обработчик сворачивания/разворачивания окна добавить убирание/восстановление этих самых хоткеев, от силы пара десятков строчек кода.

Re: GUI интерфейс.

#22
А зачем "сделать новый"? Фичи-то нужные все и так уже есть (ну да, OSD меню можно было бы сделать пофункциональнее, но это терпит, ради, скажем, сканирования спутника и в обычный режим перейти можно), все, что нужно - это в "новом" режиме отключить ненужные фичи того фуллскрин режима, который есть сейчас? Т.е. просто-напросто отключить в нем обработку событий мыши (=всплывающие окна не появятся) и фокус ввода не отдавать (=клавиатура будет работать как пульт ДУ онли)?

Re: GUI интерфейс.

#24
в 6.63 ее все еще приходится трогать :( при запуске, дабы основное окно таки получило фокус ввода и стало по нажатиям соответствующих клавиш открывать osd.

PS кстати, а насколько сложно пофиксить в фуллскрин режиме обработку alt+f4 (=стандартная для винды команда закрыть программу)? Закрывать при необходимости - сейчас тоже приходится через мышку, на alt+f4 реакции в фуллскрине практически никогда нет.

Re: GUI интерфейс.

#25
Не пробовал. Но есть же стандартный выход и возможность повесить на него кнопку.

Всё не могу понять что у вас с fullscreen. Само окно ProgDVB в фокусе? На какиелибо кнопки реагирует?

Re: GUI интерфейс.

#26
стартую в фуллскрине = фокус где-то не там (а как посмотреть, если ничего, кроме прогдвб, в фуллскрин режиме и не видно, на то он и фуллскрин), на кнопки реакции нет вообще никакой. Кликаю 1 раз мышкой на любом месте фуллскрин окна = все становится нормально. До 6.63 такого не было.
В ранних версиях 6.63 та же фигня была не только при старте, но и при выходе компа из спящего режима, потом в одной из последних версий этот баг пропал.

Мб это связано с изменением механизма загрузки аддона? Потеря фокуса при просыпании исчезла приблизительно тогда же, когда работа с аддоном пофикшена была, уж не знаю, совпадение это или нет. Мб просто добавить в код вызов SetForegroundWindow(...) сразу после завершения всех стартовых загрузок (т.е. тогда, когда на экране появляется поток/osd) и посмотреть, пропадет ли данный глюк?

Re: GUI интерфейс.

#27
Вдогонку к предыдущему:

Переключил на загрузку в обычный режим, запустил. Как и предполагал - при старте окно ПрогДВБ не становится "верхним"/"активным", т.е. фокус ввода получает то ли аддон, то ли еще фиг поймешь что. Соответственно реакции на клавиатуру нет, до тех пор, пока альт-табом или мышкой не сделаю ПрогДВБ активным окном.

Re: GUI интерфейс.

#29
никакой особой последовательности, просто запускаю и все.
ПрогДВБ стартует в том режиме, в котором последний раз был штатно закрыт. В моем случае это фуллскрин режим. Соответственно, при запуске через иконку на панели задач/в стартменю (или при старте windows, поскольку ProgDVB у меня стоит в стартапе) - сразу запускается в фуллскрине.

Но дело-то в том, что и не в фуллскрине - хоть через иконку, хоть после рестарта винды ПрогДВБ 6.63 не становится у меня активным окном. <=6.61.3 становился.

Re: GUI интерфейс.

#30
Попробовал отключить acamd. Без него - стартует правильно, т.е. окно ПрогДВБ сразу становится активным и фокус не теряет.
Т.е. догадка оказалась верной, сей баг вылез из-за изменения механики загрузки плагина. Вот добавление после оной загрузки вызова SetForegroundWindow() и вылечит его напрочь.
Ну или сравнить исходные коды (старый, до 6.62 и нынешний) той части программы, которая за загрузку плагинов отвечает - мб в нынешнем флаг, отвечающий за параметры загрузки, неверно проставлен, там, где вызов CreateProcess идет (если, конечно, загрузка плагина через него реализована) - структуру StartupInfo посмотреть стоит, параметры dwFlags и wShowWindow.