Bug 1800

Summary: Нет значка документа
Product: Wine School Reporter: Денис Баранов <baraka>
Component: КМ ШколаAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: lav, night
Version: 0.7   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 1528, 1964    
Attachments: swrite.ico
scalc.ico

Description Денис Баранов 2008-05-11 22:32:31 MSD
Учеиная запись Завуч > Методический кабинет.
Вместо картинки пустого документа, должна высвечиваться иконка Опен офиса.
Comment 1 Денис Баранов 2008-05-11 22:39:05 MSD
Надо узнать откуда они подгружают иконку.

Возможно бужет достаточно в реестре создать дополнительный ключ указывающий на иконку. Он расположен примерно тут: [HKEY_LOCAL_MACHINE\Software\Classes\file.office\ ключ DefaultIcon, там указывается путь до иконки
Comment 2 Константин Кондратюк 2008-05-12 16:15:09 MSD
Не работает в wine подобный приём. И в реестре нет ни одной похожей записи, и создание такой схемы не даёт результата.

Возможно, как-то через ContentType отображается, по крайней мере winefile именно так и делает.
Comment 3 Константин Кондратюк 2008-05-12 16:50:09 MSD
Хотя, wine обращается именно сюда за путём к иконке, но неудачно

trace:reg:NtOpenKey (0x10c,L"file.office\\DefaultIcon",20019,0x33c548)
trace:reg:NtOpenKey <- (nil)
Comment 4 Vitaly Lipatov 2008-05-12 19:17:51 MSD
Что значит "неудачно"? А это был случай, когда кто-то создал корректную запись DefaultIcon?
Comment 5 Константин Кондратюк 2008-05-12 19:22:10 MSD
Создал - я, в виде строки "program.exe,0" (а также просто путь к файлу ico и bmp пробовал).
Неудачно - это возврат nil вместо адреса
    TRACE("<- %p\n", *retkey);

Возможно, формат строки неправильный, но вроде бы в виндовом реестре похоже.
Comment 6 Константин Кондратюк 2008-05-12 20:31:39 MSD
Научился загружать значки через "...file.office\\DefaultIcon".
Теперь нужен значок в .exe или .ico и решить с местом, откуда доставать будем
Comment 7 Денис Баранов 2008-05-12 20:53:54 MSD
Думаю надо создать в system32 специальную папку под иконки, вдруг потом нужно будет еще добавлять что-то, чтобы не валялось не пойми где..
Comment 8 Vitaly Lipatov 2008-05-12 21:09:19 MSD
1. Хочется надеяться, что есть более-менее стандартный каталог для этого.
2. Возможно стоит наладить загрузку из desktop-файлов/каталогов icons в Линуксе.
Comment 9 Константин Кондратюк 2008-05-12 23:25:52 MSD
Было бы здорово загружать прямо из Linux, не поставляя иконку.

В Windows не существует стандартного места для складирования иконок, проверил. Системные вообще напрямую из dll'ок берутся.
Comment 10 Денис Баранов 2008-06-24 22:46:19 MSD
Created attachment 513 [details]
swrite.ico
Comment 11 Денис Баранов 2008-06-24 22:46:37 MSD
Created attachment 514 [details]
scalc.ico
Comment 12 Денис Баранов 2008-06-24 22:47:17 MSD
Вытащил иконки, осталось только решить в какую директорию их пихать и добавить ключ в реестр.
Comment 13 Vitaly Lipatov 2008-06-24 23:18:10 MSD
Внёс значки, а также обновил файл реестра для их указания
Вразумительно писать пример загрузки не научились.
Created commit 26492ae: add icons for document and table office files
 3 files changed, 36 insertions(+), 22 deletions(-)
 create mode 100644 etersoft/root/windows/icons/scalc.ico
 create mode 100644 etersoft/root/windows/icons/swriter.ico
Comment 14 Vitaly Lipatov 2008-06-25 10:35:37 MSD
Значок задаётся так, к примеру, для office.etersoft:

[HKEY_LOCAL_MACHINE\Software\Classes\office.etersoft\DefaultIcon]
@="c:\\windows\\icons\\soffice.ico"
Comment 15 Andrey Vusik 2008-07-12 21:20:34 MSD
Хорошо бы снимки выкладывать при создании... Да - исправлено. wine-school 0.9.4
Закрываю.
Comment 16 Andrey Vusik 2008-07-13 15:03:03 MSD
сборка 0.9.4-alt0.M40.1