Plugin-provided smileys support.
[Original issue 86](https://code.google.com/p/mrim-prpl/issues/detail?id=86) created by kwaxer@mail.ru on 2011-11-08T06:44:16.000Z:
Mail.ru Agent вставляет улыбочки в виде <SMILE>id=314 alt=':Лопну от смеха:'</SMILE> <SMILE>id=400 alt=':Ангелочек:'</SMILE> <SMILE>id=426 alt=':Улыбаюсь:'</SMILE> <SMILE>id=429 alt=':Подмигиваю:'</SMILE> и т.д. Хотелось бы вместо этого кода видеть соответсвующие иконки в сообщениях.
Версии: mrim-prpl-0.1.28-rc.exe, pidgin 2.10.0.
Попытка добавить соответствующий раздел в темы улыбочек до конца не заработала - теги <SMILE>...</SMILE> заменяются не целиком, а частично. Возможно это баг в самом pidgin, но хотелось бы, чтобы плагин изначально включал данную функциональность, и не приходилось бы что-то дорабатывать "руками".
Comments (9)
-
-
Account Deleted Comment 3 originally posted by alexk@eiffel.com on 2011-11-08T15:45:42.000Z:
Не могу ничего сказать о полноте и откуда народ берёт списки улыбочек, но вот что нарыл: 1. В jimm ("mrim-replaces.txt"), и каким-то боком упоминается в qip-форуме: http://www.nigma.ru/index.php?s=mrim-replaces.txt 2. Mail.RU.rar: http://rghost.ru/1950520 3. Для qip ("qip+Mail.ru_Agent.7z"): http://forum.qip.ru/attachment.php?attachmentid=20660
Что касается поддержки, протокол, по-моему, тут особо не играет роли и теоретически можно было бы использовать стандартные возможности pidgin, но у меня не получилось. Просто добавлял в pixmaps\pidgin\emotes\default\theme раздел [Mail.Ru Agent] angel.png <SMILE>id=400\ alt=':Ангелочек:'</SMILE> wink.png <SMILE>id=429\ alt=':Подмигиваю:'</SMILE> (т.е. как раз с использованием стандартных картинок). Замена происходит, но не полностью - часть текста из тега остаётся в тексте.
-
Comment 4 originally posted by ostinru on 2011-11-08T16:10:08.000Z:
Список смайлов можно выдрать из оффициального клиента - в этом нет большой проблемы.
А, вот руками парсить сообщения и подменять "<SMILE>id=num at='something'</SMILE>" на "something else" - совсем не весело =( Такое можно разумно мутить, только вместе с конвертером RTF <-> HTML
-
Account Deleted Comment 5 originally posted by alexk@eiffel.com on 2011-11-08T16:39:39.000Z:
Тут 2 момента: 1. pidgin вроде как сам умеет производить такие замены. Только что-то там недоделано. Более конкретно, в pidgin_gtkimhtml.c поиск образца делается в gtk_smiley_tree_lookup. Но развёртывать и компилировать всё для отладки, чтоб посмотреть, где там что не так, пока нет времени. 2. Если бы всё работало как надо, было бы достаточно добавлять тему смайликов для протокола mrim. Т.е. включить в состав пакета плагина файлик с темой со смайликами со всеми подстановками уже было бы очень кстати.
-
Comment 6 originally posted by plaque_fcc on 2011-11-08T19:19:22.000Z:
Я к чему выше говорю про это: вы заметили, что набор предустановленных смайлов меняется в зависимости от испольуемого протокола, да?
Вот, я и хочу понять, каким заездом в libpurple/pidgin это реализовано. Именно это хочу понять.
-
Comment 7 originally posted by ostinru on 2011-11-08T19:25:29.000Z:
gtkimhtml ковырять не резонно - в следующей версии пиджина 3.0 - gtkimhtml будет заменён на webkit. Как дойду до портирования на 3.0 - постараюсь смайлы воткнуть.
-
Comment 8 originally posted by plaque_fcc on 2011-11-08T22:45:32.000Z:
Едрижмать… Наконец-то! Ура!
-
Account Deleted Comment 9 originally posted by alexk@eiffel.com on 2011-11-09T05:11:19.000Z:
набор предустановленных смайлов меняется в зависимости от испольуемого протокола
Улыбочки ещё привязаны к теме. Если говорить о теме "по умолчанию", то список соответствия улыбочек и протоколов лежит в файле pixmaps\pidgin\emotes\default\theme. Для темы не по умолчанию вместо "default" в пути будет что-то другое. Аналогичный файл может лежать у юзера в домашнем каталоге. Вот тут описаны подробности: http://developer.pidgin.im/wiki/SmileyThemes Другое дело, что улыбочки из агента кодируются с кучей всяких ловких символов, которые, возможно, не до конца обрабатываются при подстановке.
-
Comment 10 originally posted by plaque_fcc on 2011-11-09T09:38:17.000Z:
Хм. Теперь стало яснее. Благодарим.
- Log in to comment
Comment 1 originally posted by plaque_fcc on 2011-11-08T08:57:11.000Z:
Мне пока не удалось выяснить, как обеспечивается поддержка смайлов протоколом; а ещё необходимо составить относительно полную таблицу картинок, и использовать проприетарные картинки для этого не круто. Не так ли?