Bug 7648

Summary: Открытие chm-справки во внешнем просмотрщике
Product: WINE@Etersoft Reporter: Константин Кондратюк <kondratyuk>
Component: Интеграция в хост-системуAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact: Svetlana Zhukova <svzhu>
Severity: normal    
Priority: P3 CC: amorozov, baraka, lav, night, svzhu
Version: 2.0   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 42    

Description Константин Кондратюк 2011-09-14 17:28:09 MSK
Вместо вызова вызова hh.exe, который сейчас работает некорректно, нужно сделать просмотр chm во внешних просмотрщиках. Решение для 1.0.12 было сделано, по сути, осталось перенести его в 2.0.

В первую очередь решение ориентировано на запуск справки Консультанта.
Comment 1 Константин Кондратюк 2011-09-15 09:20:47 MSK
Внешний просмотрщик chm в eterhack уже работает.
$ wine start cons.chm
запускает один из линуксовых просмотрщиков.

Проблема с Консультантом в том, что он вызывает справку с помощью WinAPI - непосредственно функцией HtmlHelp().

Для 1.0.12 Илья делал хак, вызывающий ShellExecute и прерывающий запуск справки. В таком виде восстановить функционал не сложно, но есть проблемы: появляется сообщение Консультанта об ошибке справки (логично, потому что мы возвращаем ошибку), а внешний просмотрщик запускается в двух экземплярах (видимо, Консультант делает две попытки, прежде чем сообщает об ошибке, а хак исправно отрабатывает оба раза).

Как вариант решения_для_Консультанта - разрешить загрузку HtmlHelp и сделать дополнительный хак, отправляющий хелпу сообщение о закрытии при дальнейшей загрузке chm-файла.
Comment 2 Константин Кондратюк 2011-09-15 10:38:17 MSK
Доделал хак, заточенный на Консультант. При появляении других программ, использующих такой механизм вызова справки, можно будет расширить действие хака, убрав проверку на "консультантовость".

Пока порядок такой:
- при открытии справки через HtmlHelp запускается внешний просмотрщик, при этом ошибка программе не возвращается. Это приводит к тому, что запустится вайновский hh.exe и внешний просмотрщик в качестве дублирующей программы;
- хак для консультанта закрывает окно hh.exe при попытке навигации на cons.chm, что позволяет избирательно применять хак к Консультанту без ложных срабатываний; окно вайновской справки появляется на доли секунды и исчезает, вместе с тем запускается внешний просмотрщик, выглядит вполне нормально.

Если для Консультанта решение будет нормально работать, действие хака можно будет расширить на другие приложения.
Comment 3 Svetlana Zhukova 2012-03-22 14:33:47 MSK
Справка отображается,но в ней не работают ссылки. 
eterhack bottle cons/demo