empathy r2078 - in trunk: libempathy-gtk python/pyempathygtk src



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

Log:
Turn empathy_sound_pref_is_enabled into empathy_sound_play that
automatically plays the sound if the pref is enabled.

Modified:
   trunk/libempathy-gtk/empathy-ui-utils.c
   trunk/libempathy-gtk/empathy-ui-utils.h
   trunk/python/pyempathygtk/pyempathygtk.defs
   trunk/src/empathy-chat-window.c
   trunk/src/empathy-main-window.c

Modified: trunk/libempathy-gtk/empathy-ui-utils.c
==============================================================================
--- trunk/libempathy-gtk/empathy-ui-utils.c	(original)
+++ trunk/libempathy-gtk/empathy-ui-utils.c	Tue Jan  6 16:48:49 2009
@@ -38,6 +38,7 @@
 #include <gtk/gtk.h>
 #include <gio/gio.h>
 #include <glade/glade.h>
+#include <canberra-gtk.h>
 
 #include <libmissioncontrol/mc-profile.h>
 
@@ -1492,7 +1493,7 @@
 	gtk_widget_show (widget);
 }
 
-gboolean
+static gboolean
 empathy_sound_pref_is_enabled (const char *key)
 {
 	EmpathyConf *conf;
@@ -1526,3 +1527,17 @@
 
 	return res;
 }
+
+void
+empathy_sound_play (GtkWidget *widget,
+		    const char *key,
+		    const char *event_id,
+		    const char *description)
+{
+	if (empathy_sound_pref_is_enabled (key)) {
+		ca_gtk_play_for_widget (widget, 0,
+					CA_PROP_EVENT_ID, event_id,
+					CA_PROP_EVENT_DESCRIPTION, description,
+					NULL);
+	}
+}
\ No newline at end of file

Modified: trunk/libempathy-gtk/empathy-ui-utils.h
==============================================================================
--- trunk/libempathy-gtk/empathy-ui-utils.h	(original)
+++ trunk/libempathy-gtk/empathy-ui-utils.h	Tue Jan  6 16:48:49 2009
@@ -114,7 +114,11 @@
 
 void        empathy_send_file_with_file_chooser         (EmpathyContact   *contact);
 
-gboolean    empathy_sound_pref_is_enabled               (const char       *key);     
+/* Sounds */
+void        empathy_sound_play                          (GtkWidget        *widget,
+							 const char       *key,
+							 const char       *event_id,
+							 const char       *description);
 
 G_END_DECLS
 

Modified: trunk/python/pyempathygtk/pyempathygtk.defs
==============================================================================
--- trunk/python/pyempathygtk/pyempathygtk.defs	(original)
+++ trunk/python/pyempathygtk/pyempathygtk.defs	Tue Jan  6 16:48:49 2009
@@ -1732,11 +1732,14 @@
   )
 )
 
-(define-function sound_pref_is_enabled
-  (c-name "empathy_sound_pref_is_enabled")
-  (return-type "gboolean")
+(define-function sound_play
+  (c-name "empathy_sound_play")
+  (return-type "none")
   (parameters
+    '("GtkWidget*" "widget")
     '("const-char*" "key")
+    '("const-char*" "event_id")
+    '("const-char*" "description")
   )
 )
 

Modified: trunk/src/empathy-chat-window.c
==============================================================================
--- trunk/src/empathy-chat-window.c	(original)
+++ trunk/src/empathy-chat-window.c	Tue Jan  6 16:48:49 2009
@@ -33,7 +33,6 @@
 #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>
@@ -858,19 +857,14 @@
 	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_DESCRIPTION, _("Sent an instant message"),
-			                        NULL);
-		}
+		empathy_sound_play (GTK_WIDGET (priv->dialog),
+				    EMPATHY_PREFS_SOUNDS_OUTGOING_MESSAGE,
+				    "message-sent-instant", _("Sent an instant message"));
 	} 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"),
-			                        NULL);
+		if ((!has_focus || priv->current_chat != chat)) {
+			empathy_sound_play (GTK_WIDGET (priv->dialog),
+					    EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE,
+					    "message-new-instant", _("Received an instant message"));
 		}
 	}
 

Modified: trunk/src/empathy-main-window.c
==============================================================================
--- trunk/src/empathy-main-window.c	(original)
+++ trunk/src/empathy-main-window.c	Tue Jan  6 16:48:49 2009
@@ -27,7 +27,6 @@
 #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>
@@ -284,12 +283,9 @@
 static void
 main_window_flash_start (EmpathyMainWindow *window)
 {
-	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);
-	}
+	empathy_sound_play (GTK_WIDGET (window->window),
+			    EMPATHY_PREFS_SOUNDS_NEW_CONVERSATION,
+			    "message-new-instant", _("Incoming chat request"));
 
 	if (window->flash_timeout_id != 0) {
 		return;
@@ -433,23 +429,18 @@
 		main_window_error_display (window, account, message);
 	}
 
-	if (current == 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"),
-		                        NULL);
+	if (current == TP_CONNECTION_STATUS_DISCONNECTED) {
+		empathy_sound_play (GTK_WIDGET (window->window),
+				    EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT,
+				    "service-logout", _("Disconnected from server"));
 	}
 
 	if (current == TP_CONNECTION_STATUS_CONNECTED) {
 		GtkWidget *error_widget;
 
-		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);
-		}
+		empathy_sound_play (GTK_WIDGET (window->window),
+				    EMPATHY_PREFS_SOUNDS_SERVICE_LOGIN,
+				    "service-login", _("Connected to server"));
 
 		/* Account connected without error, remove error message if any */
 		error_widget = g_hash_table_lookup (window->errors, account);
@@ -479,23 +470,17 @@
 
 	if (previous < MC_PRESENCE_AVAILABLE && current > MC_PRESENCE_OFFLINE) {
 		/* someone is logging in */
-		if (empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_CONTACT_LOGIN)) {
-			ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0,
-						CA_PROP_EVENT_ID, "service-login",
-						CA_PROP_EVENT_DESCRIPTION, _("Contact logged in"),
-						NULL);
-		}
+		empathy_sound_play (GTK_WIDGET (window->window),
+				    EMPATHY_PREFS_SOUNDS_CONTACT_LOGIN,
+				    "service-login", _("Contact logged in"));
 		return;
 	}
 
 	if (previous > MC_PRESENCE_OFFLINE && current < MC_PRESENCE_AVAILABLE) {
 		/* someone is logging off */
-		if (empathy_sound_pref_is_enabled (EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT)) {
-			ca_gtk_play_for_widget (GTK_WIDGET (window->window), 0,
-						CA_PROP_EVENT_ID, "service-logout",
-						CA_PROP_EVENT_DESCRIPTION, _("Contact logged out"),
-						NULL);
-		}
+		empathy_sound_play (GTK_WIDGET (window->window),
+				    EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT,
+				    "service-logout", _("Contact logged out"));
 	}
 }
 



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