Fix unread marker set with irc /away command: set unread marker for all servers/channels that are not displayed in a window

This commit is contained in:
Sebastien Helleu 2009-01-25 09:05:13 +01:00
parent f6ebe7a991
commit c36af7eb8d
2 changed files with 9 additions and 3 deletions

View File

@ -523,6 +523,8 @@ gui_buffer_get_integer (struct t_gui_buffer *buffer, const char *property)
{
if (string_strcasecmp (property, "number") == 0)
return buffer->number;
else if (string_strcasecmp (property, "num_displayed") == 0)
return buffer->num_displayed;
else if (string_strcasecmp (property, "notify") == 0)
return buffer->notify;
else if (string_strcasecmp (property, "lines_hidden") == 0)

View File

@ -292,16 +292,20 @@ irc_command_away_server (struct t_irc_server *server, const char *arguments,
free (string);
}
irc_server_set_away (server, server->nick, 1);
/* reset "unread" indicator on server and channels/pv buffers */
if (reset_unread_marker)
{
if (!weechat_config_boolean (irc_config_look_one_server_buffer))
weechat_buffer_set (server->buffer, "unread", "");
{
if (weechat_buffer_get_integer (server->buffer, "num_displayed") > 0)
weechat_buffer_set (server->buffer, "unread", "");
}
for (ptr_channel = server->channels; ptr_channel;
ptr_channel = ptr_channel->next_channel)
{
weechat_buffer_set (ptr_channel->buffer, "unread", "");
if (weechat_buffer_get_integer (ptr_channel->buffer, "num_displayed") > 0)
weechat_buffer_set (ptr_channel->buffer, "unread", "");
}
}
}