gnome-control-center r8810 - trunk/capplets/sound
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-control-center r8810 - trunk/capplets/sound
- Date: Mon, 28 Jul 2008 17:35:39 +0000 (UTC)
Author: hadess
Date: Mon Jul 28 17:35:38 2008
New Revision: 8810
URL: http://svn.gnome.org/viewvc/gnome-control-center?rev=8810&view=rev
Log:
2008-07-28 Bastien Nocera <hadess hadess net>
* sound-theme.c (play_sound_preview), (get_sound_filename):
When selecting custom files, listen to "update-preview", and try
to play everything that the user might select (Closes: #545056)
Modified:
trunk/capplets/sound/ChangeLog
trunk/capplets/sound/sound-theme.c
Modified: trunk/capplets/sound/sound-theme.c
==============================================================================
--- trunk/capplets/sound/sound-theme.c (original)
+++ trunk/capplets/sound/sound-theme.c Mon Jul 28 17:35:38 2008
@@ -451,6 +451,30 @@
g_free (filename);
}
+static void
+play_sound_preview (GtkFileChooser *chooser,
+ gpointer user_data)
+{
+ char *filename;
+ ca_context *ctx;
+
+ filename = gtk_file_chooser_get_preview_filename (GTK_FILE_CHOOSER (chooser));
+ if (filename == NULL)
+ return;
+
+ ctx = ca_gtk_context_get ();
+ ca_gtk_play_for_widget (GTK_WIDGET (chooser), 0,
+ CA_PROP_APPLICATION_NAME, _("Sound Preferences"),
+ CA_PROP_MEDIA_FILENAME, filename,
+ CA_PROP_EVENT_DESCRIPTION, _("Testing event sound"),
+ CA_PROP_CANBERRA_CACHE_CONTROL, "never",
+#ifdef CA_PROP_CANBERRA_ENABLE
+ CA_PROP_CANBERRA_ENABLE, "1",
+#endif
+ NULL);
+ g_free (filename);
+}
+
static char *
get_sound_filename (GladeXML *dialog)
{
@@ -478,6 +502,9 @@
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (chooser), filter);
+ g_signal_connect (G_OBJECT (chooser), "update-preview",
+ G_CALLBACK (play_sound_preview), NULL);
+
data_dirs = g_get_system_data_dirs ();
for (i = 0; data_dirs[i] != NULL; i++) {
path = g_build_filename (data_dirs[i], "sounds", NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]