aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-chat-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/empathy-chat-window.c')
-rw-r--r--src/empathy-chat-window.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index b5e30d647..e1bd9075e 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -842,30 +842,34 @@ chat_window_new_message_cb (EmpathyChat *chat,
EmpathyChatWindowPriv *priv;
gboolean has_focus;
gboolean needs_urgency;
- gboolean action_sounds_enabled;
EmpathyContact *sender;
priv = GET_PRIV (window);
has_focus = empathy_chat_window_has_focus (window);
- empathy_conf_get_bool (empathy_conf_get (),
- EMPATHY_PREFS_INPUT_FEEDBACK_SOUNDS,
- &action_sounds_enabled);
- /* always play sounds if enabled, otherwise only play if chat is not in focus */
- if (action_sounds_enabled || !has_focus || priv->current_chat != chat) {
- sender = empathy_message_get_sender(message);
- if (empathy_contact_is_user (sender) != FALSE) {
+ /* - if we're the sender, we play the sound if it's specified in the
+ * preferences and we're not away.
+ * - if we receive a message, we play the sound if it's specified in the
+ * prefereces and the window does not have focus on the chat receiving
+ * the message.
+ */
+
+ sender = empathy_message_get_sender (message);
+
+ if (empathy_contact_is_user (sender) != FALSE) {
+ if (empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_OUTGOING_MESSAGE)) {
ca_gtk_play_for_widget (GTK_WIDGET (priv->dialog), 0,
- CA_PROP_EVENT_ID, "message-sent-instant",
+ CA_PROP_EVENT_ID, "message-sent-instant",
CA_PROP_EVENT_DESCRIPTION, _("Sent an instant message"),
- CA_PROP_APPLICATION_NAME, g_get_application_name (),
NULL);
- } else {
+ }
+ } else {
+ if ((!has_focus || priv->current_chat != chat) &&
+ empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE)) {
ca_gtk_play_for_widget (GTK_WIDGET (priv->dialog), 0,
CA_PROP_EVENT_ID, "message-new-instant",
CA_PROP_EVENT_DESCRIPTION, _("Received an instant message"),
- CA_PROP_APPLICATION_NAME, g_get_application_name (),
NULL);
}
}