Only omit alerts when we're actually away

This commit is contained in:
Berke Viktor 2012-10-15 13:46:23 +02:00
parent e8f7653cf0
commit 831794e150
3 changed files with 16 additions and 16 deletions

View File

@ -2203,9 +2203,9 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
case XP_TE_DPRIVMSG:
case XP_TE_PRIVACTION:
case XP_TE_DPRIVACTION:
if (chanopt_is_set_a (prefs.input_beep_priv, sess->alert_beep) && !prefs.away_omit_alerts)
if (chanopt_is_set_a (prefs.input_beep_priv, sess->alert_beep) && (!prefs.away_omit_alerts || !sess->server->is_away))
sound_beep (sess);
if (chanopt_is_set_a (prefs.input_flash_priv, sess->alert_taskbar) && !prefs.away_omit_alerts)
if (chanopt_is_set_a (prefs.input_flash_priv, sess->alert_taskbar) && (!prefs.away_omit_alerts || !sess->server->is_away))
fe_flash_window (sess);
/* why is this one different? because of plugin-tray.c's hooks! ugly */
if (sess->alert_tray == SET_ON)
@ -2215,9 +2215,9 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
/* ===Highlighted message=== */
case XP_TE_HCHANACTION:
case XP_TE_HCHANMSG:
if (chanopt_is_set_a (prefs.input_beep_hilight, sess->alert_beep) && !prefs.away_omit_alerts)
if (chanopt_is_set_a (prefs.input_beep_hilight, sess->alert_beep) && (!prefs.away_omit_alerts || !sess->server->is_away))
sound_beep (sess);
if (chanopt_is_set_a (prefs.input_flash_hilight, sess->alert_taskbar) && !prefs.away_omit_alerts)
if (chanopt_is_set_a (prefs.input_flash_hilight, sess->alert_taskbar) && (!prefs.away_omit_alerts || !sess->server->is_away))
fe_flash_window (sess);
if (sess->alert_tray == SET_ON)
fe_tray_set_icon (FE_ICON_MESSAGE);
@ -2226,9 +2226,9 @@ text_emit (int index, session *sess, char *a, char *b, char *c, char *d)
/* ===Channel message=== */
case XP_TE_CHANACTION:
case XP_TE_CHANMSG:
if (chanopt_is_set_a (prefs.input_beep_chans, sess->alert_beep) && !prefs.away_omit_alerts)
if (chanopt_is_set_a (prefs.input_beep_chans, sess->alert_beep) && (!prefs.away_omit_alerts || !sess->server->is_away))
sound_beep (sess);
if (chanopt_is_set_a (prefs.input_flash_chans, sess->alert_taskbar) && !prefs.away_omit_alerts)
if (chanopt_is_set_a (prefs.input_flash_chans, sess->alert_taskbar) && (!prefs.away_omit_alerts || !sess->server->is_away))
fe_flash_window (sess);
if (sess->alert_tray == SET_ON)
fe_tray_set_icon (FE_ICON_MESSAGE);

View File

@ -587,7 +587,7 @@ fe_set_hilight (struct session *sess)
if (sess->gui->is_tab)
fe_set_tab_color (sess, 3); /* set tab to blue */
if (prefs.input_flash_hilight && !prefs.away_omit_alerts)
if (prefs.input_flash_hilight && (!prefs.away_omit_alerts || !sess->server->is_away))
fe_flash_window (sess); /* taskbar flash */
}

View File

@ -578,7 +578,7 @@ tray_hilight_cb (char *word[], void *userdata)
/*if (tray_status == TS_HIGHLIGHT)
return XCHAT_EAT_NONE;*/
if (prefs.input_tray_hilight && !prefs.away_omit_alerts)
if (prefs.input_tray_hilight && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
{
tray_set_flash (ICON_HILIGHT);
@ -592,7 +592,7 @@ tray_hilight_cb (char *word[], void *userdata)
tray_hilight_count, word[1], xchat_get_info (ph, "channel"));
}
if (prefs.input_balloon_hilight && !prefs.away_omit_alerts)
if (prefs.input_balloon_hilight && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
tray_set_balloonf (word[2], _(DISPLAY_NAME": Highlighted message from: %s (%s)"),
word[1], xchat_get_info (ph, "channel"));
@ -605,7 +605,7 @@ tray_message_cb (char *word[], void *userdata)
if (/*tray_status == TS_MESSAGE ||*/ tray_status == TS_HIGHLIGHT)
return XCHAT_EAT_NONE;
if (prefs.input_tray_chans && !prefs.away_omit_alerts)
if (prefs.input_tray_chans && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
{
tray_set_flash (ICON_MSG);
@ -617,7 +617,7 @@ tray_message_cb (char *word[], void *userdata)
tray_set_tipf (_(DISPLAY_NAME": %u new public messages."), tray_pub_count);
}
if (prefs.input_balloon_chans && !prefs.away_omit_alerts)
if (prefs.input_balloon_chans && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
tray_set_balloonf (word[2], _(DISPLAY_NAME": New public message from: %s (%s)"),
word[1], xchat_get_info (ph, "channel"));
@ -646,7 +646,7 @@ tray_priv (char *from, char *text)
tray_set_tipf (_(DISPLAY_NAME": %u private messages, latest from: %s (%s)"),
tray_priv_count, from, network);
if (prefs.input_balloon_priv && !prefs.away_omit_alerts)
if (prefs.input_balloon_priv && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
tray_set_balloonf (text, _(DISPLAY_NAME": Private message from: %s (%s)"),
from, network);
}
@ -657,7 +657,7 @@ tray_priv_cb (char *word[], void *userdata)
/*if (tray_status == TS_HIGHLIGHT)
return XCHAT_EAT_NONE;*/
if (prefs.input_tray_priv && !prefs.away_omit_alerts)
if (prefs.input_tray_priv && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
tray_priv (word[1], word[2]);
return XCHAT_EAT_NONE;
@ -669,7 +669,7 @@ tray_invited_cb (char *word[], void *userdata)
/*if (tray_status == TS_HIGHLIGHT)
return XCHAT_EAT_NONE;*/
if (prefs.input_tray_priv && !prefs.away_omit_alerts)
if (prefs.input_tray_priv && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
tray_priv (word[2], "Invited");
return XCHAT_EAT_NONE;
@ -687,7 +687,7 @@ tray_dcc_cb (char *word[], void *userdata)
if (!network)
network = xchat_get_info (ph, "server");
if (prefs.input_tray_priv && !prefs.away_omit_alerts)
if (prefs.input_tray_priv && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
{
tray_set_flash (ICON_FILE);
@ -700,7 +700,7 @@ tray_dcc_cb (char *word[], void *userdata)
tray_file_count, word[1], network);
}
if (prefs.input_balloon_priv && !prefs.away_omit_alerts)
if (prefs.input_balloon_priv && (!prefs.away_omit_alerts || tray_find_away_status () != 1))
tray_set_balloonf ("", _(DISPLAY_NAME": File offer from: %s (%s)"),
word[1], network);