empathy r2022 - in trunk: . libempathy-gtk src



Author: xclaesse
Date: Tue Jan  6 16:45:51 2009
New Revision: 2022
URL: http://svn.gnome.org/viewvc/empathy?rev=2022&view=rev

Log:
Adapt Patryk's patch to trunk.

Modified:
   trunk/configure.ac
   trunk/libempathy-gtk/empathy-conf.h
   trunk/src/empathy-call-window.c
   trunk/src/empathy-chat-window.c
   trunk/src/empathy-main-window.c

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Tue Jan  6 16:45:51 2009
@@ -107,6 +107,7 @@
    x11
    libglade-2.0 >= $LIBGLADE_REQUIRED
    libebook-1.2
+   libcanberra-gtk >= 0.4
 ])
 
 # -----------------------------------------------------------

Modified: trunk/libempathy-gtk/empathy-conf.h
==============================================================================
--- trunk/libempathy-gtk/empathy-conf.h	(original)
+++ trunk/libempathy-gtk/empathy-conf.h	Tue Jan  6 16:45:51 2009
@@ -74,6 +74,7 @@
 #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,

Modified: trunk/src/empathy-call-window.c
==============================================================================
--- trunk/src/empathy-call-window.c	(original)
+++ trunk/src/empathy-call-window.c	Tue Jan  6 16:45:51 2009
@@ -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 @@
 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 @@
       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)
     {

Modified: trunk/src/empathy-chat-window.c
==============================================================================
--- trunk/src/empathy-chat-window.c	(original)
+++ trunk/src/empathy-chat-window.c	Tue Jan  6 16:45:51 2009
@@ -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 @@
 	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;
 	}

Modified: trunk/src/empathy-main-window.c
==============================================================================
--- trunk/src/empathy-main-window.c	(original)
+++ trunk/src/empathy-main-window.c	Tue Jan  6 16:45:51 2009
@@ -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 @@
 	/* 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 @@
 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_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) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]