From b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 6 Jan 2009 16:45:51 +0000 Subject: Adapt Patryk's patch to trunk. svn path=/trunk/; revision=2022 --- src/empathy-chat-window.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/empathy-chat-window.c') diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c index e0e9dae5d..b5e30d647 100644 --- a/src/empathy-chat-window.c +++ b/src/empathy-chat-window.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -841,11 +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) { + ca_gtk_play_for_widget (GTK_WIDGET (priv->dialog), 0, + 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 { + 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); + } + } + if (has_focus && priv->current_chat == chat) { return; } -- cgit v1.2.3