Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

3 876 Posts in 868 Topics- by 723 Members - Latest Member: tablarock

23 May 2012, 08:16
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптингВопросы по основам KVSКак работают обработчики *NickLink*
Pages: [1]
Print
Author Topic: Как работают обработчики *NickLink*  (Read 3468 times)
0 Members and 1 Guest are viewing this topic.
upyx
Новичок
*

Репутация: 12
Gender: Male
Posts: 43


Маленький, махнатый и умный.


View Profile
« on: 21 September 2008, 13:30 »

В квирке есть аж пять обработчиков срабатывающих на нажатия на ник:
OnChannelNickDefaultActionRequest - при двойном клине на ник (в ник-листе)
OnChannelNickPopupRequest - при нажатии правой кнопки на нике (в ник-листе)
OnChannelNickLinkClick - при одиночном нажатие на ник (ссылку в канале, появился в 3.2.5)
OnNickLinkDefaultActionRequest - при двойном клике на ник (ссылку в канале)
OnNickLinkPopupRequest - при нажатии правой кнопки на нике (ссылку в канале)
Дык вот если нажимать на ник в ник-листе, то срабатывают только первые два обработчика.
А при нажатии на ссылку в канале...
Если этот ник сейчас в канале, то срабатывают первые два как в ник-листе, а если юзер с канала свалил, то последние два. OnChannelNickLinkClick срабатывает всегда.
Внимание вопрос:
Это баг или фича? Smiley И если фича, то как определить в OnChannelNickDefaultActionRequest откуда он вызван из ник-листа или из ссылки?

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

Действие по умолчанию в OnNickLinkDefaultActionRequest - запрос WHOIS. Какой еще хуиз, если юзера нету? Сейчас точно, не помню, но вроде старых версиях (3.2.4) обработчики OnNickLinkDefaultActionRequest и OnNickLinkPopupRequest срабатывали независимо от наличия пользователя на канале. В привате они же срабатывают при нажатии на свой ник. При нажатии на ник собеседника, никаких событий не происходит. А точно помню, что был хуиз на даблклик...
В описании OnChannelNickLinkClick сказано, что у него нет параметров, а их там аж три штуки как в OnNickLinkDefaultActionRequest.
Logged
Alexey
Администратор
*****

Репутация: 45
Posts: 203


View Profile Email
« Reply #1 on: 21 September 2008, 17:36 »

Это не баг, это плохая документация, которую, наверно, забыли исправить после внесения изменений, или она не полная.

Сие, безусловно, нуждается в более полном освещении...
Logged
upyx
Новичок
*

Репутация: 12
Gender: Male
Posts: 43


Маленький, махнатый и умный.


View Profile
« Reply #2 on: 21 September 2008, 22:06 »

Очень надеюсь, что светлая сторона осветит этот кошмар Smiley
Но я так и не понял: нафига при нажатии на ссылку ника в канале срабатывают разные обработчики? Т.е. если юзер есть в канале, то срабатывает OnChannelNickDefaultActionRequest, а если нету - OnNickLinkDefaultActionRequest. Почему бы не всегда использовать OnNickLinkDefaultActionRequest? Если нужно проверить наличие пользователя, то можно сделать это в самом обработчике. Из-за этого бардака я не могу настроить разные действия на нажатия в никлесте и самом канале.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic