summaryrefslogtreecommitdiff
path: root/src/perl
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2002-05-16 00:34:37 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2002-05-16 00:34:37 +0000
commitd346fbe1a9c6615c88dfacc420f0256b5a751440 (patch)
tree2afa5956d03f670310bb45e019c2259b2ba46a10 /src/perl
parentee80e7601a0e664525cfc1f47bf90f30c93512d4 (diff)
downloadirssi-d346fbe1a9c6615c88dfacc420f0256b5a751440.zip
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
Diffstat (limited to 'src/perl')
-rw-r--r--src/perl/common/Channel.xs8
-rw-r--r--src/perl/irc/Channel.xs8
-rw-r--r--src/perl/perl-common.c4
-rw-r--r--src/perl/ui/Themes.xs2
-rw-r--r--src/perl/ui/Window.xs6
5 files changed, 9 insertions, 19 deletions
diff --git a/src/perl/common/Channel.xs b/src/perl/common/Channel.xs
index f425dc2b..0692a7cc 100644
--- a/src/perl/common/Channel.xs
+++ b/src/perl/common/Channel.xs
@@ -43,14 +43,6 @@ 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
char *name
diff --git a/src/perl/irc/Channel.xs b/src/perl/irc/Channel.xs
index 0bf94753..472bb56d 100644
--- a/src/perl/irc/Channel.xs
+++ b/src/perl/irc/Channel.xs
@@ -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
diff --git a/src/perl/perl-common.c b/src/perl/perl-common.c
index 72fc557c..be73bd30 100644
--- a/src/perl/perl-common.c
+++ b/src/perl/perl-common.c
@@ -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);
diff --git a/src/perl/ui/Themes.xs b/src/perl/ui/Themes.xs
index 64a05676..7f1c5277 100644
--- a/src/perl/ui/Themes.xs
+++ b/src/perl/ui/Themes.xs
@@ -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);
diff --git a/src/perl/ui/Window.xs b/src/perl/ui/Window.xs
index cadff1ab..89d874ee 100644
--- a/src/perl/ui/Window.xs
+++ b/src/perl/ui/Window.xs
@@ -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)