empathy r2082 - in trunk: libempathy-gtk python/pyempathygtk src
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r2082 - in trunk: libempathy-gtk python/pyempathygtk src
- Date: Tue, 6 Jan 2009 16:49:01 +0000 (UTC)
Author: xclaesse
Date: Tue Jan 6 16:49:01 2009
New Revision: 2082
URL: http://svn.gnome.org/viewvc/empathy?rev=2082&view=rev
Log:
Update empathy_sound_play () to be nicer to use and centralize the list
of sounds we support.
Modified:
trunk/libempathy-gtk/empathy-ui-utils.c
trunk/libempathy-gtk/empathy-ui-utils.h
trunk/python/pyempathygtk/pyempathygtk.defs
trunk/src/empathy-call-window.c
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:49:01 2009
@@ -1493,6 +1493,36 @@
gtk_widget_show (widget);
}
+typedef struct {
+ EmpathySound sound_id;
+ const char * event_ca_id;
+ const char * event_ca_description;
+ const char * gconf_key;
+} EmpathySoundEntry;
+
+static EmpathySoundEntry sound_entries[LAST_EMPATHY_SOUND] = {
+ { EMPATHY_SOUND_MESSAGE_INCOMING, "message-new-instant",
+ N_("Received an instant message"), EMPATHY_PREFS_SOUNDS_INCOMING_MESSAGE } ,
+ { EMPATHY_SOUND_MESSAGE_OUTGOING, "message-sent-instant",
+ N_("Sent an instant message"), EMPATHY_PREFS_SOUNDS_OUTGOING_MESSAGE } ,
+ { EMPATHY_SOUND_CONVERSATION_NEW, "message-new-instant",
+ N_("Incoming chat request"), EMPATHY_PREFS_SOUNDS_NEW_CONVERSATION },
+ { EMPATHY_SOUND_CONTACT_CONNECTED, "service-login",
+ N_("Contact connected"), EMPATHY_PREFS_SOUNDS_CONTACT_LOGIN },
+ { EMPATHY_SOUND_CONTACT_DISCONNECTED, "service-logout",
+ N_("Contact disconnected"), EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT },
+ { EMPATHY_SOUND_ACCOUNT_CONNECTED, "service-login",
+ N_("Connected to server"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGIN },
+ { EMPATHY_SOUND_ACCOUNT_DISCONNECTED, "service-logout",
+ N_("Disconnected from server"), EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT },
+ { EMPATHY_SOUND_PHONE_INCOMING, "phone-incoming-call",
+ N_("Incoming voice call"), NULL },
+ { EMPATHY_SOUND_PHONE_OUTGOING, "phone-outgoing-calling",
+ N_("Outgoing voice call"), NULL },
+ { EMPATHY_SOUND_PHONE_HANGUP, "phone-hangup",
+ N_("Voice call ended"), NULL },
+};
+
static gboolean
empathy_sound_pref_is_enabled (const char *key)
{
@@ -1530,14 +1560,19 @@
void
empathy_sound_play (GtkWidget *widget,
- const char *key,
- const char *event_id,
- const char *description)
+ EmpathySound sound_id)
{
- if (empathy_sound_pref_is_enabled (key)) {
+ EmpathySoundEntry *entry = &(sound_entries[sound_id]);
+ gboolean should_play = TRUE;
+
+ if (entry->gconf_key != NULL) {
+ should_play = empathy_sound_pref_is_enabled (entry->gconf_key);
+ }
+
+ if (should_play) {
ca_gtk_play_for_widget (widget, 0,
- CA_PROP_EVENT_ID, event_id,
- CA_PROP_EVENT_DESCRIPTION, description,
+ CA_PROP_EVENT_ID, entry->event_ca_id,
+ CA_PROP_EVENT_DESCRIPTION, entry->event_ca_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:49:01 2009
@@ -44,6 +44,20 @@
G_BEGIN_DECLS
+typedef enum {
+ EMPATHY_SOUND_MESSAGE_INCOMING,
+ EMPATHY_SOUND_MESSAGE_OUTGOING,
+ EMPATHY_SOUND_CONVERSATION_NEW,
+ EMPATHY_SOUND_CONTACT_CONNECTED,
+ EMPATHY_SOUND_CONTACT_DISCONNECTED,
+ EMPATHY_SOUND_ACCOUNT_CONNECTED,
+ EMPATHY_SOUND_ACCOUNT_DISCONNECTED,
+ EMPATHY_SOUND_PHONE_INCOMING,
+ EMPATHY_SOUND_PHONE_OUTGOING,
+ EMPATHY_SOUND_PHONE_HANGUP,
+ LAST_EMPATHY_SOUND
+} EmpathySound;
+
#define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
void empathy_gtk_init (void);
@@ -116,9 +130,7 @@
/* Sounds */
void empathy_sound_play (GtkWidget *widget,
- const char *key,
- const char *event_id,
- const char *description);
+ EmpathySound sound_id);
G_END_DECLS
Modified: trunk/python/pyempathygtk/pyempathygtk.defs
==============================================================================
--- trunk/python/pyempathygtk/pyempathygtk.defs (original)
+++ trunk/python/pyempathygtk/pyempathygtk.defs Tue Jan 6 16:49:01 2009
@@ -198,6 +198,25 @@
)
)
+(define-enum Sound
+ (in-module "Empathy")
+ (c-name "EmpathySound")
+ (gtype-id "EMPATHY_TYPE_SOUND")
+ (values
+ '("empathy-sound-message-incoming" "EMPATHY_SOUND_MESSAGE_INCOMING")
+ '("empathy-sound-message-outgoing" "EMPATHY_SOUND_MESSAGE_OUTGOING")
+ '("empathy-sound-conversation-new" "EMPATHY_SOUND_CONVERSATION_NEW")
+ '("empathy-sound-contact-connected" "EMPATHY_SOUND_CONTACT_CONNECTED")
+ '("empathy-sound-contact-disconnected" "EMPATHY_SOUND_CONTACT_DISCONNECTED")
+ '("empathy-sound-account-connected" "EMPATHY_SOUND_ACCOUNT_CONNECTED")
+ '("empathy-sound-account-disconnected" "EMPATHY_SOUND_ACCOUNT_DISCONNECTED")
+ '("empathy-sound-phone-incoming" "EMPATHY_SOUND_PHONE_INCOMING")
+ '("empathy-sound-phone-outgoing" "EMPATHY_SOUND_PHONE_OUTGOING")
+ '("empathy-sound-phone-hangup" "EMPATHY_SOUND_PHONE_HANGUP")
+ '("last-empathy-sound" "LAST_EMPATHY_SOUND")
+ )
+)
+
;; From empathy-account-chooser.h
@@ -1737,9 +1756,7 @@
(return-type "none")
(parameters
'("GtkWidget*" "widget")
- '("const-char*" "key")
- '("const-char*" "event_id")
- '("const-char*" "description")
+ '("EmpathySound" "sound_id")
)
)
Modified: trunk/src/empathy-call-window.c
==============================================================================
--- trunk/src/empathy-call-window.c (original)
+++ trunk/src/empathy-call-window.c Tue Jan 6 16:49:01 2009
@@ -25,7 +25,6 @@
#include <glade/glade.h>
#include <glib/gi18n.h>
-#include <canberra-gtk.h>
#include <telepathy-glib/enums.h>
@@ -195,10 +194,9 @@
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"),
- NULL);
+ empathy_sound_play (GTK_WIDGET (window->window),
+ EMPATHY_SOUND_PHONE_HANGUP);
+
DEBUG ("Call clicked, end call");
call_window_finalize (window);
}
@@ -403,19 +401,14 @@
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"),
- NULL);
+ empathy_sound_play (GTK_WIDGET (window->window),
+ EMPATHY_SOUND_PHONE_INCOMING);
}
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"),
- NULL);
- }
-
+ empathy_sound_play (GTK_WIDGET (window->window),
+ EMPATHY_SOUND_PHONE_OUTGOING);
+ }
}
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:49:01 2009
@@ -858,13 +858,11 @@
if (empathy_contact_is_user (sender) != FALSE) {
empathy_sound_play (GTK_WIDGET (priv->dialog),
- EMPATHY_PREFS_SOUNDS_OUTGOING_MESSAGE,
- "message-sent-instant", _("Sent an instant message"));
+ EMPATHY_SOUND_MESSAGE_OUTGOING);
} else {
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"));
+ EMPATHY_SOUND_MESSAGE_INCOMING);
}
}
Modified: trunk/src/empathy-main-window.c
==============================================================================
--- trunk/src/empathy-main-window.c (original)
+++ trunk/src/empathy-main-window.c Tue Jan 6 16:49:01 2009
@@ -284,8 +284,7 @@
main_window_flash_start (EmpathyMainWindow *window)
{
empathy_sound_play (GTK_WIDGET (window->window),
- EMPATHY_PREFS_SOUNDS_NEW_CONVERSATION,
- "message-new-instant", _("Incoming chat request"));
+ EMPATHY_SOUND_CONVERSATION_NEW);
if (window->flash_timeout_id != 0) {
return;
@@ -431,16 +430,14 @@
if (current == TP_CONNECTION_STATUS_DISCONNECTED) {
empathy_sound_play (GTK_WIDGET (window->window),
- EMPATHY_PREFS_SOUNDS_SERVICE_LOGOUT,
- "service-logout", _("Disconnected from server"));
+ EMPATHY_SOUND_ACCOUNT_DISCONNECTED);
}
if (current == TP_CONNECTION_STATUS_CONNECTED) {
GtkWidget *error_widget;
empathy_sound_play (GTK_WIDGET (window->window),
- EMPATHY_PREFS_SOUNDS_SERVICE_LOGIN,
- "service-login", _("Connected to server"));
+ EMPATHY_SOUND_ACCOUNT_CONNECTED);
/* Account connected without error, remove error message if any */
error_widget = g_hash_table_lookup (window->errors, account);
@@ -471,16 +468,14 @@
if (previous < MC_PRESENCE_AVAILABLE && current > MC_PRESENCE_OFFLINE) {
/* someone is logging in */
empathy_sound_play (GTK_WIDGET (window->window),
- EMPATHY_PREFS_SOUNDS_CONTACT_LOGIN,
- "service-login", _("Contact connected"));
+ EMPATHY_SOUND_CONTACT_CONNECTED);
return;
}
if (previous > MC_PRESENCE_OFFLINE && current < MC_PRESENCE_AVAILABLE) {
/* someone is logging off */
empathy_sound_play (GTK_WIDGET (window->window),
- EMPATHY_PREFS_SOUNDS_CONTACT_LOGOUT,
- "service-logout", _("Contact disconnected"));
+ EMPATHY_SOUND_CONTACT_DISCONNECTED);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]