Moved unread to window subtypes

This commit is contained in:
James Booth
2014-12-21 23:14:01 +00:00
parent eef7f9cfd4
commit d5dee1632d
5 changed files with 61 additions and 34 deletions

View File

@@ -369,7 +369,7 @@ _ui_incoming_msg(const char * const barejid, const char * const message, GTimeVa
flash();
}
window->unread++;
chatwin->unread++;
if (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY)) {
_win_show_history(num, barejid);
}
@@ -438,7 +438,7 @@ _ui_incoming_private_msg(const char * const fulljid, const char * const message,
flash();
}
window->unread++;
privatewin->unread++;
if (prefs_get_boolean(PREF_CHLOG) && prefs_get_boolean(PREF_HISTORY)) {
_win_show_history(num, fulljid);
}
@@ -854,8 +854,6 @@ _ui_switch_win(const int i)
wins_set_current_by_num(i);
new_current->unread = 0;
if (i == 1) {
title_bar_console();
status_bar_current(1);
@@ -889,8 +887,6 @@ _ui_previous_win(void)
int i = wins_get_num(new_current);
wins_set_current_by_num(i);
new_current->unread = 0;
if (i == 1) {
title_bar_console();
status_bar_current(1);
@@ -920,8 +916,6 @@ _ui_next_win(void)
int i = wins_get_num(new_current);
wins_set_current_by_num(i);
new_current->unread = 0;
if (i == 1) {
title_bar_console();
status_bar_current(1);
@@ -1840,10 +1834,11 @@ static void
_ui_room_message(const char * const roomjid, const char * const nick,
const char * const message)
{
ProfWin *window = (ProfWin*)wins_get_muc(roomjid);
if (window == NULL) {
ProfMucWin *mucwin = wins_get_muc(roomjid);
if (mucwin == NULL) {
log_error("Room message received from %s, but no window open for %s", nick, roomjid);
} else {
ProfWin *window = (ProfWin*) mucwin;
int num = wins_get_num(window);
char *my_nick = muc_nick(roomjid);
@@ -1872,7 +1867,7 @@ _ui_room_message(const char * const roomjid, const char * const nick,
}
}
window->unread++;
mucwin->unread++;
}
int ui_index = num;
@@ -2228,7 +2223,7 @@ _ui_win_unread(int index)
{
ProfWin *window = wins_get_by_num(index);
if (window != NULL) {
return window->unread;
return win_unread(window);
} else {
return 0;
}