Better !channel support - window items now have "visual_name" and channels

and queries also have "name". Normally they're identical but with !channels
the visible_name contains the short !channel name, while name contains
full !ABCDEchannel name.

The visible_name should be used whenever displaying the channel name, or as
printtext()'s target. So, this breaks a few scripts in !channels, they need
to be modified to use $channel->{visible_name} instead.

Also /LAYOUT SAVE should finally work properly with !channels.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2797 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-05-16 00:34:37 +00:00 committed by cras
commit d346fbe1a9
44 changed files with 325 additions and 247 deletions

View file

@ -42,14 +42,6 @@ channels_join(server, channels, automatic)
CODE:
server->channels_join(server, channels, automatic);
Irssi::Channel
channel_create(server, name, automatic)
Irssi::Server server
char *name
int automatic
CODE:
CHAT_PROTOCOL(server)->channel_create(server, name, automatic);
Irssi::Channel
channel_find(server, name)
Irssi::Server server

View file

@ -61,11 +61,3 @@ CODE:
RETVAL = irc_nicklist_insert(channel, nick, op, halfop, voice, send_massjoin);
OUTPUT:
RETVAL
MODULE = Irssi::Irc::Channel PACKAGE = Irssi::Irc::Server PREFIX = irc_
Irssi::Irc::Channel
irc_channel_create(server, name, automatic)
Irssi::Irc::Server server
char *name
int automatic

View file

@ -326,7 +326,7 @@ void perl_window_item_fill_hash(HV *hv, WI_ITEM_REC *item)
if (item->server != NULL) {
hv_store(hv, "server", 6, iobject_bless(item->server), 0);
}
hv_store(hv, "name", 4, new_pv(item->name), 0);
hv_store(hv, "visible_name", 12, new_pv(item->visible_name), 0);
hv_store(hv, "createtime", 10, newSViv(item->createtime), 0);
hv_store(hv, "data_level", 10, newSViv(item->data_level), 0);
@ -343,6 +343,7 @@ void perl_channel_fill_hash(HV *hv, CHANNEL_REC *channel)
if (channel->ownnick != NULL)
hv_store(hv, "ownnick", 7, iobject_bless(channel->ownnick), 0);
hv_store(hv, "name", 4, new_pv(channel->name), 0);
hv_store(hv, "topic", 5, new_pv(channel->topic), 0);
hv_store(hv, "topic_by", 8, new_pv(channel->topic_by), 0);
hv_store(hv, "topic_time", 10, newSViv(channel->topic_time), 0);
@ -369,6 +370,7 @@ void perl_query_fill_hash(HV *hv, QUERY_REC *query)
perl_window_item_fill_hash(hv, (WI_ITEM_REC *) query);
hv_store(hv, "name", 4, new_pv(query->name), 0);
hv_store(hv, "last_unread_msg", 15, newSViv(query->last_unread_msg), 0);
hv_store(hv, "address", 7, new_pv(query->address), 0);
hv_store(hv, "server_tag", 10, new_pv(query->server_tag), 0);

View file

@ -195,7 +195,7 @@ PREINIT:
char *arglist[MAX_FORMAT_PARAMS+1];
int n;
CODE:
format_create_dest(&dest, item->server, item->name, level, NULL);
format_create_dest(&dest, item->server, item->visible_name, level, NULL);
memset(arglist, 0, sizeof(arglist));
for (n = 3; n < items && n < MAX_FORMAT_PARAMS+3; n++) {
arglist[n-3] = SvPV(ST(n), PL_na);

View file

@ -225,6 +225,10 @@ window_activity(window, data_level, hilight_color=NULL)
char *
window_get_active_name(window)
Irssi::UI::Window window
CODE:
RETVAL = (char *) window_get_active_name(window);
OUTPUT:
RETVAL
Irssi::Windowitem
window_item_find(window, server, name)
@ -246,7 +250,7 @@ print(item, str, level=MSGLEVEL_CLIENTNOTICE)
int level
char *str
CODE:
printtext_string(item->server, item->name, level, str);
printtext_string(item->server, item->visible_name, level, str);
Irssi::UI::Window
window_create(item, automatic)