diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-07 00:46:01 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-07 00:46:01 +0800 |
commit | 6ef34909df59304871330b9311430eb4116873a5 (patch) | |
tree | f314e755a77fb598c2f5b635ebc5f1a1ba0b9dd6 | |
parent | 7e38c381cd6e647e20b703973c9ed2c14f6ab543 (diff) | |
download | gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.tar gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.tar.gz gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.tar.bz2 gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.tar.lz gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.tar.xz gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.tar.zst gsoc2013-empathy-6ef34909df59304871330b9311430eb4116873a5.zip |
Adapt the libcanberra calls to use the new functions.
svn path=/trunk/; revision=2025
-rw-r--r-- | libempathy-gtk/empathy-conf.h | 1 | ||||
-rw-r--r-- | src/empathy-call-window.c | 3 | ||||
-rw-r--r-- | src/empathy-chat-window.c | 28 | ||||
-rw-r--r-- | src/empathy-main-window.c | 27 |
4 files changed, 31 insertions, 28 deletions
diff --git a/libempathy-gtk/empathy-conf.h b/libempathy-gtk/empathy-conf.h index 00f26c077..2c361f468 100644 --- a/libempathy-gtk/empathy-conf.h +++ b/libempathy-gtk/empathy-conf.h @@ -74,7 +74,6 @@ struct _EmpathyConfClass { #define EMPATHY_PREFS_AUTOCONNECT EMPATHY_PREFS_PATH "/autoconnect" #define EMPATHY_PREFS_IMPORT_ASKED EMPATHY_PREFS_PATH "/import_asked" #define EMPATHY_PREFS_FILE_TRANSFER_DEFAULT_FOLDER EMPATHY_PREFS_PATH "/file_transfer/default_folder" -#define EMPATHY_PREFS_INPUT_FEEDBACK_SOUNDS "/desktop/gnome/sound/input_feedback_sounds" typedef void (*EmpathyConfNotifyFunc) (EmpathyConf *conf, const gchar *key, diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index f8ccfc648..4c6777d62 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -198,7 +198,6 @@ call_window_hang_up_button_clicked_cb (GtkWidget *widget, ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, CA_PROP_EVENT_ID, "phone-hangup", CA_PROP_EVENT_DESCRIPTION, _("Voice call ended"), - CA_PROP_APPLICATION_NAME, g_get_application_name (), NULL); DEBUG ("Call clicked, end call"); call_window_finalize (window); @@ -407,7 +406,6 @@ call_window_update (EmpathyCallWindow *window) ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, CA_PROP_EVENT_ID, "phone-incoming-call", CA_PROP_EVENT_DESCRIPTION, _("Incoming voice call"), - CA_PROP_APPLICATION_NAME, g_get_application_name (), NULL); } else @@ -415,7 +413,6 @@ call_window_update (EmpathyCallWindow *window) ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, CA_PROP_EVENT_ID, "phone-outgoing-calling", CA_PROP_EVENT_DESCRIPTION, _("Outgoing voice call"), - CA_PROP_APPLICATION_NAME, g_get_application_name (), NULL); } 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); } } diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index 5c82fe599..ced1d68e3 100644 --- a/src/empathy-main-window.c +++ b/src/empathy-main-window.c @@ -286,11 +286,12 @@ main_window_flash_cb (EmpathyMainWindow *window) static void main_window_flash_start (EmpathyMainWindow *window) { - ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, - CA_PROP_EVENT_ID, "message-new-instant", - CA_PROP_EVENT_DESCRIPTION, _("Incoming chat request"), - CA_PROP_APPLICATION_NAME, g_get_application_name (), - NULL); + if (empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_NEW_CONVERSATION)) { + ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, + CA_PROP_EVENT_ID, "message-new-instant", + CA_PROP_EVENT_DESCRIPTION, _("Incoming chat request"), + NULL); + } if (window->flash_timeout_id != 0) { return; @@ -1172,22 +1173,24 @@ main_window_status_changed_cb (MissionControl *mc, main_window_error_display (window, account, message); } - if (status == TP_CONNECTION_STATUS_DISCONNECTED) { + if (status == TP_CONNECTION_STATUS_DISCONNECTED && + empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT)) { ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, CA_PROP_EVENT_ID, "service-logout", CA_PROP_EVENT_DESCRIPTION, _("Disconnected from server"), - CA_PROP_APPLICATION_NAME, g_get_application_name (), NULL); } if (status == TP_CONNECTION_STATUS_CONNECTED) { GtkWidget *error_widget; - ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, - CA_PROP_EVENT_ID, "service-login", - CA_PROP_EVENT_DESCRIPTION, _("Connected to server"), - CA_PROP_APPLICATION_NAME, g_get_application_name (), - NULL); + if (empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_SERVICE_LOGIN)) { + ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0, + CA_PROP_EVENT_ID, "service-login", + CA_PROP_EVENT_DESCRIPTION, _("Connected to server"), + NULL); + } + /* Account connected without error, remove error message if any */ error_widget = g_hash_table_lookup (window->errors, account); if (error_widget) { |