diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-07 00:45:51 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-07 00:45:51 +0800 |
commit | b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5 (patch) | |
tree | 0e9124d29e755b08b68fe1ea30cf92b87bd405d4 /src | |
parent | 8861b950403401359bc76abde0d2b211f77f5352 (diff) | |
download | gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.tar gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.tar.gz gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.tar.bz2 gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.tar.lz gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.tar.xz gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.tar.zst gsoc2013-empathy-b7bbdc37baa74f46c99ea4299a34b7ea4b4053e5.zip |
Adapt Patryk's patch to trunk.
svn path=/trunk/; revision=2022
Diffstat (limited to 'src')
-rw-r--r-- | src/empathy-call-window.c | 23 | ||||
-rw-r--r-- | src/empathy-chat-window.c | 24 | ||||
-rw-r--r-- | src/empathy-main-window.c | 21 |
3 files changed, 67 insertions, 1 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index 8edf6817c..f8ccfc648 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -25,6 +25,7 @@ #include <glade/glade.h> #include <glib/gi18n.h> +#include <canberra-gtk.h> #include <telepathy-glib/enums.h> @@ -194,6 +195,11 @@ static void call_window_hang_up_button_clicked_cb (GtkWidget *widget, EmpathyCallWindow *window) { + 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); } @@ -394,8 +400,25 @@ call_window_update (EmpathyCallWindow *window) gtk_window_set_title (GTK_WINDOW (window->window), title); gtk_label_set_text (GTK_LABEL (window->status_label), _("Ringing")); gtk_widget_set_sensitive (window->hang_up_button, TRUE); + if (is_incoming) + { call_window_show_confirmation_dialog (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 + { + 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); + } + } else if (window->status == EMPATHY_TP_CALL_STATUS_ACCEPTED) { 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 <gdk/gdkkeysyms.h> #include <glade/glade.h> #include <glib/gi18n.h> +#include <canberra-gtk.h> #include <telepathy-glib/util.h> #include <libmissioncontrol/mission-control.h> @@ -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; } diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c index 49bfe3d0a..5c82fe599 100644 --- a/src/empathy-main-window.c +++ b/src/empathy-main-window.c @@ -27,6 +27,7 @@ #include <gtk/gtk.h> #include <glade/glade.h> #include <glib/gi18n.h> +#include <canberra-gtk.h> #include <libempathy/empathy-contact.h> #include <libempathy/empathy-utils.h> @@ -212,7 +213,7 @@ main_window_flash_foreach (GtkTreeModel *model, /* To be used with gtk_tree_model_foreach, update the status icon * of the contact to show the event icon (on=TRUE) or the presence * (on=FALSE) */ - gtk_tree_model_get (model, iter, + gtk_tree_model_get (model, iter, EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact, -1); @@ -285,6 +286,11 @@ 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 (window->flash_timeout_id != 0) { return; @@ -1166,9 +1172,22 @@ main_window_status_changed_cb (MissionControl *mc, main_window_error_display (window, account, message); } + if (status == TP_CONNECTION_STATUS_DISCONNECTED) { + 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); /* Account connected without error, remove error message if any */ error_widget = g_hash_table_lookup (window->errors, account); if (error_widget) { |