summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2007-07-18 16:50:56 +0000
committerSebastien Helleu <flashcode@flashtux.org>2007-07-18 16:50:56 +0000
commit2da039222d2cfbab2141755e9a578137846d0ef9 (patch)
tree8427130719946e076088ea93fe82b0303d13348e /src
parent271bd21802b604e10c8b2269e3fdbb93c0855140 (diff)
downloadweechat-2da039222d2cfbab2141755e9a578137846d0ef9.zip
Added pv count in /server output
Diffstat (limited to 'src')
-rw-r--r--src/irc/irc-display.c5
-rw-r--r--src/irc/irc-server.c21
-rw-r--r--src/irc/irc.h1
3 files changed, 26 insertions, 1 deletions
diff --git a/src/irc/irc-display.c b/src/irc/irc-display.c
index 7d853820c..31d12d310 100644
--- a/src/irc/irc-display.c
+++ b/src/irc/irc-display.c
@@ -379,7 +379,7 @@ void
irc_display_server (t_irc_server *server, int with_detail)
{
char *string;
- int num_channels;
+ int num_channels, num_pv;
if (with_detail)
{
@@ -468,9 +468,12 @@ irc_display_server (t_irc_server *server, int with_detail)
if (server->is_connected)
{
num_channels = irc_server_get_channel_count (server);
+ num_pv = irc_server_get_pv_count (server);
gui_printf (NULL, ", ");
gui_printf (NULL, NG_("%d channel", "%d channels", num_channels),
num_channels);
+ gui_printf (NULL, ", ");
+ gui_printf (NULL, _("%d pv"), num_pv);
}
gui_printf (NULL, "%s]%s%s\n",
GUI_COLOR(COLOR_WIN_CHAT_DARK),
diff --git a/src/irc/irc-server.c b/src/irc/irc-server.c
index 272ceb26f..caaab7d74 100644
--- a/src/irc/irc-server.c
+++ b/src/irc/irc-server.c
@@ -2106,12 +2106,33 @@ irc_server_get_channel_count (t_irc_server *server)
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
+ if (ptr_channel->type == CHANNEL_TYPE_CHANNEL)
count++;
}
return count;
}
/*
+ * irc_server_get_pv_count: return number of pv for server
+ */
+
+int
+irc_server_get_pv_count (t_irc_server *server)
+{
+ int count;
+ t_irc_channel *ptr_channel;
+
+ count = 0;
+ for (ptr_channel = server->channels; ptr_channel;
+ ptr_channel = ptr_channel->next_channel)
+ {
+ if (ptr_channel->type != CHANNEL_TYPE_CHANNEL)
+ count++;
+ }
+ return count;
+}
+
+/*
* irc_server_remove_away: remove away for all chans/nicks (for all servers)
*/
diff --git a/src/irc/irc.h b/src/irc/irc.h
index 742d45ed9..3b1b00c31 100644
--- a/src/irc/irc.h
+++ b/src/irc/irc.h
@@ -399,6 +399,7 @@ extern int irc_server_get_number_connected ();
extern void irc_server_get_number_buffer (t_irc_server *, int *, int *);
extern int irc_server_name_already_exists (char *);
extern int irc_server_get_channel_count (t_irc_server *);
+extern int irc_server_get_pv_count (t_irc_server *);
extern void irc_server_remove_away ();
extern void irc_server_check_away ();
extern void irc_server_set_away (t_irc_server *, char *, int);