aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2009-01-07 00:46:01 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2009-01-07 00:46:01 +0800
commit6ef34909df59304871330b9311430eb4116873a5 (patch)
treef314e755a77fb598c2f5b635ebc5f1a1ba0b9dd6
parent7e38c381cd6e647e20b703973c9ed2c14f6ab543 (diff)
downloadgsoc2013-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.h1
-rw-r--r--src/empathy-call-window.c3
-rw-r--r--src/empathy-chat-window.c28
-rw-r--r--src/empathy-main-window.c27
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) {