summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2008-12-18 11:19:25 +0000
committerBastien Nocera <hadess@src.gnome.org>2008-12-18 11:19:25 +0000
commit002e5163ac614eba3ed83bcd1bbec8bde6372b23 (patch)
treec719d18c61580548c2c7393398d98359b15f2383
parent34f643bb92644b0c93116fd5aaca5d0ed3a48aac (diff)
downloadgnome-control-center-002e5163ac614eba3ed83bcd1bbec8bde6372b23.tar.gz
Remove the sound capplet, it's now in gnome-media itself, removes
2008-12-18 Bastien Nocera <hadess@hadess.net> * capplets/Makefile.am: * capplets/sound/Makefile.am: * capplets/sound/gnome-settings-sound.desktop.in.in: * capplets/sound/icons/16x16/gnome-sound-properties.svg: * capplets/sound/icons/22x22/gnome-sound-properties.svg: * capplets/sound/icons/32x32/gnome-sound-properties.svg: * capplets/sound/icons/scalable/gnome-sound-properties.svg: * capplets/sound/mixer-support.c: * capplets/sound/mixer-support.h: * capplets/sound/pipeline-tests.c: * capplets/sound/pipeline-tests.h: * capplets/sound/sound-properties-capplet.c: * capplets/sound/sound-properties.glade: * capplets/sound/sound-theme-definition.h: * capplets/sound/sound-theme-file-utils.c: * capplets/sound/sound-theme-file-utils.h: * capplets/sound/sound-theme.c: * capplets/sound/sound-theme.h: * configure.in: Remove the sound capplet, it's now in gnome-media itself, removes libcanberra-gtk and GStreamer dependencies (Closes: #564871) svn path=/trunk/; revision=9173
-rw-r--r--ChangeLog24
-rw-r--r--capplets/Makefile.am6
-rw-r--r--capplets/sound/ChangeLog913
-rw-r--r--capplets/sound/Makefile.am65
-rw-r--r--capplets/sound/gnome-settings-sound.desktop.in.in14
-rw-r--r--capplets/sound/icons/16x16/gnome-sound-properties.pngbin917 -> 0 bytes
-rw-r--r--capplets/sound/icons/16x16/gnome-sound-properties.svg585
-rw-r--r--capplets/sound/icons/22x22/gnome-sound-properties.pngbin1424 -> 0 bytes
-rw-r--r--capplets/sound/icons/22x22/gnome-sound-properties.svg595
-rw-r--r--capplets/sound/icons/24x24/gnome-sound-properties.pngbin1431 -> 0 bytes
-rw-r--r--capplets/sound/icons/32x32/gnome-sound-properties.pngbin2308 -> 0 bytes
-rw-r--r--capplets/sound/icons/32x32/gnome-sound-properties.svg633
-rw-r--r--capplets/sound/icons/48x48/gnome-sound-properties.pngbin3755 -> 0 bytes
-rw-r--r--capplets/sound/icons/scalable/gnome-sound-properties.svg554
-rw-r--r--capplets/sound/mixer-support.c140
-rw-r--r--capplets/sound/mixer-support.h47
-rw-r--r--capplets/sound/pipeline-tests.c187
-rw-r--r--capplets/sound/pipeline-tests.h36
-rw-r--r--capplets/sound/sound-properties-capplet.c1206
-rw-r--r--capplets/sound/sound-properties.glade1208
-rw-r--r--capplets/sound/sound-theme-definition.h71
-rw-r--r--capplets/sound/sound-theme-file-utils.c166
-rw-r--r--capplets/sound/sound-theme-file-utils.h38
-rw-r--r--capplets/sound/sound-theme.c1237
-rw-r--r--capplets/sound/sound-theme.h31
-rw-r--r--configure.in64
26 files changed, 25 insertions, 7795 deletions
diff --git a/ChangeLog b/ChangeLog
index 92767c39a..1820730d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2008-12-18 Bastien Nocera <hadess@hadess.net>
+
+ * capplets/Makefile.am:
+ * capplets/sound/Makefile.am:
+ * capplets/sound/gnome-settings-sound.desktop.in.in:
+ * capplets/sound/icons/16x16/gnome-sound-properties.svg:
+ * capplets/sound/icons/22x22/gnome-sound-properties.svg:
+ * capplets/sound/icons/32x32/gnome-sound-properties.svg:
+ * capplets/sound/icons/scalable/gnome-sound-properties.svg:
+ * capplets/sound/mixer-support.c:
+ * capplets/sound/mixer-support.h:
+ * capplets/sound/pipeline-tests.c:
+ * capplets/sound/pipeline-tests.h:
+ * capplets/sound/sound-properties-capplet.c:
+ * capplets/sound/sound-properties.glade:
+ * capplets/sound/sound-theme-definition.h:
+ * capplets/sound/sound-theme-file-utils.c:
+ * capplets/sound/sound-theme-file-utils.h:
+ * capplets/sound/sound-theme.c:
+ * capplets/sound/sound-theme.h:
+ * configure.in: Remove the sound capplet, it's now in gnome-media
+ itself, removes libcanberra-gtk and GStreamer dependencies
+ (Closes: #564871)
+
==================== 2.25.2 ====================
2008-12-02 Matthias Clasen <mclasen@redhat.com>
diff --git a/capplets/Makefile.am b/capplets/Makefile.am
index ec0c4728d..f83a84785 100644
--- a/capplets/Makefile.am
+++ b/capplets/Makefile.am
@@ -19,9 +19,5 @@ if BUILD_ABOUTME
SUBDIRS += about-me
endif
-if BUILD_SOUND
-SUBDIRS += sound
-endif
-
DIST_SUBDIRS = \
- $(always_built_SUBDIRS) display about-me sound
+ $(always_built_SUBDIRS) display about-me
diff --git a/capplets/sound/ChangeLog b/capplets/sound/ChangeLog
deleted file mode 100644
index b8ac193b0..000000000
--- a/capplets/sound/ChangeLog
+++ /dev/null
@@ -1,913 +0,0 @@
-==================== 2.25.2 ====================
-
-==================== 2.25.1 ====================
-
-Fri Oct 24 19:19:46 2008 Søren Sandmann <sandmann@redhat.com>
-
- * sound-properties-capplet.c (setup_dialog): Delete code for
- legacy config options
-
-Fri Oct 24 19:19:29 2008 Søren Sandmann <sandmann@redhat.com>
-
- * sound-properties-capplet.c: Get rid of gnome include
-
-Fri Oct 24 18:28:54 2008 Søren Sandmann <sandmann@redhat.com>
-
- * sound-properties-capplet.c (main): Use capplet_init()
-
-2008-10-10 Bastien Nocera <hadess@hadess.net>
-
- * Makefile.am:
- * sound-theme.c (get_sound_filename): Simple patch to make
- the filechooser default to a sensible directory
-
-==================== 2.24.0.1 ====================
-
-2008-08-28 Claude Paroz <claude@2xlibre.net>
-
- reviewed by: Jens Granseuer <jensgr@gmx.net>
-
- * sound-theme-definition.h: add context to event sound names.
- * sound-theme.c: (setup_sound_theme_custom): replace gettext by g_dpgettext2 to
- use context information added in sound-theme-definition.h (bug #549489)
-
-2008-08-21 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Brian Cameron <brian.cameron@sun.com>
-
- * sound-theme.c: (set_combox_for_theme_name): trying to print NULL
- strings crashes on Solaris (bug #548586)
-
-2008-08-16 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Matthias Clasen <mclasen@redhat.com>
-
- * sound-theme.c: (play_sound_at_path),
- (custom_treeview_button_press_event_cb),
- (activatable_cell_renderer_pixbuf_activate),
- (activatable_cell_renderer_pixbuf_init),
- (activatable_cell_renderer_pixbuf_class_init),
- (setup_sound_theme_custom): make the event sound preview button
- listen to the "activate" signal so it becomes accessible via
- keyboard (bug #547808)
-
-2008-08-07 Jens Granseuer <jensgr@gmx.net>
-
- Based on a patch by: Bastien Nocera <hadess@hadess.net>
-
- * sound-properties.glade:
- * sound-theme-definition.h: HIG fixes and improved wording (bug
- #545219)
-
-2008-08-06 Jens Granseuer <jensgr@gmx.net>
-
- * sound-properties-capplet.c: (create_dialog): fix warning due to
- left-over developer code (bug #546583)
-
-2008-08-04 Rodrigo Moya <rodrigo@gnome-db.org>
-
- * Makefile.am: added missing file to _SOURCES.
-
-2008-08-02 Jens Granseuer <jensgr@gmx.net>
-
- Based on a patch by: Alexander Schwenn <alesch@xelaris.net>
-
- * sound-properties-capplet.c: (filter_device_generic),
- (filter_device_alsa), (filter_device_oss),
- (get_device_description), (device_added_alsa), (device_added_oss): add
- some filtering for OSS devices and create more useful device
- descriptions (bug #545275)
-
-2008-07-29 Bastien Nocera <hadess@hadess.net>
-
- * sound-theme-file-utils.c (custom_theme_update_time):
- * sound-theme-file-utils.h:
- * sound-theme.c (save_custom_theme): "touch" the custom theme
- directory every time we make a change (Closes: #545373)
-
-2008-07-29 Bastien Nocera <hadess@hadess.net>
-
- * sound-theme.c (setup_sound_theme_custom): Never mind, the define is
- actually used
-
-2008-07-29 Bastien Nocera <hadess@hadess.net>
-
- * Makefile.am: Remove visual-bell.png, unused now
-
-2008-07-29 Bastien Nocera <hadess@hadess.net>
-
- * sound-theme.c: Remove unused define
-
-2008-07-28 Jens Granseuer <jensgr@gmx.net>
-
- * sound-theme.c: (get_sound_filename): fix critical warning when music
- directory isn't set
-
- * (setting_column_edited): fix more leaks
-
- * (theme_changed_custom_reinit): when resetting a theme, also reset
- the preview icon status
-
-2008-07-28 Jens Granseuer <jensgr@gmx.net>
-
- * sound-theme.c: (load_index_theme_name),
- (set_combox_for_theme_name), (theme_combobox_changed),
- (setup_sound_theme), (get_sound_filename), (dump_theme),
- (setting_column_edited), (setup_sound_theme_custom): plug some leaks,
- simplify and/or clarify some code
-
-2008-07-28 Jens Granseuer <jensgr@gmx.net>
-
- * sound-theme.c: (custom_treeview_button_press_event_cb): don't
- preview sounds for insensitive rows
-
-2008-07-28 Bastien Nocera <hadess@hadess.net>
-
- * sound-theme.c (setting_set_func), (fill_custom_model),
- (save_sounds), (count_customised_sounds), (setting_column_edited):
- When selecting a non-custom sound (such as disabled, or builtin),
- don't remove the previous custom file's filename from the tree store,
- When a custom file was previously selected, always show it in the
- combo box drop-down (Closes: #545055)
-
-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)
-
-2008-07-28 Bastien Nocera <hadess@hadess.net>
-
- * sound-theme.c (save_custom_theme): Fix permissions on the
- custom theme directory, otherwise not even the user can read the files
- in there
-
-2008-07-28 Lennart Poettering <lennart@poettering.net>
-
- * sound-theme.c: pass 'cache control' property explicitly to make sure
- that the sound is never cached when it is previewed. Pass 'enable'
- property explicitly to make sure that the sound is guaranteed to be
- played, even when sound events are otherwise disabled.
-
-2008-07-28 Bastien Nocera <hadess@hadess.net>
-
- * Makefile.am:
- * sound-properties-capplet.c (create_dialog), (setup_dialog),
- (get_legacy_settings):
- * sound-properties.glade:
- * sound-theme-definition.h:
- * sound-theme-file-utils.[ch]:
- * sound-theme.[ch]: Remove separate bell settings tab, remove
- libsounds dependency, add freedesktop sound theme support through
- libcanberra (Closes: #542979)
-
-==================== 2.23.2 ====================
-
-2008-04-25 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Tim-Phillip Müller <t.i.m@zen.co.uk>
-
- * sound-properties-capplet.c: (add_device_with_probe),
- (device_added_alsa), (device_added_oss), (device_added_callback),
- (device_removed_callback), (setup_devices_by_capability),
- (setup_hal_devices), (setup_devices): add support for OSS 4 (bug
- #529720)
-
-2008-04-01 Jens Granseuer <jensgr@gmx.net>
-
- * mixer-support.c: (create_mixer_device_tree_model): sort mixer devices
- alphabetically (bug #525530)
-
-2008-04-01 Jens Granseuer <jensgr@gmx.net>
-
- * sound-properties-capplet.c: (device_added_callback): don't show
- modems and other unwanted devices (bug #523888)
-
-2008-03-27 Jens Granseuer <jensgr@gmx.net>
-
- * sound-properties.glade: don't mention esd (bug #519722)
-
-2008-03-24 Jaap A. Haitsma <jaap@haitsma.org>
-
- * visual-bell.png: New tango icon
- (bug #523916)
-
-2008-02-09 Jens Granseuer <jensgr@gmx.net>
-
- * Makefile.am: use the libsounds.la now that libsounds uses libtool
- (bug #515252)
-
-2007-12-11 Jens Granseuer <jensgr@gmx.net>
-
- * Makefile.am:
- * icons/48x48:
- * icons/48x48/gnome-sound-properties.png: add 48x48 PNG icon version
- by Andreas Nilsson <nisses.mail@home.se> (bug #502945)
-
-2007-06-29 Jens Granseuer <jensgr@gmx.net>
-
- * Makefile.am: fix target dir for icons
-
-2007-06-28 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Luca Feretti <elle.uca@libero.it>
-
- * gnome-settings-sound.desktop.in.in:
- * sound-properties-capplet.c: (main): use new icon name (patch from bug
- #397305)
-
-2007-06-28 Jens Granseuer <jensgr@gmx.net>
-
- * Makefile.am:
- * icons/16x16/gnome-sound-properties.svg:
- * icons/22x22/gnome-sound-properties.svg:
- * icons/32x32/gnome-sound-properties.svg:
- * icons/scalable/gnome-sound-properties.svg:
- add new icons by Josef Vybíral (closes bug #397305)
-
-2007-05-27 Jens Granseuer <jensgr@gmx.net>
-
- * pipeline-tests.c: (user_test_pipeline): and don't use
- gtk_timeout_remove, either..
-
-2007-05-27 Jens Granseuer <jensgr@gmx.net>
-
- * pipeline-tests.c: (user_test_pipeline): use g_timeout_add() instead
- of the deprecated gtk_timeout_add()
- * sound-properties.glade: set non-0 pulse step for the progress bar to
- actually make it move (fixes bug #441587)
-
-2007-05-06 Jens Granseuer <jensgr@gmx.net>
-
- * sound-properties-capplet.c: (create_dialog), (main): don't crash if
- glade file is not available
-
-2007-05-06 Jens Granseuer <jensgr@gmx.net>
-
- * sound-properties-capplet.c: (create_dialog):
- * sound-properties.glade: set button images via code instead of
- relying on glade, so they respect the gtk-button-images xsetting
-
-2007-04-27 Rodrigo Moya <rodrigo@gnome-db.org>
-
- * gnome-settings-sound.desktop.in.in: renamed Bugzilla product.
-
-2007-04-03 Jens Granseuer <jensgr@gmx.net>
-
- * sound-properties-capplet.c: (remove_device): move function inside
- USE_HAL
-
-2007-04-03 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Matthias Clasen <mclasen@redhat.com>
-
- * sound-properties-capplet.c: (setup_default_mixer): ellipsize the
- device combobox (bug #425650)
-
-2007-03-18 Christian Persch <chpe@gnome.org>
-
- * sound-properties.glade: Fix button label alignment. Bug #416238.
-
-2007-03-18 Christian Persch <chpe@gnome.org>
-
- * sound-properties-capplet.c: (create_dialog): Revert unrelated change
- accidentally committed with the previous commit.
-
-2007-03-18 Christian Persch <chpe@gnome.org>
-
- * sound-properties-capplet.c: (main): Initialise
- threads early, and fix option context translation. Bug #416239.
-
-2007-02-10 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Patrick Wade <patrick.wade@sun.com>
-
- * sound-properties.glade: add a11y label relations for the devices
- tab (fixes bug #369302)
-
-2007-02-02 Jens Granseuer <jensgr@gmx.net>
-
- Patch by: Gabor Kelemen <kelemeng@gnome.hu>
-
- * sound-properties-capplet.c: (setup_devices): Polypaudio is now
- PulseAudio (fixes bug #394003)
-
-2007-01-29 Kjartan Maraas <kmaraas@gnome.org>
-
- * sound-properties-capplet.c: (setup_hal_devices), (setup_devices):
- ANSIfication of function declarations.
-
-2007-01-14 Christian Persch <chpe@svn.gnome.org>
-
- * sound-properties.glade: Fix label alignments bug (caused by glade-3
- bug 396433).
-
-2007-01-14 Christian Persch <chpe@svn.gnome.org>
-
- * sound-properties-capplet.c: (create_dialog): Show the sound
- properties view after adding it to the dialogue.
-
-2007-01-11 Christian Persch <chpe@svn.gnome.org>
-
- * capplets/sound/Makefile.am:
- * capplets/sound/sound-properties-capplet.c: (create_dialog),
- (dialog_response_cb), (main):
- * capplets/sound/sound-properties.glade:
- Fix spacings and just build the whole dialogue from glade, not just
- the main part. Bug #394068.
-
-2007-01-09 Jan Arne Petersen <jpetersen@jpetersen.org>
-
- Fixes #394736
-
- * sound-properties-capplet.c: (update_mixer_tracks_selection),
- (update_mixer_device_combobox): added NULL-check.
-
-2007-01-08 Jan Arne Petersen <jpetersen@jpetersen.org>
-
- Fixes #173035
-
- * Makefile.am, mixer-support.c, mixer-support.h: Add new files.
- * sound-properties-capplet.c: (mixer_device_combobox_changed),
- (add_track_label_to_list), (mixer_tracks_selection_changed),
- (update_mixer_tracks_selection), (default_mixer_tracks_notify),
- (update_mixer_device_combobox), (default_mixer_device_notify),
- (setup_default_mixer), (setup_dialog):
- * sound-properties.glade: added support for selecting mixer device and
- tracks in the capplet.
-
-2007-01-07 Thomas Wood <thos@gnome.org>
-
- * sound-properties.glade: Use GtkAlignment for padding, rather than a
- GtkHbox and GtkFrame. Fixes bug 143215.
-
-2007-01-07 Kjartan Maraas <kmaraas@gnome.org>
-
- * sound-properties-capplet.c: (setup_devices):
- Spell Enlightened Sound Daemon correctly.
-
-2007-01-07 Gabor Kelemen <kelemeng@gnome.hu>
-
- Fixes #350572
-
- * sound-properties.glade: Add accelerators to the device tab.
-
-2007-01-06 Marc-Andre Lureau <marcandre.lureau@gmail.com>
-
- Fixes #392276
-
- * sound-properties-capplet.c (setup_dialog): #ifdef esd-related code.
-
-2007-01-06 Lucas Rocha <lucasr.at.mundo@gmail.com>
-
- Fixes #336286
-
- * sound-properties-capplet.c (main): switched from popt to GOptionContext.
-
-2007-01-07 Jan Arne Petersen <jap@gnome.org>
-
- * sound-properties-capplet.c: (setup_hal_devices): do proper
- dbus/libhal error handling. (Closes #363005)
-
-2007-01-06 Gabor Kelemen <kelemeng@gnome.hu>
-
- Fixes #393472
-
- * sound-properties-capplet.c: marked sound system names translatable.
-
-2006-08-10 Christian Persch <chpe@gnome.org>
-
- Fixes #350556
-
- * sound-properties-capplet.c (add_selected_device): fixed mem leak.
-
-2006-08-02 Klaus Pedersen <klaus.kruse.pedersen@mail.tele.dk>
-
- Fixes #349254
-
- * sound-properties-capplet.c: removed unneeded header file.
-
-2006-07-26 Ali Akcaagac <aliakc@web.de>
-
- Fixes #348755
-
- * sound-properties-capplet.c: only include libhal if HAL is enabled.
-
-2006-07-23 Sebastien Bacher <seb128@debian.org>
-
- * gnome-settings-sound.desktop.in.in:
- don't list the Application category, list the HardwareSettings one,
- patch by Vincent Fretin <vincent.fretin@gmail.com> (Closes: #344321)
-
-2006-06-26 Sergey Udaltsov <svu@gnome.org>
-
- * Makefile.am: added pipeline-tests.h to SOURCES
-
-2006-05-26 Rodrigo Moya <rodrigo@novell.com>
-
- Fixes #324971
-
- * sound-properties.glade: s/Ok/OK.
-
-2006-05-05 Jürg Billeter <j@bitron.ch>
-
- * Makefile.am:
- * pipeline-tests.c: (user_test_pipeline_response),
- (user_test_pipeline_timeout), (build_test_pipeline),
- (pipeline_error_dlg), (user_test_pipeline):
- * pipeline-tests.h:
- * sound-properties-capplet.c: (element_available), (add_device),
- (remove_device), (device_added_callback),
- (device_removed_callback), (setup_hal_devices),
- (device_test_button_clicked), (get_gconf_key_for_profile),
- (device_changed), (get_gconf_description_for_profile),
- (gconf_key_changed), (setup_device_chooser), (add_selected_device),
- (setup_devices), (setup_dialog), (main):
- * sound-properties.glade:
-
- Add sound device selection using HAL and GStreamer (Closes: #329112).
-
-2006-01-11 Scott Reeves <SReeves@novell.com>
-
- * sound-properties.glade: new GUI.
-
- * sound-properties-capplet.c (create_dialog): make dialog bigger.
-
-2005-05-22 Sebastien Bacher <seb128@debian.org>
-
- * sound-properties-capplet.c: (main):
- fix the title according to the HIG (Closes: #304950).
-
-2005-02-07 Sebastien Bacher <seb128@debian.org>
-
- * sound-properties-capplet.c: change fullscreen_flash to fullscreen
- (Closes: #166455).
-
-2004-11-09 Mark McLoughlin <mark@skynet.ie>
-
- * Makefile.am: install .desktop file in $(datadir)/applications
-
- * gnome-settings-sound.desktop.in: add OnlyShowIn=GNOME;
-
-2004-10-14 Jody Goldberg <jody@gnome.org>
-
- * Release 2.8.1
-
-2004-08-20 Frederic Crozat <fcrozat@mandrakesoft.com>
-
- * .cvsignore:
- Quiet CVS.
-
- * sound-properties-capplet.c: (main):
- Use themed icon for WM hint.
-
-2004-06-22 Leena Gunda <leena.gunda@wipro.com>
-
- * sound-properties-capplet.c:
- (create_dialog): set sensitivity of audible/visual bell
- options only if XKB enabled.
- (CheckXKB): function to check if XKB support available.
- Fixes bug #144090
-
-2004-04-15 Jody Goldberg <jody@gnome.org>
-
- * Release 2.6.1
-
-2004-04-01 Jody Goldberg <jody@gnome.org>
-
- * Release 2.6.0.3
-
-2004-03-30 Jody Goldberg <jody@gnome.org>
-
- * Release 2.6.0.1
-
-2004-03-23 Jody Goldberg <jody@gnome.org>
-
- * Release 2.6.0
-
-2004-03-11 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.4
-
-2004-02-13 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.3
-
-2004-02-12 Mark McLoughlin <mark@skynet.ie>
-
- * sound-properties-capplet.c: (dialog_button_clicked_cb): Update
- help link to point to user-guide.xml
-
-2004-01-14 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.2
-
-2003-12-30 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.1.1
-
-2003-12-30 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.1
-
-2003-10-28 Jody Goldberg <jody@gnome.org>
-
- * Release 2.5.0
-
-2003-08-01 Dennis Cranston <dennis_cranston at yahoo com>
-
- * sound-properties-capplet.c: Patch to fix spacing between action
- area and vbox of preferences dialog.
-
-2003-07-11 Dennis Cranston <dennis_cranston at yahoo com>
-
- * sound-properties.glade, sound-properties-capplet.c:
- More fixes for ui-review bug number 99533.
-
-2003-07-07 Jody Goldberg <jody@gnome.org>
-
- * Release 2.3.4
-
-2003-07-07 Calum Benson <calum.benson@sun.com>
-
- * visual-bell.png:
- Replace Bill's placeholder icon before the UI freeze :)
-
-2003-06-24 Jody Goldberg <jody@gnome.org>
-
- * Release 2.3.3
-
-Fri Jun 6 19:16:43 2003 Jonathan Blandford <jrb@gnome.org>
-
- * sound-properties-capplet.c (bell_flash_to_widget),
- (bell_flash_from_widget): Use a peditor for the visual bell
- instead.
-
-2003-06-06 Bill Haneman <bill.haneman@sun.com>
-
- * sound-properties.glade:
- Added page tab and UI from "visual bell" capplet
- (UI originally from Calum, except for ugly icon)
-
- * visual-bell.png:
- Ugly new icon which needs TLC from Calum.
-
- * sound-properties-capplet.c:
- Added gconf keys for visual bell feature and control of
- audio bell.
- (visual_bell_type_changed): New, called when visual bell radiobuttons
- are toggled.
- (create_dialog):
- Set the image on the "System Bell" notebook tab.
- (setup_dialog):
- Added peditors for visual-bell and audio-bell checkboxes/gconf keys.
- Added guards for the visual-bell type buttons, controlled by
- the visual-bell-enabling checkbox.
- Connected visual_bell_type_changed to "toggled" signal on radiobuttons.
-
-2003-05-07 Jody Goldberg <jody@gnome.org>
-
- * Release 2.3.1
-
-2003-04-30 Alex Duggan <aldug@astrolinux.com>
-
- * sound-properties-capplet.c: use appropriate
- window border icon.
-
-2003-04-29 Kjartan Maraas <kmaraas@gnome.org>
-
- * sound-properties-capplet.c: (main): Plug a leak.
-
-Tue Feb 4 17:09:18 2003 Jonathan Blandford <jrb@redhat.com>
-
- * Release 2.2.0.1
-
-Tue Jan 21 01:15:14 2003 Jonathan Blandford <jrb@gnome.org>
-
- * Release 2.2.0
-
-Thu Jan 16 02:41:09 2003 Jonathan Blandford <jrb@gnome.org>
-
- * Release 2.1.7
-
-2003-01-10 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.6
-
-2002-12-18 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.5
-
-2002-11-23 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.3
-
-2002-11-02 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.2
-
-2002-10-21 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.1
-
-2002-10-08 Deepa Natarajan <deepa.natarajan@wipro.com>
-
- *sound-properties.glade: Remove mnemonics for notebook tabs.
- Fixes bug# 94160.
-
-2002-10-01 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.0.1
-
-2002-08-21 Jody Goldberg <jody@gnome.org>
-
- * Release 2.1.0
-
-2002-08-19 Ross Burton <ross@burtonini.com>
-
- * sound.desktop.in: Fix the desktop file so that it validates.
-
-2002-07-31 Federico Mena Quintero <federico@ximian.com>
-
- * sound-properties-capplet.c (main): Do not pass -1 for the dialog
- flags; just pass GTK_DIALOG_NO_SEPARATOR. Fixes #89408 and #88614.
-
-2002-06-17 Jody Goldberg <jody@gnome.org>
-
- * Release 2.0.0
-
-2002-05-28 Satyajit Kanungo <satyajit.kanungo@wipro.com>
-
- * sound-properties-capplet.c : Changed the help file link
- to get the help document from user-guide.
-
-2002-05-26 Jody Goldberg <jody@gnome.org>
-
- * sound-properties-capplet.c (dialog_button_clicked_cb) : Improve
- handling of help failures.
-
-Sun May 26 11:32:09 2002 Jonathan Blandford <jrb@gnome.org>
-
- * sound-properties-capplet.c (main): use APPID instead of argv[0]
-
-2002-05-08 Jody Goldberg <jody@gnome.org>
-
- * sound-properties-capplet.c (dialog_button_clicked_cb) : fix help path
-
-2002-05-07 Jody Goldberg <jody@gnome.org>
-
- * sound-properties-capplet.c (main) : add help.
- (dialog_button_clicked_cb) : support help and support WM based exit.
-
-Wed Apr 10 18:05:30 2002 Jonathan Blandford <jrb@gnome.org>
-
- * sound.desktop.in (Exec): s/gnome2/gnome
-
-2002-03-27 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties.glade: Add mnemonics.
-
- * sound-properties-capplet.c (create_dialog): Connect to
- properties so we know when to save.
-
-2002-03-27 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties.glade: Add mnemonics.
-
- * sound-properties-capplet.c (create_dialog): Connect to
- properties so we know when to save.
-
-2002-03-10 Seth Nickell <snickell@stanford.edu>
-
- * main.c: (main):
- * sound-properties-capplet.c: (main):
-
- Activate the settings daemon if its not already running.
-
-2002-03-07 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties-capplet.c (main): Okay, so I'm an idiot.
-
-2002-03-06 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties-capplet.c (main): Remove textdomain stuff.
- I'm not 100% certain this is correct, but none of the other capplets
- have it.
-
-2002-03-07 Lauris Kaplinski <lauris@ximian.com>
-
- * sound-properties-capplet.c: Do not include unused <esd.h>
-
-2002-02-27 Kjartan Maraas <kmaraas@gnome.org>
-
- * sound-properties-capplet.c: s/PACKAGE/GETTEXT_PACKAGE/g
-
-2002-02-11 Seth Nickell <snickell@stanford.edu>
-
- * sound-properties-capplet.c: (setup_dialog),
- (dialog_button_clicked_cb), (main):
-
- Convert to instant apply.
-
-2002-02-04 Lauris Kaplinski <lauris@ximian.com>
-
- * sound-properties-capplet.c (create_dialog): Use g_object_set_data,
- use g_signal_connect
- (dialog_button_clicked_cb): GtkDialog instead of GnomeDialog
- (create_dialog): Use gtk_widget_set_size_request
-
-2002-01-27 Seth Nickell <snickell@stanford.edu>
-
- * sound.desktop.in:
-
- Add categories field to .desktop file.
-
-2002-01-19 Seth Nickell <snickell@stanford.edu>
-
- * Makefile.am:
-
- Install icons into the pixmaps directory so the Panel
- & Nautilus will pick up on them.
-
-2002-01-14 Bradford Hovinen <hovinen@ximian.com>
-
- * Makefile.am (bin_PROGRAMS): Rename binary gnome2-sound-properties
-
-2002-01-08 Richard Hestilow <hestilow@ximian.com>
-
- * Port to GNOME 2.0.
-
-2001-11-18 Richard Hestilow <hestilow@ximian.com>
-
- * Makefile.am (sound_properties_control_LDADD): Add libsounds.a.
-
- * prefs-widget.c (apply_settings): Export our settings to
- gnome-config (needed by gnome-libs). Also save and reload event
- sounds.
- (create_dialog): Add a SoundView on the sound events.
-
- * sound-properties.glade: Add a tab for the sound events.
-
-2001-10-12 Bradford Hovinen <hovinen@ximian.com>
-
- * Makefile.am: Make OAF file creation generic
-
-2001-09-28 Bradford Hovinen <hovinen@ximian.com>
-
- * Makefile.am: Remove support for disabling bonobo-conf build
-
- * Makefile.am: Change the binary name to
- mouse-properties-control and create a wrapper script from
- ../common/wrapper-script.in to be named mouse-properties-capplet
-
-2001-07-31 Chema Celorio <chema@celorio.com>
-
- * Makefile.am (cappletname): add DISTDIR to install-data-local
-
-2001-07-27 Bradford Hovinen <hovinen@ximian.com>
-
- * RELEASE : 1.5.2
-
-2001-07-25 Chema Celorio <chema@celorio.com>
-
- * Makefile.am: remove the OAF_FILE_IN_RULE and copy it here
- * Makefile.am: remove the DESKTOP_IN_RULE and copy the sed here
-
-2001-07-25 Bradford Hovinen <hovinen@ximian.com>
-
- * prefs-widget.c (prefs_widget_init): Fix macro name
-
- * main.c (main): Fix macro name
-
-2001-07-24 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties-capplet.c (main): Pass in legacy files to
- capplet_init.
- (get_legacy_settings): Use the "Main" config prefix.
-
-2001-07-23 Bradford Hovinen <hovinen@ximian.com>
-
- * sound-properties-capplet.c (apply_settings): Make sure ESD gets
- killed if it's supposed to
-
-2001-07-20 Chema Celorio <chema@celorio.com>
-
- * RELEASE : 1.5.0
-
-2001-07-19 Bradford Hovinen <hovinen@ximian.com>
-
- * Makefile.am: Remove SUBDIRS
- Remove extraneous EXTRA_DIST
- Make sure to include defaults and OAF info files
-
-2001-07-18 Bradford Hovinen <hovinen@ximian.com>
-
- * Bonobo_Control_Capplet_sound_properties.oaf: Update for new
- binary name
-
-2001-07-18 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties-capplet.c (create_dialog): Revert that.
-
-2001-07-18 Richard Hestilow <hestilow@ximian.com>
-
- * sound-properties-capplet.c (create_dialog): Change to reflect
- new prototype.
-
-2001-07-17 Chema Celorio <chema@celorio.com>
-
- * Makefile.am (SUBDIRS): clean
-
-2001-07-17 Bradford Hovinen <hovinen@ximian.com>
-
- * sound-properties-capplet.c (create_dialog): Implement
- (main): Call glade_gnome_init; pass create_dialog to capplet_init
- (setup_dialog): Retrieve the Glade data from the widget passed to
- this function
- (create_dialog): Make sure dialog is destroyed when widget is
-
- * Makefile.am (EXTRA_DIST): Changed Applications_DATA to
- Applications_in_files
- (INCLUDES): Add -DGLADE_DATADIR
-
- * sound-properties-capplet.c (setup_dialog): Sensitize events
- check box only if ESD is already enabled
-
- * sound-properties.glade: Prune dialog down to the two check
- buttons
-
-2001-07-13 Bradford Hovinen <hovinen@ximian.com>
-
- * sound-properties-capplet.c (set_moniker_cb): Resolve
- configuration database and store in property frame
- (apply_cb): Retrieve configuration database from property frame
- (create_control_cb): Don't store config database in property
- control
- (create_control_cb): Add listener for property change in config
- database
- (changed_cb): Implement
-
-2001-07-12 Bradford Hovinen <hovinen@ximian.com>
-
- * sound-properties-capplet.c (apply_settings): Disable launch of
- esd, due to esd's general suckiness
-
- * sound-properties.xml: Update to use correct names for settings
-
- * sound-properties-capplet.c (set_moniker_cb): Change event_sound
- to event_sounds
-
-2001-07-10 Bradford Hovinen <hovinen@ximian.com>
-
- * sound-properties-capplet.c (set_moniker_cb): Make full moniker
- (apply_settings): Release the return value
- (main): Support --get-legacy option
- (get_legacy_settings): Implement
- (create_control_cb): Connect apply_cb
- (COPY_FROM_LEGACY): Use bonobo_config_set_...
- (main): Open config database regardless of what operation is
- requested; pass to create_control callback
- (apply_settings): Use bonobo_config_get_...
- (get_legacy_settings):
- (apply_settings): Don't accept CORBA_Environment *ev any more
- (create_control_cb): Store the config database in the property control
- (apply_settings): Use the correct setting name
- (apply_cb): Apply settings and sync
- (apply_settings): Kill esd when requested
- (get_legacy_settings): Sync database
-
- * sound-properties.xml: Fixed path name
-
-2001-07-09 Bradford Hovinen <hovinen@ximian.com>
-
- * sound-properties.xml: Use 0 and 1 rather than true and false
-
- * sound-properties-capplet.c (create_control_cb): Implement
- (main): Use create_control_cb
-
- * Bonobo_Control_Capplet_sound_properties.oaf: Use PropertyControl interface
-
- * sound-properties-capplet.c (create_dialog_cb): Update signature
- for use as a BonoboPropertyControlGetControlFn
-
- * Makefile.am (defaults_DATA): Add sound-properties.xml
- (EXTRA_DIST): Add defaults_DATA
-
- * sound-properties-capplet.c (close_cb): Don't destroy the widget
- -- it's already destroyed
-
-2001-06-07 Christian Rose <menthos@menthos.com>
-
- * sound-properties.desktop: Modified Swedish translation.
-
-2001-04-27 Bradford Hovinen <hovinen@ximian.com>
-
- * preferences.c (category_read_xml): Make description a child node
- rather than an attribute
- (sound_event_read_xml): Make name an attribute rather than a child
- node
-
-2000-10-08 Bradford Hovinen <hovinen@helixcode.com>
-
- * Makefile.am (EXTRA_DIST): Add translation file
-
diff --git a/capplets/sound/Makefile.am b/capplets/sound/Makefile.am
deleted file mode 100644
index e45a66e81..000000000
--- a/capplets/sound/Makefile.am
+++ /dev/null
@@ -1,65 +0,0 @@
-# This is used in GNOMECC_CAPPLETS_CFLAGS
-cappletname = sound
-
-bin_PROGRAMS = gnome-sound-properties
-
-gnome_sound_properties_LDADD = \
- $(GNOMECC_CAPPLETS_LIBS) \
- $(CANBERRA_LIBS) $(SOUND_CAPPLET_LIBS) \
- $(HAL_LIBS)
-gnome_sound_properties_SOURCES = \
- sound-properties-capplet.c \
- pipeline-tests.h \
- pipeline-tests.c \
- mixer-support.h \
- mixer-support.c \
- sound-theme.c \
- sound-theme.h \
- sound-theme-definition.h \
- sound-theme-file-utils.c \
- sound-theme-file-utils.h
-
-INCLUDES = \
- $(GNOMECC_CAPPLETS_CFLAGS) \
- $(CANBERRA_CFLAGS) $(SOUND_CAPPLET_CFLAGS) \
- $(HAL_CFLAGS) \
- -DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
- -DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \
- -DSOUND_DATA_DIR="\"$(datadir)/sounds\"" \
- -DGNOMECC_GLADE_DIR="\"$(pkgdatadir)/glade\""
-
-@INTLTOOL_DESKTOP_RULE@
-
-gladedir = $(pkgdatadir)/glade
-dist_glade_DATA = sound-properties.glade
-
-icons16dir = $(datadir)/icons/hicolor/16x16/apps
-dist_icons16_DATA = icons/16x16/gnome-sound-properties.png
-icons22dir = $(datadir)/icons/hicolor/22x22/apps
-dist_icons22_DATA = icons/22x22/gnome-sound-properties.png
-icons24dir = $(datadir)/icons/hicolor/24x24/apps
-dist_icons24_DATA = icons/24x24/gnome-sound-properties.png
-icons32dir = $(datadir)/icons/hicolor/32x32/apps
-dist_icons32_DATA = icons/32x32/gnome-sound-properties.png
-icons48dir = $(datadir)/icons/hicolor/48x48/apps
-dist_icons48_DATA = icons/48x48/gnome-sound-properties.png
-iconssvgdir = $(datadir)/icons/hicolor/scalable/apps
-dist_iconssvg_DATA = icons/scalable/gnome-sound-properties.svg
-
-desktopdir = $(datadir)/applications
-Desktop_in_files = gnome-settings-sound.desktop.in
-desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
-
-gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
-uninstall-hook: update-icon-cache
-install-data-hook: update-icon-cache
-update-icon-cache:
- @-if test -z "$(DESTDIR)"; then \
- echo "Updating Gtk icon cache."; \
- $(gtk_update_icon_cache); \
- else \
- echo "*** Icon cache not updated. After install, run this:"; \
- echo "*** $(gtk_update_icon_cache)"; \
- fi
-
-CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(Desktop_in_files) $(desktop_DATA)
diff --git a/capplets/sound/gnome-settings-sound.desktop.in.in b/capplets/sound/gnome-settings-sound.desktop.in.in
deleted file mode 100644
index f4ce59296..000000000
--- a/capplets/sound/gnome-settings-sound.desktop.in.in
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-_Name=Sound
-_Comment=Enable sound and associate sounds with events
-Exec=gnome-sound-properties
-Icon=gnome-sound-properties
-Terminal=false
-Type=Application
-StartupNotify=true
-Categories=GNOME;GTK;Settings;HardwareSettings;
-OnlyShowIn=GNOME;
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=gnome-control-center
-X-GNOME-Bugzilla-Component=sound
-X-GNOME-Bugzilla-Version=@VERSION@
diff --git a/capplets/sound/icons/16x16/gnome-sound-properties.png b/capplets/sound/icons/16x16/gnome-sound-properties.png
deleted file mode 100644
index 13b4b7f9a..000000000
--- a/capplets/sound/icons/16x16/gnome-sound-properties.png
+++ /dev/null
Binary files differ
diff --git a/capplets/sound/icons/16x16/gnome-sound-properties.svg b/capplets/sound/icons/16x16/gnome-sound-properties.svg
deleted file mode 100644
index f8014bfa7..000000000
--- a/capplets/sound/icons/16x16/gnome-sound-properties.svg
+++ /dev/null
@@ -1,585 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="16"
- height="16"
- id="svg2"
- inkscape:label="Pozadí"
- sodipodi:version="0.32"
- inkscape:version="0.45"
- version="1.0"
- sodipodi:docbase="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\16x16"
- sodipodi:docname="gnome-sound-properties.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\16x16\gnome-sound-properties.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:modified="TRUE">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3973">
- <stop
- style="stop-color:#babdb6;stop-opacity:1"
- offset="0"
- id="stop3975" />
- <stop
- style="stop-color:#555753;stop-opacity:1"
- offset="1"
- id="stop3977" />
- </linearGradient>
- <linearGradient
- id="linearGradient6304"
- inkscape:collect="always">
- <stop
- id="stop6306"
- offset="0"
- style="stop-color:#eeeeec;stop-opacity:1" />
- <stop
- id="stop6308"
- offset="1"
- style="stop-color:#80827d;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6296">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6298" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6300" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6117">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop6119" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop6121" />
- </linearGradient>
- <linearGradient
- id="linearGradient6105">
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0"
- id="stop6107" />
- <stop
- id="stop6113"
- offset="0.45209709"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6109" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6091">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6093" />
- <stop
- style="stop-color:#81837e;stop-opacity:0.98648649"
- offset="1"
- id="stop6095" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6077">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop6079" />
- <stop
- style="stop-color:#888a85;stop-opacity:1"
- offset="1"
- id="stop6081" />
- </linearGradient>
- <linearGradient
- id="linearGradient6041"
- inkscape:collect="always">
- <stop
- id="stop6043"
- offset="0"
- style="stop-color:#729fcf;stop-opacity:1" />
- <stop
- id="stop6045"
- offset="1"
- style="stop-color:#235195;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6017">
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="0"
- id="stop6019" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop6021" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6003">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6005" />
- <stop
- style="stop-color:#babdb6;stop-opacity:1"
- offset="1"
- id="stop6007" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5995">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop5997" />
- <stop
- style="stop-color:#888a85;stop-opacity:0;"
- offset="1"
- id="stop5999" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5995"
- id="linearGradient6001"
- x1="28.203571"
- y1="25.09193"
- x2="21.583036"
- y2="35.983383"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6003"
- id="linearGradient6009"
- x1="15.741923"
- y1="33.116215"
- x2="36.696983"
- y2="22.224764"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6041"
- id="radialGradient6033"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6017"
- id="radialGradient6037"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="23.597727"
- cy="19.792301"
- fx="23.597727"
- fy="19.792301"
- r="19.736389" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6077"
- id="radialGradient6049"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="32.09296"
- cy="33.488297"
- fx="32.09296"
- fy="33.488297"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient6097"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient6111"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.3364103,0,0,0.3372732,-0.6774362,0.1274337)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient6123"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient6290"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.1930651,0,0,9.3410036e-2,2.1701348,6.6135966)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient6302"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.3541113,0,0,0.3635233,-0.7432896,-1.8035221)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient5028"
- gradientUnits="userSpaceOnUse"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient5030"
- gradientUnits="userSpaceOnUse"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient5032"
- gradientUnits="userSpaceOnUse"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientTransform="translate(-60,0)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6041"
- id="radialGradient5034"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient5036"
- gradientUnits="userSpaceOnUse"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientTransform="translate(-60,0)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient5038"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.4228001,0,0,0.3113668,-47.60226,19.545318)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3973"
- id="radialGradient6066"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="32.217553"
- inkscape:cx="12.505516"
- inkscape:cy="11.160076"
- inkscape:document-units="px"
- inkscape:current-layer="g6029"
- width="16px"
- height="16px"
- inkscape:showpageshadow="false"
- showgrid="true"
- inkscape:window-width="973"
- inkscape:window-height="849"
- inkscape:window-x="150"
- inkscape:window-y="57"
- showborder="true" />
- <metadata
- id="metadata6">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Sound CC applet</dc:title>
- <dc:date>17.02.2007</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:rights>
- <dc:identifier>http://blog.vybiral.info</dc:identifier>
- <dc:source>http://blog.vybiral.info</dc:source>
- <dc:coverage>sound, reproductor, note</dc:coverage>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/SourceCode" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Repros"
- inkscape:groupmode="layer"
- id="layer1"
- style="display:inline">
- <path
- transform="matrix(0.208749,0,0,0.1304682,1.8789228,9.6383004)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6051"
- style="opacity:1;color:#000000;fill:url(#linearGradient6097);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:6.05948067;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:7.82422543;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6099"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.1565028,0,0,0.1043745,3.2846495,9.8106402)" />
- <path
- style="opacity:0.56768559;fill:url(#linearGradient6111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 4.2234611,13.618367 C 4.2234611,13.618367 5.0415386,14.96746 7.396411,14.96746 L 7.396411,12.943819 L 4.2311244,12.943819 L 4.2234611,13.618367 z"
- id="path6103" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2.95696092;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6011"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.3652519,0,0,0.3131236,-2.3364281,-0.5680786)" />
- <path
- transform="matrix(0.3652519,0,0,0.28597,-2.3364279,-0.3887379)"
- d="M 46.089207 25.766438 A 19.161766 19.161766 0 1 1 7.7656746,25.766438 A 19.161766 19.161766 0 1 1 46.089207 25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6013"
- style="opacity:1;color:#000000;fill:url(#radialGradient6066);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:3.09416509;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.5753541;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.27477477;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6015"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.3131236,0,0,0.2498308,-0.9316158,0.8499497)" />
- <path
- style="fill:url(#linearGradient6302);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 5.288702,12.37359 C 7.1369466,13.339783 12.937407,12.9293 14.003827,8.0640329 C 14.003827,8.0640329 11.452841,13.318809 5.288702,12.37359 z"
- id="path6039"
- sodipodi:nodetypes="csc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.26576574;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 11.5,9.2396488 C 11.5,10.189213 9.9869494,11.092769 8.339297,11.092769 C 6.6916436,11.092769 5.6570637,10.322106 5.6570637,9.3725413 C 5.6570637,8.4229746 6.9942902,7.2700418 8.6419435,7.2700418 C 10.289597,7.2700418 11.5,8.2900852 11.5,9.2396488 z"
- id="path6055"
- sodipodi:nodetypes="csssc" />
- <path
- style="color:#000000;fill:url(#radialGradient6290);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 10.436247,9.150001 C 10.436247,9.8952003 9.1065272,10.500001 7.4681246,10.500001 C 5.8297202,10.500001 4.5000003,9.8952003 4.5000003,9.150001 C 4.5000003,8.4048002 5.8297202,7.5000007 7.4681246,7.5000007 C 9.1065272,7.5000007 10.436247,8.4048002 10.436247,9.150001 z"
- id="path6047"
- sodipodi:nodetypes="csssc" />
- <g
- id="g6029"
- transform="matrix(0.4907271,0,0,0.4910531,3.9572021e-2,0.6295285)">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#ce5c00;stroke-width:6.1113472;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 29.479615,9.1193715 L 29.479615,1.8976116"
- id="path5052"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6023"
- d="M 17.240597,8.1228714 L 17.240597,2.9873851"
- style="fill:none;fill-rule:evenodd;stroke:#ce5c00;stroke-width:6.11134768;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:6.11134768;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 17.232473,1.8009824 L 29.459229,1.7943871"
- id="path6025"
- sodipodi:nodetypes="cc" />
- <path
- transform="matrix(1.0394076,0,0,1.0793564,-17.878825,-8.7313604)"
- d="M 35.740638 17.284103 A 3.9210651 1.8830575 0 1 1 27.898507,17.284103 A 3.9210651 1.8830575 0 1 1 35.740638 17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6125"
- style="color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:1.92327011;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:1.92326987;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6127"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638 17.284103 A 3.9210651 1.8830575 0 1 1 27.898507,17.284103 A 3.9210651 1.8830575 0 1 1 35.740638 17.284103 z"
- transform="matrix(1.0394077,0,0,1.0793564,-5.6520722,-8.7313603)" />
- <path
- sodipodi:nodetypes="cc"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:2.03711605;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 17.232473,10.050765 L 17.232473,1.8275403"
- id="path6163" />
- <path
- sodipodi:nodetypes="cc"
- id="path6165"
- d="M 29.467352,9.8622978 L 29.467352,1.5938"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:2.03711605;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:2.03711605;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 17.19717,1.8126936 L 29.499999,1.7643486"
- id="path6167"
- sodipodi:nodetypes="cc" />
- <path
- transform="matrix(0.7630495,0,0,0.5396781,3.2062471,0.5964946)"
- d="M 35.740638 17.284103 A 3.9210651 1.8830575 0 1 1 27.898507,17.284103 A 3.9210651 1.8830575 0 1 1 35.740638 17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6190"
- style="color:#000000;fill:#ffffff;fill-opacity:0.32941176;fill-rule:evenodd;stroke:none;stroke-width:3.64232254;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6192"
- d="M 17.22586,1.7943885 L 29.500001,1.7643483"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.03711557;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- id="path6212"
- d="M 17.232473,8.2177037 L 17.232473,1.8711502"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.0371151;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:nodetypes="cc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.03711534;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 29.467352,7.9859064 L 29.467352,1.7943879"
- id="path6214"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#ffffff;fill-opacity:0.32941176;fill-rule:evenodd;stroke:none;stroke-width:3.64232254;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6069"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638 17.284103 A 3.9210651 1.8830575 0 1 1 27.898507,17.284103 A 3.9210651 1.8830575 0 1 1 35.740638 17.284103 z"
- transform="matrix(0.7630495,0,0,0.5396781,-9.1499501,0.5964943)" />
- </g>
- <path
- transform="matrix(2.6334455e-2,0,0,1.557043e-2,6.2594829,7.8971624)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6206"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6208"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(3.9259173e-2,0,0,2.6213758e-2,5.695126,8.8222629)" />
- </g>
-</svg>
diff --git a/capplets/sound/icons/22x22/gnome-sound-properties.png b/capplets/sound/icons/22x22/gnome-sound-properties.png
deleted file mode 100644
index 8d55f04d2..000000000
--- a/capplets/sound/icons/22x22/gnome-sound-properties.png
+++ /dev/null
Binary files differ
diff --git a/capplets/sound/icons/22x22/gnome-sound-properties.svg b/capplets/sound/icons/22x22/gnome-sound-properties.svg
deleted file mode 100644
index 7636a75ab..000000000
--- a/capplets/sound/icons/22x22/gnome-sound-properties.svg
+++ /dev/null
@@ -1,595 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="22"
- height="22"
- id="svg2"
- inkscape:label="Pozadí"
- sodipodi:version="0.32"
- inkscape:version="0.45"
- version="1.0"
- sodipodi:docbase="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\22x22"
- sodipodi:docname="gnome-sound-properties.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\22x22\gnome-sound-properties.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:modified="true">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3744">
- <stop
- style="stop-color:#888a85;stop-opacity:1"
- offset="0"
- id="stop3746" />
- <stop
- style="stop-color:#2e3436;stop-opacity:1"
- offset="1"
- id="stop3748" />
- </linearGradient>
- <linearGradient
- id="linearGradient6304"
- inkscape:collect="always">
- <stop
- id="stop6306"
- offset="0"
- style="stop-color:#eeeeec;stop-opacity:1" />
- <stop
- id="stop6308"
- offset="1"
- style="stop-color:#80827d;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6296">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6298" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6300" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6117">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop6119" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop6121" />
- </linearGradient>
- <linearGradient
- id="linearGradient6105">
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0"
- id="stop6107" />
- <stop
- id="stop6113"
- offset="0.45209709"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6109" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6091">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6093" />
- <stop
- style="stop-color:#81837e;stop-opacity:0.98648649"
- offset="1"
- id="stop6095" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6077">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop6079" />
- <stop
- style="stop-color:#888a85;stop-opacity:1"
- offset="1"
- id="stop6081" />
- </linearGradient>
- <linearGradient
- id="linearGradient6041"
- inkscape:collect="always">
- <stop
- id="stop6043"
- offset="0"
- style="stop-color:#729fcf;stop-opacity:1" />
- <stop
- id="stop6045"
- offset="1"
- style="stop-color:#235195;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6017">
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="0"
- id="stop6019" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop6021" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6003">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6005" />
- <stop
- style="stop-color:#babdb6;stop-opacity:1"
- offset="1"
- id="stop6007" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5995">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop5997" />
- <stop
- style="stop-color:#888a85;stop-opacity:0;"
- offset="1"
- id="stop5999" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5995"
- id="linearGradient6001"
- x1="28.203571"
- y1="25.09193"
- x2="21.583036"
- y2="35.983383"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6003"
- id="linearGradient6009"
- x1="15.741923"
- y1="33.116215"
- x2="36.696983"
- y2="22.224764"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6041"
- id="radialGradient6033"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6017"
- id="radialGradient6037"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="23.597727"
- cy="19.792301"
- fx="23.597727"
- fy="19.792301"
- r="19.736389" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6077"
- id="radialGradient6049"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="32.09296"
- cy="33.488297"
- fx="32.09296"
- fy="33.488297"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient6097"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient6111"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.4566304,0,0,0.4578007,-9.82064e-2,-0.1950787)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient6123"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient6290"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.2235424,0,0,0.1245467,4.9289984,8.3181279)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient6302"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.480657,0,0,0.4934313,-0.1875933,-2.8160779)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient5028"
- gradientUnits="userSpaceOnUse"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient5030"
- gradientUnits="userSpaceOnUse"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient5032"
- gradientUnits="userSpaceOnUse"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientTransform="translate(-60,0)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6041"
- id="radialGradient5034"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient5036"
- gradientUnits="userSpaceOnUse"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientTransform="translate(-60,0)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient5038"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.4228001,0,0,0.3113668,-47.60226,19.545318)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3744"
- id="radialGradient6066"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="34.171876"
- inkscape:cx="10.729483"
- inkscape:cy="17.062453"
- inkscape:document-units="px"
- inkscape:current-layer="g6029"
- width="22px"
- height="22px"
- inkscape:showpageshadow="false"
- showgrid="true"
- inkscape:window-width="757"
- inkscape:window-height="575"
- inkscape:window-x="221"
- inkscape:window-y="374"
- showborder="false" />
- <metadata
- id="metadata6">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Sound CC applet</dc:title>
- <dc:date>17.02.2007</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:rights>
- <dc:identifier>http://blog.vybiral.info</dc:identifier>
- <dc:source>http://blog.vybiral.info</dc:source>
- <dc:coverage>sound, reproductor, note</dc:coverage>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/SourceCode" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Repros"
- inkscape:groupmode="layer"
- id="layer1"
- style="display:inline">
- <path
- transform="matrix(0.5218726,0,0,0.3914044,-3.0526925,4.4149024)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6115"
- style="opacity:0.78165935;color:#000000;fill:url(#radialGradient6123);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.04187703;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.2870299,0,0,0.1637207,3.2710188,13.144325)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6051"
- style="opacity:1;color:#000000;fill:url(#linearGradient6097);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:4.61301279;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:5.82070923;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6099"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.2348426,0,0,0.1256814,4.6762892,13.853362)" />
- <path
- style="opacity:0.56768559;fill:url(#linearGradient6111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 6.5540829,18.116953 C 6.5540829,18.116953 7.66451,19.948156 10.860923,19.948156 L 10.860923,17.20135 L 6.5644849,17.20135 L 6.5540829,18.116953 z"
- id="path6103" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2.16422367;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6011"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207 25.766438 A 19.161766 19.161766 0 1 1 7.7656746,25.766438 A 19.161766 19.161766 0 1 1 46.089207 25.766438 z"
- transform="matrix(0.4957789,0,0,0.430633,-2.3500582,-1.34419)" />
- <path
- transform="matrix(0.4957789,0,0,0.4174981,-2.3500579,-1.2574379)"
- d="M 46.089207 25.766438 A 19.161766 19.161766 0 1 1 7.7656746,25.766438 A 19.161766 19.161766 0 1 1 46.089207 25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6013"
- style="opacity:1;color:#000000;fill:url(#radialGradient6066);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2.19800472;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.48414516;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35675675;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6015"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.4435917,0,0,0.3653108,-0.9447891,8.72424e-2)" />
- <path
- style="fill:url(#linearGradient6302);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 8,16.427344 C 10.508736,17.738814 18.382058,17.181643 19.829575,10.577731 C 19.829575,10.577731 16.366965,17.710345 8,16.427344 z"
- id="path6039"
- sodipodi:nodetypes="csc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999958;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.26576574;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 14.500001,12.076181 C 14.500001,13.318181 12.946278,14.5 11.254335,14.5 C 9.5623909,14.5 8.5000002,13.491999 8.5000002,12.25 C 8.5000002,11.007998 9.873173,9.4999998 11.565117,9.4999998 C 13.257061,9.4999998 14.500001,10.834183 14.500001,12.076181 z"
- id="path6055"
- sodipodi:nodetypes="csssc" />
- <path
- style="color:#000000;fill:url(#radialGradient6290);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 14.5,11.7 C 14.5,12.693599 12.96037,13.5 11.063329,13.5 C 9.1662861,13.5 7.6266566,12.693599 7.6266566,11.7 C 7.6266566,10.706399 9.1662861,9.5 11.063329,9.5 C 12.96037,9.5 14.5,10.706399 14.5,11.7 z"
- id="path6047"
- sodipodi:nodetypes="csssc" />
- <g
- id="g6029"
- transform="matrix(0.6660941,0,0,0.6678303,0.8804439,0.4696392)">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#ce5c00;stroke-width:4.4980092;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 29.5,8.6499115 L 29.5,1.4935517"
- id="path5052"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6023"
- d="M 18.945615,7.5049013 L 18.945615,1.567109"
- style="fill:none;fill-rule:evenodd;stroke:#ce5c00;stroke-width:4.49801016;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:4.4980092;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 18.945606,1.5722642 L 29.500001,1.4999998"
- id="path6025"
- sodipodi:nodetypes="cc" />
- <path
- transform="matrix(0.9571947,0,0,1.186958,-13.763854,-10.748001)"
- d="M 35.740638 17.284103 A 3.9210651 1.8830575 0 1 1 27.898507,17.284103 A 3.9210651 1.8830575 0 1 1 35.740638 17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6125"
- style="color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:1.40663421;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:1.40319479;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6127"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- transform="matrix(0.957195,0,0,1.1927835,-3.2548378,-10.837719)" />
- <path
- sodipodi:nodetypes="cc"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1.49933648;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 18.945606,9.0297806 L 18.945606,0.93297361"
- id="path6163" />
- <path
- sodipodi:nodetypes="cc"
- id="path6165"
- d="M 29.5,9.596807 L 29.5,1.5"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1.49933648;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1.4993366;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 19.5,1.5797955 L 29.499999,1.5"
- id="path6167"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.13763928;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6188"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638 17.284103 A 3.9210651 1.8830575 0 1 1 27.898507,17.284103 A 3.9210651 1.8830575 0 1 1 35.740638 17.284103 z"
- transform="matrix(0.574317,0,0,0.3975944,-1.5808514,2.9064109)" />
- <path
- transform="matrix(0.574317,0,0,0.3975946,8.9281769,2.9064074)"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6190"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:3.13763881;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6192"
- d="M 18.945606,1.5722642 L 29.500001,1.4999998"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.49933612;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- id="path6212"
- d="M 18.945605,9.0297805 L 18.945605,0.97658404"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.49933589;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:nodetypes="cc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.499336;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 29.454632,9.0773723 L 29.454632,1.4952556"
- id="path6214"
- sodipodi:nodetypes="cc" />
- </g>
- <path
- transform="matrix(3.5745376e-2,0,0,2.1134654e-2,9.7316574,9.798915)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6206"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6208"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(5.3288892e-2,0,0,3.5581465e-2,8.2339412,10.513453)" />
- </g>
-</svg>
diff --git a/capplets/sound/icons/24x24/gnome-sound-properties.png b/capplets/sound/icons/24x24/gnome-sound-properties.png
deleted file mode 100644
index 3b873fa4c..000000000
--- a/capplets/sound/icons/24x24/gnome-sound-properties.png
+++ /dev/null
Binary files differ
diff --git a/capplets/sound/icons/32x32/gnome-sound-properties.png b/capplets/sound/icons/32x32/gnome-sound-properties.png
deleted file mode 100644
index 3a6c791fa..000000000
--- a/capplets/sound/icons/32x32/gnome-sound-properties.png
+++ /dev/null
Binary files differ
diff --git a/capplets/sound/icons/32x32/gnome-sound-properties.svg b/capplets/sound/icons/32x32/gnome-sound-properties.svg
deleted file mode 100644
index d1e308d38..000000000
--- a/capplets/sound/icons/32x32/gnome-sound-properties.svg
+++ /dev/null
@@ -1,633 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="32"
- height="32"
- id="svg2"
- inkscape:label="Pozadí"
- sodipodi:version="0.32"
- inkscape:version="0.45"
- version="1.0"
- sodipodi:docbase="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\32x32"
- sodipodi:docname="gnome-sound-properties.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\32x32\gnome-sound-properties.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:modified="TRUE">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3478">
- <stop
- style="stop-color:#888a85;stop-opacity:1"
- offset="0"
- id="stop3480" />
- <stop
- style="stop-color:#2e3436;stop-opacity:1"
- offset="1"
- id="stop3482" />
- </linearGradient>
- <linearGradient
- id="linearGradient6304"
- inkscape:collect="always">
- <stop
- id="stop6306"
- offset="0"
- style="stop-color:#eeeeec;stop-opacity:1" />
- <stop
- id="stop6308"
- offset="1"
- style="stop-color:#80827d;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6296">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6298" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6300" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6117">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop6119" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop6121" />
- </linearGradient>
- <linearGradient
- id="linearGradient6105">
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0"
- id="stop6107" />
- <stop
- id="stop6113"
- offset="0.45209709"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6109" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6091">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6093" />
- <stop
- style="stop-color:#81837e;stop-opacity:0.98648649"
- offset="1"
- id="stop6095" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6077">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop6079" />
- <stop
- style="stop-color:#888a85;stop-opacity:1"
- offset="1"
- id="stop6081" />
- </linearGradient>
- <linearGradient
- id="linearGradient6041"
- inkscape:collect="always">
- <stop
- id="stop6043"
- offset="0"
- style="stop-color:#729fcf;stop-opacity:1" />
- <stop
- id="stop6045"
- offset="1"
- style="stop-color:#235195;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6017">
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="0"
- id="stop6019" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop6021" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6003">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6005" />
- <stop
- style="stop-color:#babdb6;stop-opacity:1"
- offset="1"
- id="stop6007" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5995">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop5997" />
- <stop
- style="stop-color:#888a85;stop-opacity:0;"
- offset="1"
- id="stop5999" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5995"
- id="linearGradient6001"
- x1="28.203571"
- y1="25.09193"
- x2="21.583036"
- y2="35.983383"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6003"
- id="linearGradient6009"
- x1="15.741923"
- y1="33.116215"
- x2="36.696983"
- y2="22.224764"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="radialGradient6033"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6017"
- id="radialGradient6037"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="23.597727"
- cy="19.792301"
- fx="23.597727"
- fy="19.792301"
- r="19.736389" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6077"
- id="radialGradient6049"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="32.09296"
- cy="33.488297"
- fx="32.09296"
- fy="33.488297"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient6097"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient6111"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.6707857,0,0,0.6714555,0.1522499,-0.5175596)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient6123"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient6290"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.2927078,0,0,0.1868201,7.9676686,12.727192)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient6302"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.6707857,0,0,0.6714555,0.2643719,-0.8007536)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient5028"
- gradientUnits="userSpaceOnUse"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient5030"
- gradientUnits="userSpaceOnUse"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient5032"
- gradientUnits="userSpaceOnUse"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientTransform="translate(-60,0)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6041"
- id="radialGradient5034"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient5036"
- gradientUnits="userSpaceOnUse"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientTransform="translate(-60,0)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient5038"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.4228001,0,0,0.3113668,-47.60226,19.545318)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.390625"
- inkscape:cx="4.3711817"
- inkscape:cy="8.9010469"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- width="32px"
- height="32px"
- inkscape:showpageshadow="false"
- showgrid="true"
- inkscape:window-width="973"
- inkscape:window-height="575"
- inkscape:window-x="137"
- inkscape:window-y="364"
- showborder="true" />
- <metadata
- id="metadata6">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Sound CC applet</dc:title>
- <dc:date>17.02.2007</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:rights>
- <dc:identifier>http://blog.vybiral.info</dc:identifier>
- <dc:source>http://blog.vybiral.info</dc:source>
- <dc:coverage>sound, reproductor, note</dc:coverage>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/SourceCode" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Repros"
- inkscape:groupmode="layer"
- id="layer1"
- style="display:inline">
- <path
- transform="matrix(0.7306216,0,0,0.550649,-3.6737696,7.2603278)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6115"
- style="opacity:0.78165935;color:#000000;fill:url(#radialGradient6123);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.04187703;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.3675679,0,0,0.2313647,6.3534448,19.105201)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6051"
- style="opacity:1;color:#000000;fill:url(#linearGradient6097);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:3.4291203;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:4.00196743;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6099"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.3325614,0,0,0.1877503,7.2960798,20.064714)" />
- <path
- style="opacity:0.56768559;fill:url(#linearGradient6111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 9.9244001,26.34066 C 9.9244001,26.34066 11.555607,29.026482 16.251108,29.026482 L 16.251108,24.997749 L 9.9396806,24.997749 L 9.9244001,26.34066 z"
- id="path6103" />
- <path
- transform="matrix(0.704528,0,0,0.6001535,-2.9711354,0.536183)"
- d="M 46.089207 25.766438 A 19.161766 19.161766 0 1 1 7.7656746,25.766438 A 19.161766 19.161766 0 1 1 46.089207 25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6216"
- style="opacity:1;color:#000000;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1.53786957;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1.53786969;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6011"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.704528,0,0,0.6001535,-2.9711354,-0.4638168)" />
- <path
- transform="matrix(0.6001535,0,0,0.5218726,-0.1605969,2.0532033)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6013"
- style="opacity:1;color:#000000;fill:url(#radialGradient6033);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1.78684342;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.37387384;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6089"
- sodipodi:cx="19.378376"
- sodipodi:cy="17.854717"
- sodipodi:rx="0.44991162"
- sodipodi:ry="0.72862023"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- transform="matrix(1.4909278,0,0,0.9215439,-11.969865,6.5294779)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.67257559;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.27477477;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6015"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.6523407,0,0,0.5479662,-1.5658662,0.8808633)" />
- <path
- style="fill:url(#linearGradient6302);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 11.690651,25.385463 C 14.622182,26.899688 25.803902,26.716115 28.437373,18 C 28.437373,18 24.656592,27.536969 11.690651,25.385463 z"
- id="path6039"
- sodipodi:nodetypes="csc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.9999997;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.26576574;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 21.499999,18.106655 C 21.499999,19.845455 19.185416,21.5 16.664922,21.5 C 14.144429,21.5 12.561783,20.088799 12.561783,18.35 C 12.561783,16.611199 14.607402,14.5 17.127895,14.5 C 19.648389,14.5 21.499999,16.367856 21.499999,18.106655 z"
- id="path6055"
- sodipodi:nodetypes="csssc" />
- <path
- style="color:#000000;fill:url(#radialGradient6290);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 20.500001,17.800001 C 20.500001,19.290401 18.484,20.500001 16.000001,20.500001 C 13.516001,20.500001 11.5,19.290401 11.5,17.800001 C 11.5,16.3096 13.516001,14.500001 16.000001,14.500001 C 18.484,14.500001 20.500001,16.3096 20.500001,17.800001 z"
- id="path6047"
- sodipodi:nodetypes="csssc" />
- <path
- transform="matrix(1.4909278,0,0,0.9215439,-13.982223,6.5294779)"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- sodipodi:ry="0.72862023"
- sodipodi:rx="0.44991162"
- sodipodi:cy="17.854717"
- sodipodi:cx="19.378376"
- id="path6087"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.37387384;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6083"
- sodipodi:cx="19.378376"
- sodipodi:cy="17.854717"
- sodipodi:rx="0.44991162"
- sodipodi:ry="0.72862023"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- transform="matrix(1.1113294,0,0,0.9215439,-6.0357588,6.8746387)" />
- <path
- transform="matrix(1.1113294,0,0,0.9215439,-4.0357588,6.8746387)"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- sodipodi:ry="0.72862023"
- sodipodi:rx="0.44991162"
- sodipodi:cy="17.854717"
- sodipodi:cx="19.378376"
- id="path6085"
- style="opacity:1;color:#000000;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <g
- id="g6029">
- <path
- style="fill:none;fill-rule:evenodd;stroke:#ce5c00;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 29.5,9.596807 L 29.5,1.5"
- id="path5052"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6023"
- d="M 19.5,10.596807 L 19.5,2.5"
- style="fill:none;fill-rule:evenodd;stroke:#ce5c00;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:1"
- d="M 19.5,2.5000002 L 29.5,1.4999998"
- id="path6025"
- sodipodi:nodetypes="cc" />
- <path
- transform="matrix(0.7698254,0,0,1.0621027,-7.0140504,-6.8574932)"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6125"
- style="color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:1.10591173;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:1.10932291;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6127"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- transform="matrix(0.7650983,0,0,1.0621027,3.1548997,-7.8574931)" />
- <path
- sodipodi:nodetypes="cc"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 19.5,10.548403 L 19.5,2.4515964"
- id="path6163" />
- <path
- sodipodi:nodetypes="cc"
- id="path6165"
- d="M 29.5,9.596807 L 29.5,1.5"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 19.5,2.5 L 29.499999,1.5"
- id="path6167"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.91454017;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6188"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- transform="matrix(0.5100655,0,0,0.5348658,1.269933,2.2481411)" />
- <path
- transform="matrix(0.5100655,0,0,0.5348658,11.269932,1.2481419)"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6190"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.91454005;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6192"
- d="M 19.5,2.5000002 L 29.5,1.4999998"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- id="path6212"
- d="M 19.5,10.550799 L 19.5,2.4976027"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999952;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:nodetypes="cc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999958;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 29.5,9.596807 L 29.5,1.4999998"
- id="path6214"
- sodipodi:nodetypes="cc" />
- </g>
- <path
- transform="matrix(5.2509619e-2,0,0,3.0998156e-2,14.592227,15.607309)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6206"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6208"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(7.8280879e-2,0,0,5.2187263e-2,12.392096,16.65532)" />
- </g>
-</svg>
diff --git a/capplets/sound/icons/48x48/gnome-sound-properties.png b/capplets/sound/icons/48x48/gnome-sound-properties.png
deleted file mode 100644
index 61dd43b8c..000000000
--- a/capplets/sound/icons/48x48/gnome-sound-properties.png
+++ /dev/null
Binary files differ
diff --git a/capplets/sound/icons/scalable/gnome-sound-properties.svg b/capplets/sound/icons/scalable/gnome-sound-properties.svg
deleted file mode 100644
index b22a9543d..000000000
--- a/capplets/sound/icons/scalable/gnome-sound-properties.svg
+++ /dev/null
@@ -1,554 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- id="svg2"
- inkscape:label="Pozadí"
- sodipodi:version="0.32"
- inkscape:version="0.45"
- version="1.0"
- sodipodi:docbase="C:\Documents and Settings\nevim\Plocha\gnome-sound-properties\scalable"
- sodipodi:docname="gnome-sound-properties.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="C:\Documents and Settings\nevim\Plocha\git-sound.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:modified="true">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient6304"
- inkscape:collect="always">
- <stop
- id="stop6306"
- offset="0"
- style="stop-color:#eeeeec;stop-opacity:1" />
- <stop
- id="stop6308"
- offset="1"
- style="stop-color:#80827d;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6296">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6298" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6300" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6117">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop6119" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop6121" />
- </linearGradient>
- <linearGradient
- id="linearGradient6105">
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0"
- id="stop6107" />
- <stop
- id="stop6113"
- offset="0.45209709"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6109" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6091">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6093" />
- <stop
- style="stop-color:#81837e;stop-opacity:0.98648649"
- offset="1"
- id="stop6095" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6077">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop6079" />
- <stop
- style="stop-color:#888a85;stop-opacity:1"
- offset="1"
- id="stop6081" />
- </linearGradient>
- <linearGradient
- id="linearGradient6041"
- inkscape:collect="always">
- <stop
- id="stop6043"
- offset="0"
- style="stop-color:#888a85;stop-opacity:1" />
- <stop
- id="stop6045"
- offset="1"
- style="stop-color:#2e3436;stop-opacity:1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6017">
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="0"
- id="stop6019" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop6021" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6003">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6005" />
- <stop
- style="stop-color:#babdb6;stop-opacity:1"
- offset="1"
- id="stop6007" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5995">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1"
- offset="0"
- id="stop5997" />
- <stop
- style="stop-color:#888a85;stop-opacity:0;"
- offset="1"
- id="stop5999" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5995"
- id="linearGradient6001"
- x1="28.203571"
- y1="25.09193"
- x2="21.583036"
- y2="35.983383"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6003"
- id="linearGradient6009"
- x1="15.741923"
- y1="33.116215"
- x2="36.696983"
- y2="22.224764"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6041"
- id="radialGradient6033"
- cx="29.922518"
- cy="32.704834"
- fx="29.922518"
- fy="32.704834"
- r="19.736389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.0244195,0,0,1.014266,-0.5092741,0.685707)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6017"
- id="radialGradient6037"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="23.597727"
- cy="19.792301"
- fx="23.597727"
- fy="19.792301"
- r="19.736389" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6077"
- id="radialGradient6049"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2463993,0,0,1.3258525,-7.2755971,-10.235034)"
- cx="32.09296"
- cy="33.488297"
- fx="32.09296"
- fy="33.488297"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6091"
- id="linearGradient6097"
- x1="10.602306"
- y1="35.894798"
- x2="47.001671"
- y2="35.690231"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6105"
- id="linearGradient6111"
- x1="15.551565"
- y1="41"
- x2="23.73423"
- y2="41"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6117"
- id="radialGradient6123"
- cx="26.927441"
- cy="25.766438"
- fx="26.927441"
- fy="25.766438"
- r="19.161766"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6304"
- id="radialGradient6290"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.4228001,0,0,0.3113668,12.39774,19.545318)"
- cx="17.831682"
- cy="18.914896"
- fx="17.831682"
- fy="18.914896"
- r="19.736389" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6296"
- id="linearGradient6302"
- x1="34.825703"
- y1="42.345951"
- x2="28.763092"
- y2="32.737347"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="5.0625"
- inkscape:cx="66.935794"
- inkscape:cy="36.523345"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- width="48px"
- height="48px"
- inkscape:showpageshadow="false"
- showgrid="true"
- inkscape:window-width="973"
- inkscape:window-height="849"
- inkscape:window-x="0"
- inkscape:window-y="26"
- showborder="false" />
- <metadata
- id="metadata6">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Sound CC applet</dc:title>
- <dc:date>17.02.2007</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Josef vybíral</dc:title>
- </cc:Agent>
- </dc:rights>
- <dc:identifier>http://blog.vybiral.info</dc:identifier>
- <dc:source>http://blog.vybiral.info</dc:source>
- <dc:coverage>sound, reproductor, note</dc:coverage>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/SourceCode" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Repros"
- inkscape:groupmode="layer"
- id="layer1"
- style="display:inline">
- <path
- transform="matrix(1.0959323,0,0,0.8089025,-5.5106536,11.657465)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6115"
- style="opacity:0.78165935;color:#000000;fill:url(#radialGradient6123);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.04187703;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.5479662,0,0,0.3392172,9.2446732,29.259582)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6051"
- style="opacity:1;color:#000000;fill:url(#linearGradient6097);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2.31944561;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.65089345;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6099"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.4957789,0,0,0.2870299,10.649943,30.604261)" />
- <path
- style="opacity:0.56768559;fill:url(#linearGradient6111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 14.568214,40 C 14.568214,40 17,44 24,44 L 24,38 L 14.590994,38 L 14.568214,40 z"
- id="path6103" />
- <path
- transform="matrix(1.0176515,0,0,0.8871834,-3.4027508,1.6404446)"
- d="M 46.089207 25.766438 A 19.161766 19.161766 0 1 1 7.7656746,25.766438 A 19.161766 19.161766 0 1 1 46.089207 25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6216"
- style="opacity:1;color:#000000;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1.05243087;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1.05243087;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6011"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(1.0176515,0,0,0.8871834,-3.4027508,0.6404459)" />
- <path
- transform="matrix(0.9230621,0,0,0.8089025,-0.6682001,3.1574644)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6013"
- style="opacity:1;color:#000000;fill:url(#radialGradient6033);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1.15727437;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.37387384;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6089"
- sodipodi:cx="19.378376"
- sodipodi:cy="17.854717"
- sodipodi:rx="0.44991162"
- sodipodi:ry="0.72862023"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- transform="matrix(2.2226587,0,0,1.3724571,-18.071516,10.495167)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1150111;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.27477477;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6015"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.9632898,0,0,0.8349961,-1.9805954,1.985125)" />
- <path
- style="fill:url(#linearGradient6302);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 17.034171,38.999185 C 21.404465,41.254322 38.074051,40.980927 42,28 C 42,28 36.363653,42.203426 17.034171,38.999185 z"
- id="path6039"
- sodipodi:nodetypes="csc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:0.26576574;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 31.223824,28.652367 C 31.223824,31.136367 27.928944,33.500002 24.340943,33.500002 C 20.752943,33.500002 18.499998,31.484001 18.499998,29.000001 C 18.499998,26.516 21.411999,23.5 24.999999,23.5 C 28.588,23.5 31.223824,26.168366 31.223824,28.652367 z"
- id="path6055"
- sodipodi:nodetypes="csssc" />
- <path
- style="color:#000000;fill:url(#radialGradient6290);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 30.5,28.000001 C 30.5,30.484001 27.588,32.500002 23.999999,32.500002 C 20.411999,32.500002 17.499998,30.484001 17.499998,28.000001 C 17.499998,25.516 20.411999,22.5 23.999999,22.5 C 27.588,22.5 30.5,25.516 30.5,28.000001 z"
- id="path6047"
- sodipodi:nodetypes="csssc" />
- <path
- transform="matrix(2.2226587,0,0,1.3724571,-21.071516,10.495167)"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- sodipodi:ry="0.72862023"
- sodipodi:rx="0.44991162"
- sodipodi:cy="17.854717"
- sodipodi:cx="19.378376"
- id="path6087"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.37387384;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6083"
- sodipodi:cx="19.378376"
- sodipodi:cy="17.854717"
- sodipodi:rx="0.44991162"
- sodipodi:ry="0.72862023"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- transform="matrix(1.1113294,0,0,1.3724571,0.9642417,11.495167)" />
- <path
- transform="matrix(1.1113294,0,0,1.3724571,3.9642417,11.495167)"
- d="M 19.828288,17.854717 A 0.44991162,0.72862023 0 1 1 18.928464,17.854717 A 0.44991162,0.72862023 0 1 1 19.828288,17.854717 z"
- sodipodi:ry="0.72862023"
- sodipodi:rx="0.44991162"
- sodipodi:cy="17.854717"
- sodipodi:cx="19.378376"
- id="path6085"
- style="opacity:1;color:#000000;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.35585584;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <g
- id="g6194"
- transform="translate(1,-1)">
- <path
- sodipodi:nodetypes="cccssssccssccccssccssssssc"
- id="path6129"
- d="M 43.46875,1.96875 C 43.341028,1.9713959 43.211505,1.998755 43.09375,2.03125 L 29.625,3 C 29.574046,2.9958278 29.520341,2.9676689 29.46875,2.96875 C 29.027926,2.9778822 28.643139,3.1915368 28.375,3.5 C 28.202199,3.6987874 28.080462,3.9184764 28.03125,4.1875 C 28.010332,4.2875967 27.999825,4.3942071 28,4.5 C 28.000051,4.5307141 27.998058,4.562684 28,4.59375 L 28,18.5 C 27.99235,19.040954 28.282754,19.53979 28.75,19.8125 C 29.217247,20.085209 29.782753,20.085209 30.25,19.8125 C 30.717246,19.53979 31.00765,19.040954 31,18.5 L 31,7.90625 L 42,7.125 L 42,17.5 C 41.99235,18.040954 42.282754,18.53979 42.75,18.8125 C 43.217247,19.085209 43.782753,19.085209 44.25,18.8125 C 44.717246,18.53979 45.00765,18.040954 45,17.5 L 45,3.71875 C 45.009715,3.6495233 45.000118,3.5716662 45,3.5 C 45.000636,3.4696526 45.001192,3.4364034 45,3.40625 C 44.993528,3.3026966 44.963584,3.1901475 44.9375,3.09375 C 44.91387,3.0012937 44.884391,2.9299172 44.84375,2.84375 C 44.80019,2.7563932 44.7464,2.670181 44.6875,2.59375 C 44.644141,2.5354224 44.614528,2.4582776 44.5625,2.40625 C 44.273456,2.1172076 43.877428,1.960186 43.46875,1.96875 z"
- style="fill:#ce5c00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- transform="matrix(1.1476473,0,0,1.3276281,-10.517647,-3.9468619)"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6125"
- style="opacity:1;color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:0.81013507;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#f57900;fill-opacity:1;fill-rule:evenodd;stroke:#ce5c00;stroke-width:0.81013507;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6127"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- transform="matrix(1.1476473,0,0,1.3276281,3.4823534,-4.9468619)" />
- <path
- sodipodi:nodetypes="cc"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 29.5,19.5 L 29.5,4.5"
- id="path6163" />
- <path
- sodipodi:nodetypes="cc"
- id="path6165"
- d="M 43.5,18.5 L 43.5,3.5"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 29.5,4.5 L 43.5,3.5"
- id="path6167"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6186"
- d="M 29.5,6.5 L 43.5,5.5"
- style="fill:none;fill-rule:evenodd;stroke:#f57900;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1859163;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6188"
- sodipodi:cx="31.819572"
- sodipodi:cy="17.284103"
- sodipodi:rx="3.9210651"
- sodipodi:ry="1.8830575"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- transform="matrix(0.8926147,0,0,0.7965768,-2.4026189,5.2318838)" />
- <path
- transform="matrix(0.8926146,0,0,0.7965769,11.597384,4.2318822)"
- d="M 35.740638,17.284103 A 3.9210651,1.8830575 0 1 1 27.898507,17.284103 A 3.9210651,1.8830575 0 1 1 35.740638,17.284103 z"
- sodipodi:ry="1.8830575"
- sodipodi:rx="3.9210651"
- sodipodi:cy="17.284103"
- sodipodi:cx="31.819572"
- id="path6190"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.18591619;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cc"
- id="path6192"
- d="M 29.5,4.5 L 43.5,3.5"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- id="path6212"
- d="M 29.5,19.5 L 29.5,4.5"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999964;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.32882882;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="M 43.5,18.5 L 43.5,3.5"
- id="path6214"
- sodipodi:nodetypes="cc" />
- </g>
- <path
- transform="matrix(7.8280762e-2,0,0,4.6165615e-2,23.392097,23.925862)"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- sodipodi:ry="19.161766"
- sodipodi:rx="19.161766"
- sodipodi:cy="25.766438"
- sodipodi:cx="26.927441"
- id="path6206"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#eeeeee;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.54301095;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path6208"
- sodipodi:cx="26.927441"
- sodipodi:cy="25.766438"
- sodipodi:rx="19.161766"
- sodipodi:ry="19.161766"
- d="M 46.089207,25.766438 A 19.161766,19.161766 0 1 1 7.7656746,25.766438 A 19.161766,19.161766 0 1 1 46.089207,25.766438 z"
- transform="matrix(0.1043744,0,0,7.828089e-2,19.189462,25.48298)" />
- </g>
-</svg>
diff --git a/capplets/sound/mixer-support.c b/capplets/sound/mixer-support.c
deleted file mode 100644
index 228f4f7a0..000000000
--- a/capplets/sound/mixer-support.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* mixer-support.c
- *
- * Copyright (C) 2007 Jan Arne Petersen <jap@gnome.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include <glib.h>
-#include <glib/gi18n.h>
-#include <gst/audio/mixerutils.h>
-
-#include <gtk/gtk.h>
-
-#include "mixer-support.h"
-
-GtkTreeModel *
-create_mixer_device_tree_model (void)
-{
- GtkListStore *device_store;
- GList *mixer_list, *l;
- guint unknown = 0;
-
- device_store = gtk_list_store_new (MIXER_DEVICE_MODEL_COLUMN_COUNT,
- G_TYPE_STRING, G_TYPE_STRING, GST_TYPE_ELEMENT);
-
- mixer_list = gst_audio_default_registry_mixer_filter(NULL, FALSE, NULL);
-
- for (l = mixer_list; l != NULL; l = l->next) {
- GstElement *mixer = GST_ELEMENT (l->data);
- gchar *device_name = NULL, *device = NULL;
- GstElementFactory *factory;
- const gchar *longname, *factory_name;
- gchar *name;
- GtkTreeIter tree_iter;
-
- gst_element_set_state (mixer, GST_STATE_READY);
-
- /* fetch name */
- if (g_object_class_find_property (G_OBJECT_GET_CLASS (G_OBJECT (mixer)), "device-name")) {
- g_object_get (mixer, "device-name", &device_name, NULL);
- }
- if (g_object_class_find_property (G_OBJECT_GET_CLASS (G_OBJECT (mixer)), "device")) {
- g_object_get (mixer, "device", &device, NULL);
- }
-
- factory = gst_element_get_factory (mixer);
- longname = gst_element_factory_get_longname (factory);
- factory_name = gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory));
-
- /* gst_element_set_state (mixer, GST_STATE_NULL); */
-
- if (device_name) {
- name = g_strdup_printf ("%s (%s)", device_name, longname);
- g_free (device_name);
- } else {
- gchar *title;
-
- unknown++;
-
- title = g_strdup_printf (_("Unknown Volume Control %d"), unknown);
- name = g_strdup_printf ("%s (%s)", title, longname);
- g_free (title);
- }
-
- if (device) {
- gchar *tmp;
-
- tmp = g_strdup_printf ("%s:%s", factory_name, device);
- g_free (device);
- device = tmp;
- } else {
- device = g_strdup (factory_name);
- }
-
- gtk_list_store_insert_with_values (device_store, &tree_iter, -1,
- MIXER_DEVICE_MODEL_NAME_COLUMN, name,
- MIXER_DEVICE_MODEL_DEVICE_COLUMN, device,
- MIXER_DEVICE_MODEL_MIXER_COLUMN, mixer,
- -1);
-
- gst_element_set_state (mixer, GST_STATE_NULL);
- gst_object_unref (GST_OBJECT (mixer));
-
- g_free (name);
- g_free (device);
- }
-
- g_list_free (mixer_list);
-
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (device_store),
- MIXER_DEVICE_MODEL_NAME_COLUMN,
- GTK_SORT_ASCENDING);
-
- return GTK_TREE_MODEL (device_store);
-}
-
-GtkTreeModel *
-create_mixer_tracks_tree_model_for_mixer (GstMixer *mixer)
-{
- GtkListStore *tracks_store;
- const GList *tracks, *l;
-
- tracks_store = gtk_list_store_new (MIXER_TRACKS_MODEL_COLUMN_COUNT,
- G_TYPE_STRING);
-
- tracks = gst_mixer_list_tracks (mixer);
- for (l = tracks; l != NULL; l = l->next) {
- GstMixerTrack *track = l->data;
- GtkTreeIter iter;
-
- if (track->num_channels <= 0) {
- continue;
- }
-
- gtk_list_store_insert_with_values (tracks_store, &iter, -1,
- MIXER_TRACKS_MODEL_LABEL_COLUMN, track->label,
- -1);
- }
-
- return GTK_TREE_MODEL (tracks_store);
-}
diff --git a/capplets/sound/mixer-support.h b/capplets/sound/mixer-support.h
deleted file mode 100644
index ef540c00d..000000000
--- a/capplets/sound/mixer-support.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* mixer-support.h
- *
- * Copyright (C) 2007 Jan Arne Petersen <jap@gnome.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-
-#ifndef __GNOME_SETTINGS_MIXER_SUPPORT__
-#define __GNOME_SETTINGS_MIXER_SUPPORT__
-
-#include <gtk/gtk.h>
-#include <gst/interfaces/mixer.h>
-
-G_BEGIN_DECLS
-
-enum {
- MIXER_DEVICE_MODEL_NAME_COLUMN,
- MIXER_DEVICE_MODEL_DEVICE_COLUMN,
- MIXER_DEVICE_MODEL_MIXER_COLUMN,
- MIXER_DEVICE_MODEL_COLUMN_COUNT
-};
-
-enum {
- MIXER_TRACKS_MODEL_LABEL_COLUMN,
- MIXER_TRACKS_MODEL_COLUMN_COUNT
-};
-
-GtkTreeModel *create_mixer_device_tree_model (void);
-GtkTreeModel *create_mixer_tracks_tree_model_for_mixer (GstMixer *mixer);
-
-G_END_DECLS
-
-#endif
diff --git a/capplets/sound/pipeline-tests.c b/capplets/sound/pipeline-tests.c
deleted file mode 100644
index c75b1932b..000000000
--- a/capplets/sound/pipeline-tests.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* pipeline-tests.c
- * Copyright (C) 2002 Jan Schmidt
- * Copyright (C) 2005 Tim-Philipp Müller <tim centricular net>
- * Copyright (C) 2006 Jürg Billeter <j@bitron.ch>
- *
- * Written by: Jan Schmidt <thaytan@mad.scientist.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <locale.h>
-#include <string.h>
-#include <glade/glade.h>
-#include <gtk/gtk.h>
-#include <gst/gst.h>
-#include <glib/gi18n.h>
-
-#include "pipeline-tests.h"
-#define WID(s) glade_xml_get_widget (interface_xml, s)
-static gint timeout_tag;
-
-static GstElement *gst_test_pipeline;
-
-static void pipeline_error_dlg (GtkWindow * parent,
- const gchar * pipeline, const gchar * error_message);
-
-/* User responded in the dialog */
-static void
-user_test_pipeline_response (GtkDialog * widget, gint response_id,
- GladeXML * dialog)
-{
- /* Close the window causing the test to end */
- gtk_widget_hide (GTK_WIDGET (widget));
-}
-
-/* Timer timeout has been occurred */
-static gboolean
-user_test_pipeline_timeout (gpointer data)
-{
- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data));
- return TRUE;
-}
-
-/* Build the pipeline */
-static gboolean
-build_test_pipeline (const gchar * pipeline, GError ** p_err)
-{
- gst_test_pipeline = gst_parse_launch (pipeline, p_err);
-
- if (*p_err == NULL && gst_test_pipeline != NULL)
- return TRUE;
-
- return FALSE;
-}
-
-static void
-pipeline_error_dlg (GtkWindow * parent,
- const gchar * pipeline, const gchar * error_message)
-{
- gchar *errstr;
-
- if (error_message) {
- errstr = g_strdup_printf ("%s: %s", pipeline, error_message);
- } else {
- errstr = g_strdup_printf (_("Failed to construct test pipeline for '%s'"),
- pipeline);
- }
-
- if (parent == NULL) {
- g_printerr ("%s", errstr);
- } else {
- GtkWidget *dialog;
-
- dialog = gtk_message_dialog_new (parent,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", errstr);
-
- gtk_dialog_run (GTK_DIALOG (dialog));
- gtk_widget_destroy (dialog);
- }
-
- g_free (errstr);
-}
-
-/* Construct and run the pipeline. Use the indicated parent
- * for any user interaction window.
- */
-void
-user_test_pipeline (GladeXML * interface_xml,
- GtkWindow * parent, const gchar * pipeline)
-{
- GstStateChangeReturn ret;
- GtkDialog *dialog = NULL;
- GstMessage *msg;
- GError *err = NULL;
- GstBus *bus;
-
- gst_test_pipeline = NULL;
-
- /* Build the pipeline */
- if (!build_test_pipeline (pipeline, &err)) {
- /* Show the error pipeline */
- pipeline_error_dlg (parent, pipeline, (err) ? err->message : NULL);
- if (err)
- g_error_free (err);
- return;
- }
-
- /* Setup the 'click ok when done' dialog */
- if (parent) {
- dialog = GTK_DIALOG (WID ("test_pipeline"));
- /* g_return_if_fail(dialog != NULL); */
- gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
- gtk_window_set_transient_for (GTK_WINDOW (dialog), parent);
- g_signal_connect (G_OBJECT (dialog), "response",
- (GCallback) user_test_pipeline_response, interface_xml);
- }
-
- /* Start the pipeline and wait for max. 3 seconds for it to start up */
- gst_element_set_state (gst_test_pipeline, GST_STATE_PLAYING);
- ret = gst_element_get_state (gst_test_pipeline, NULL, NULL, 3 * GST_SECOND);
-
- /* Check if any error messages were posted on the bus */
- bus = gst_element_get_bus (gst_test_pipeline);
- msg = gst_bus_poll (bus, GST_MESSAGE_ERROR, 0);
- gst_object_unref (bus);
-
- if (msg != NULL) {
- gchar *dbg = NULL;
-
- gst_message_parse_error (msg, &err, &dbg);
- gst_message_unref (msg);
-
- g_message ("Error running pipeline '%s': %s [%s]", pipeline,
- (err) ? err->message : "(null error)",
- (dbg) ? dbg : "no additional debugging details");
- pipeline_error_dlg (parent, pipeline, err->message);
- g_error_free (err);
- g_free (dbg);
- } else if (ret != GST_STATE_CHANGE_SUCCESS) {
- pipeline_error_dlg (parent, pipeline, NULL);
- } else {
- /* Show the dialog */
- if (dialog) {
- gtk_window_present (GTK_WINDOW (dialog));
- timeout_tag =
- g_timeout_add (50, user_test_pipeline_timeout,
- WID ("test_pipeline_progress"));
- gtk_dialog_run (GTK_DIALOG (dialog));
- g_source_remove (timeout_tag);
- gtk_widget_hide (GTK_WIDGET (dialog));
- } else {
- gint secs;
-
- /* A bit hacky: No parent dialog, run in limited test mode */
- for (secs = 0; secs < 5; ++secs) {
- g_print (".");
- g_usleep (G_USEC_PER_SEC); /* 1 second */
- }
- }
- }
-
- if (gst_test_pipeline) {
- gst_element_set_state (gst_test_pipeline, GST_STATE_NULL);
- gst_object_unref (gst_test_pipeline);
- gst_test_pipeline = NULL;
- }
-}
diff --git a/capplets/sound/pipeline-tests.h b/capplets/sound/pipeline-tests.h
deleted file mode 100644
index e2e396d35..000000000
--- a/capplets/sound/pipeline-tests.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* pipeline-tests.h
- * Copyright (C) 2002 Jan Schmidt
- * Copyright (C) 2006 Jürg Billeter <j@bitron.ch>
- *
- * Written by: Jan Schmidt <thaytan@mad.scientist.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#ifndef __PIPELINE_TESTS_HH__
-#define __PIPELINE_TESTS_HH__
-
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-
-void user_test_pipeline(GladeXML *interface_xml,
- GtkWindow *parent,
- const gchar *pipeline);
-
-
-#endif
diff --git a/capplets/sound/sound-properties-capplet.c b/capplets/sound/sound-properties-capplet.c
deleted file mode 100644
index ff45e032b..000000000
--- a/capplets/sound/sound-properties-capplet.c
+++ /dev/null
@@ -1,1206 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-
-/* sound-properties-capplet.c
- * Copyright (C) 2001 Ximian, Inc.
- *
- * Written by Bradford Hovinen <hovinen@ximian.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <glib/gi18n.h>
-#include <gconf/gconf-client.h>
-
-#include <gdk/gdkx.h>
-#include <X11/X.h>
-#include <X11/Xlib.h>
-#include <X11/XKBlib.h>
-
-#include "capplet-util.h"
-#include "gconf-property-editor.h"
-
-#include <glade/glade.h>
-
-#include <dbus/dbus-glib-lowlevel.h>
-#if USE_HAL
-#include <libhal.h>
-#endif
-#include <gst/gst.h>
-#include <gst/interfaces/propertyprobe.h>
-
-/* Needed only for the sound capplet */
-
-#include <stdlib.h>
-#include <sys/types.h>
-
-#include "activate-settings-daemon.h"
-#include "pipeline-tests.h"
-#include "mixer-support.h"
-#include "sound-theme.h"
-
-typedef enum {
- AUDIO_PLAYBACK,
- AUDIO_CAPTURE,
- VIDEO_PLAYBACK,
- VIDEO_CAPTURE
-} device_type;
-
-typedef enum {
- SYSTEM_ALSA,
- SYSTEM_OSS
-} SoundSystemType;
-
-typedef struct _DeviceChooser
-{
- const gchar *profile;
- int type;
- GtkWidget *combobox;
- GtkListStore *model;
- const gchar *test_pipeline;
-} DeviceChooser;
-
-#define EVENT_SOUNDS_KEY "/desktop/gnome/sound/event_sounds"
-#define INPUT_SOUNDS_KEY "/desktop/gnome/sound/input_feedback_sounds"
-#define DEFAULT_MIXER_DEVICE_KEY "/desktop/gnome/sound/default_mixer_device"
-#define DEFAULT_MIXER_TRACKS_KEY "/desktop/gnome/sound/default_mixer_tracks"
-#define AUDIO_BELL_KEY "/apps/metacity/general/audible_bell"
-#define GST_GCONF_DIR "/system/gstreamer/0.10"
-
-#define AUDIO_TEST_SOURCE "audiotestsrc wave=sine freq=512"
-#define VIDEO_TEST_SOURCE "videotestsrc"
-#define AUDIO_TEST_IN_BETWEEN " ! audioconvert ! audioresample ! "
-#define VIDEO_TEST_IN_BETWEEN " ! ffmpegcolorspace ! "
-
-/* Capplet-specific prototypes */
-
-static GConfClient *gconf_client = NULL;
-static GtkWidget *dialog_win = NULL;
-static GList *device_choosers = NULL;
-
-static gboolean
-CheckXKB (void)
-{
- gboolean have_xkb = FALSE;
- Display *dpy;
- int opcode, errorBase, major, minor, xkbEventBase;
-
- gdk_error_trap_push ();
- dpy = GDK_DISPLAY ();
- have_xkb = XkbQueryExtension (dpy, &opcode, &xkbEventBase,
- &errorBase, &major, &minor)
- && XkbUseExtension (dpy, &major, &minor);
- XSync (dpy, FALSE);
- gdk_error_trap_pop ();
-
- return have_xkb;
-}
-
-static GladeXML *
-create_dialog (void)
-{
- GladeXML *dialog;
- GtkWidget *image;
-
- dialog = glade_xml_new (GNOMECC_GLADE_DIR "/sound-properties.glade", "sound_prefs_dialog", NULL);
- if (dialog == NULL)
- return NULL;
-
- image = gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_BUTTON);
- gtk_button_set_image (GTK_BUTTON (WID ("sounds_playback_test")), image);
-
- image = gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_BUTTON);
- gtk_button_set_image (GTK_BUTTON (WID ("music_playback_test")), image);
-
- image = gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_BUTTON);
- gtk_button_set_image (GTK_BUTTON (WID ("chat_audio_playback_test")), image);
-
- image = gtk_image_new_from_stock (GTK_STOCK_APPLY, GTK_ICON_SIZE_BUTTON);
- gtk_button_set_image (GTK_BUTTON (WID ("chat_audio_capture_test")), image);
-
- return dialog;
-}
-
-static gboolean
-element_available (const gchar *pipeline)
-{
- gboolean res = FALSE;
- gchar *p, *first_space;
-
- if (pipeline == NULL || *pipeline == '\0')
- return FALSE;
-
- p = g_strdup (pipeline);
-
- g_strstrip (p);
-
- /* skip the check and pretend all is fine if it's something that does
- * not look like an element name (e.g. parentheses to signify a bin) */
- if (!g_ascii_isalpha (*p)) {
- g_free (p);
- return TRUE;
- }
-
- /* just the element name, no arguments */
- first_space = strchr (p, ' ');
- if (first_space != NULL)
- *first_space = '\0';
-
- /* check if element is available */
- res = gst_default_registry_check_feature_version (p, GST_VERSION_MAJOR,
- GST_VERSION_MINOR, 0);
-
- g_free (p);
- return res;
-}
-static void
-add_device (int type, const gchar *pipeline, const gchar *description, const gchar *selection)
-{
- GList *l;
- DeviceChooser *device_chooser;
- gchar *row_pipeline;
- gchar *description_mod;
- const gchar *suffix;
- gboolean selected, row_selected;
- gboolean found_pipeline, found_selected;
- GtkTreeModel *model;
- GtkTreeIter iter;
- GtkTreeIter found_pipeline_iter = { };
- GtkTreeIter found_selected_iter = { };
-
- /* only display pipelines available on this system */
- if (!element_available (pipeline))
- return;
-
- for (l = device_choosers; l != NULL; l = l->next) {
- device_chooser = (DeviceChooser *) l->data;
-
- if (device_chooser->type != type)
- continue;
-
- /* if we're adding/updating the currently selected device
- * we're only interested in the DeviceChooser for the
- * corresponding profile */
- if (selection != NULL && strcmp (selection, device_chooser->profile) != 0)
- continue;
-
- selected = (selection != NULL);
-
- found_pipeline = FALSE;
- found_selected = FALSE;
-
- model = GTK_TREE_MODEL (device_chooser->model);
-
- if (gtk_tree_model_get_iter_first (model, &iter)) {
- do {
- gtk_tree_model_get (model, &iter, 0, &row_pipeline, 2, &row_selected, -1);
-
- if (strcmp (row_pipeline, pipeline) == 0) {
- found_pipeline_iter = iter;
- found_pipeline = TRUE;
- }
- g_free (row_pipeline);
-
- if (row_selected) {
- found_selected_iter = iter;
- found_selected = TRUE;
- }
-
- } while (gtk_tree_model_iter_next (model, &iter));
- }
-
- if (found_pipeline) {
- /* the specified pipeline is already in the model */
- iter = found_pipeline_iter;
- if (!selected) {
- /* if the specified pipeline was only already in
- * the model because it's currently selected,
- * clear the corresponding flag in the model
- * (happens when reconnecting usb audio devices) */
- gtk_list_store_set (device_chooser->model, &iter, 2, FALSE, -1);
- }
- } else if (selected && found_selected) {
- /* we only allow one custom pipeline in the model */
- iter = found_selected_iter;
- } else {
- /* no existing pipeline found that would be appropriate
- * to reuse, so append a new row */
- gtk_list_store_append (device_chooser->model, &iter);
- gtk_list_store_set (device_chooser->model, &iter, 2, selected, -1);
- }
-
- gtk_list_store_set (device_chooser->model, &iter, 0, pipeline, -1);
-
- if (!selected || !found_pipeline) {
- /* either we're appending a new row or we're updating
- * a row with non-appropriate description */
-
- if (selected) {
- /* we add the specified pipeline only because
- * it's the preferred device but it's neither
- * a device currently detected by HAL nor a
- * standard pipeline */
- if (g_str_has_prefix (pipeline, "hal")) {
- suffix = _("Not connected");
- } else {
- suffix = _("Custom");
- }
- description_mod = g_strdup_printf ("%s (%s)", description, suffix);
- } else {
- description_mod = g_strdup (description);
- }
- gtk_list_store_set (device_chooser->model, &iter, 1, description_mod, -1);
-
- /* we need to store the unmodified description to not
- * modify already modified descriptions */
- gtk_list_store_set (device_chooser->model, &iter, 3, description, -1);
-
- g_free (description_mod);
- }
-
- if (selected) {
- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (device_chooser->combobox), &iter);
- }
- }
-}
-
-/* Adds an element which supports the GstPropertyProbe interface. Will add
- * entries for all available devices. Elements should support retrieving the
- * device-name in NULL state for this to work properly/nicely.
- *
- * Returns TRUE if probing was successful and one or more devices were found
- */
-static gboolean
-add_device_with_probe (int type, const gchar *element_name, const gchar *system_description)
-{
- GstPropertyProbe *probe;
- GstElement *element;
- GValueArray *vals;
- gboolean res = FALSE;
- guint i;
-
- /* only display pipelines available on this system */
- element = gst_element_factory_make (element_name, NULL);
- if (element == NULL)
- return FALSE;
-
- if (!GST_IS_PROPERTY_PROBE (element))
- goto done;
-
- probe = GST_PROPERTY_PROBE (element);
- vals = gst_property_probe_probe_and_get_values_name (probe, "device");
-
- if (vals == NULL)
- goto done;
-
- for (i = 0; i < vals->n_values; ++i) {
- gchar *device_name = NULL;
- gchar *pipeline, *desc;
- const gchar *device;
- GValue *val;
-
- val = g_value_array_get_nth (vals, i);
- device = g_value_get_string (val);
-
- g_object_set (element, "device", device, NULL);
-
- /* we assume the element is able to retrieve the description
- * even if the device is in NULL state (ie. not open) */
- g_object_get (element, "device-name", &device_name, NULL);
-
- if (device_name) {
- desc = g_strdup_printf ("%s - %s", system_description, device_name);
- } else {
- /* fallback, shouldn't happen */
- desc = g_strdup_printf ("%s - %s", system_description, device);
- }
-
- pipeline = g_strdup_printf ("%s device=%s", element_name, device);
-
- add_device (type, pipeline, desc, NULL);
- res = TRUE;
-
- g_free (pipeline);
- g_free (desc);
- g_free (device_name);
- }
-
- g_value_array_free (vals);
-
-done:
- gst_object_unref (element);
- return res;
-}
-
-#if USE_HAL
-static void
-remove_device (int type, const gchar *pipeline)
-{
- GList *l;
- DeviceChooser *device_chooser;
- GtkTreeIter iter;
- gchar *row_pipeline;
- gchar *description;
- gchar *description_mod;
- GtkTreeModel *model;
-
- for (l = device_choosers; l != NULL; l = l->next) {
- device_chooser = (DeviceChooser *) l->data;
-
- if (device_chooser->type != type)
- continue;
-
- model = GTK_TREE_MODEL (device_chooser->model);
-
- gtk_combo_box_get_active_iter (GTK_COMBO_BOX (device_chooser->combobox), &iter);
- gtk_tree_model_get (model, &iter, 0, &row_pipeline, -1);
-
- /* don't remove currently selected devices */
- if (strcmp (row_pipeline, pipeline) == 0) {
- g_free (row_pipeline);
-
- /* let the user know that they have to reconnect the
- * sound device */
- gtk_tree_model_get (model, &iter, 3, &description, -1);
- description_mod = g_strdup_printf ("%s (%s)", description, _("Not connected"));
- g_free (description);
- gtk_list_store_set (device_chooser->model, &iter, 1, description_mod, -1);
- g_free (description_mod);
- } else {
- g_free (row_pipeline);
-
- if (gtk_tree_model_get_iter_first (model, &iter)) {
- do {
- gtk_tree_model_get (model, &iter, 0, &row_pipeline, -1);
- if (strcmp (row_pipeline, pipeline) == 0) {
- g_free (row_pipeline);
- gtk_list_store_remove (device_chooser->model, &iter);
- break;
- }
- g_free (row_pipeline);
- } while (gtk_tree_model_iter_next (model, &iter));
- }
- }
- }
-}
-
-static gboolean
-filter_device_generic (LibHalContext *ctx, const char *udi)
-{
- gboolean ignore = FALSE;
- gchar *parent_udi;
- gchar *subsystem;
-
- parent_udi = libhal_device_get_property_string (ctx, udi, "info.parent", NULL);
-
- if (!parent_udi)
- return FALSE;
-
- subsystem = libhal_device_get_property_string (ctx, parent_udi, "info.subsystem", NULL);
-
- /* filter out pc speaker */
- if (subsystem && (!strcmp (subsystem, "platform") || !strcmp (subsystem, "sound"))) {
- gchar *device_id = libhal_device_get_property_string (ctx, parent_udi, "platform.id", NULL);
- ignore = device_id && !strncmp (device_id, "pcspk", 5);
- libhal_free_string (device_id);
- }
-
- libhal_free_string (parent_udi);
- libhal_free_string (subsystem);
-
- return ignore;
-}
-
-static gboolean
-filter_device_alsa (LibHalContext *ctx, const char *udi)
-{
- gboolean ignore;
- gchar *class_string;
-
- /* filter out "digitizer", "modem", "none", "unknown" */
- class_string = libhal_device_get_property_string (ctx, udi, "alsa.pcm_class", NULL);
- ignore = class_string != NULL
- && strcmp (class_string, "generic") != 0
- && strcmp (class_string, "multi") != 0;
- libhal_free_string (class_string);
-
- if (!ignore)
- ignore = filter_device_generic (ctx, udi);
-
- return ignore;
-}
-
-static gboolean
-filter_device_oss (LibHalContext *ctx, const char *udi)
-{
- gboolean ignore = FALSE;
- gchar *parent_udi;
- gchar *subsystem;
-
- parent_udi = libhal_device_get_property_string (ctx, udi, "info.parent", NULL);
-
- if (!parent_udi)
- return FALSE;
-
- subsystem = libhal_device_get_property_string (ctx, parent_udi, "info.subsystem", NULL);
- /* filter out modem devices */
- if (subsystem && !strcmp (subsystem, "pci")) {
- dbus_int32_t device_class = libhal_device_get_property_int (ctx, parent_udi, "pci.device_class", NULL);
- /* this means "Simple communications controllers". Maybe there is a headerfile with definitions?
- * visit http://www.acm.uiuc.edu/sigops/roll_your_own/7.c.1.html for further information */
- ignore = (device_class == 0x7);
- }
-
- libhal_free_string (parent_udi);
- libhal_free_string (subsystem);
-
- if (!ignore)
- ignore = filter_device_generic (ctx, udi);
-
- return ignore;
-}
-
-static gchar *
-get_device_description (LibHalContext *ctx, const char *udi, SoundSystemType snd_sys)
-{
- gchar *card_id = NULL, *device_id = NULL, *product, *desc;
- const gchar *indicator = NULL;
-
- /* the device number should be reported if there is a second (playback)
- * device with the same description on the same card */
- /* dbus_int32_t device_num = 0; */
-
- switch (snd_sys) {
- case SYSTEM_ALSA:
- card_id = libhal_device_get_property_string (ctx, udi, "alsa.card_id", NULL);
- device_id = libhal_device_get_property_string (ctx, udi, "alsa.device_id", NULL);
- /* device_num = libhal_device_get_property_int (ctx, udi, "alsa.device", NULL); */
- indicator = "(ALSA)";
- break;
- case SYSTEM_OSS:
- card_id = libhal_device_get_property_string (ctx, udi, "oss.card_id", NULL);
- device_id = libhal_device_get_property_string (ctx, udi, "oss.device_id", NULL);
- /* device_num = libhal_device_get_property_int (ctx, udi, "oss.device", NULL); */
- indicator = "(OSS)";
- }
-
- /* card_id and device_id are not mandatory in OSS and ALSA namespace
- * according to the specification so it could be possible go get an
- * empty string */
- if (card_id && device_id) {
- desc = g_strconcat (card_id, " ", device_id, " ", indicator, NULL);
- } else {
- product = libhal_device_get_property_string (ctx, udi, "info.product", NULL);
- desc = g_strconcat (product, " ", indicator, NULL);
- libhal_free_string (product);
- }
- libhal_free_string (card_id);
- libhal_free_string (device_id);
-
- return desc;
-}
-
-static void
-device_added_alsa (LibHalContext *ctx, const char *udi)
-{
- gchar *type_string;
- int type;
- const gchar *element;
- gchar *pipeline, *description;
-
- if (filter_device_alsa (ctx, udi))
- return;
-
- type_string = libhal_device_get_property_string (ctx, udi, "alsa.type", NULL);
- if (strcmp (type_string, "playback") == 0) {
- type = AUDIO_PLAYBACK;
- element = "halaudiosink";
- } else if (strcmp (type_string, "capture") == 0) {
- type = AUDIO_CAPTURE;
- element = "halaudiosrc";
- } else {
- type = -1;
- element = NULL;
- }
- libhal_free_string (type_string);
- if (type == -1) {
- return;
- }
-
- pipeline = g_strconcat (element, " udi=", udi, NULL);
- description = get_device_description (ctx, udi, SYSTEM_ALSA);
-
- add_device (type, pipeline, description, NULL);
-
- g_free (pipeline);
- g_free (description);
-}
-
-static void
-device_added_oss (LibHalContext *ctx, const char *udi)
-{
- gchar *type_string;
- int type;
- const gchar *element;
- gchar *pipeline, *description;
-
- if (filter_device_oss (ctx, udi))
- return;
-
- type_string = libhal_device_get_property_string (ctx, udi, "oss.type", NULL);
- if (strcmp (type_string, "pcm") == 0) {
- type = AUDIO_PLAYBACK;
- element = "halaudiosink";
- } else if (strcmp (type_string, "mixer") == 0) {
- type = AUDIO_CAPTURE;
- element = "halaudiosrc";
- } else {
- type = -1;
- element = NULL;
- }
- libhal_free_string (type_string);
- if (type == -1) {
- return;
- }
-
- pipeline = g_strconcat (element, " udi=", udi, NULL);
- description = get_device_description (ctx, udi, SYSTEM_OSS);
-
- add_device (type, pipeline, description, NULL);
-
- g_free (pipeline);
- g_free (description);
-}
-
-static void
-device_added_callback (LibHalContext *ctx, const char *udi)
-{
- if (libhal_device_query_capability (ctx, udi, "alsa", NULL)) {
- device_added_alsa (ctx, udi);
- } else if (libhal_device_query_capability (ctx, udi, "oss", NULL)) {
- device_added_oss (ctx, udi);
- }
-
-}
-
-static void
-device_removed_callback (LibHalContext *ctx, const char *udi)
-{
- gchar *pipeline;
-
- pipeline = g_strconcat ("halaudiosink udi=", udi, NULL);
- remove_device (AUDIO_PLAYBACK, pipeline);
- g_free (pipeline);
-
- pipeline = g_strconcat ("halaudiosrc udi=", udi, NULL);
- remove_device (AUDIO_CAPTURE, pipeline);
- g_free (pipeline);
-}
-
-static void
-setup_devices_by_capability (LibHalContext *ctx, const gchar *cap)
-{
- DBusError error;
- char **devices;
- int num = 0;
-
- dbus_error_init (&error);
-
- devices = libhal_find_device_by_capability (ctx, cap, &num, &error);
- if (devices != NULL) {
- int i;
-
- for (i = 0; i < num; ++i) {
- device_added_callback (ctx, devices[i]);
- }
- dbus_free_string_array (devices);
- } else {
- if (dbus_error_is_set (&error)) {
- g_warning ("Calling a hal function an error occured: %s", error.message);
- dbus_error_free (&error);
- }
- }
-}
-
-static void
-setup_hal_devices (void)
-{
- DBusConnection *connection;
- DBusError error;
- LibHalContext *ctx;
-
- dbus_error_init (&error);
-
- connection = dbus_bus_get (DBUS_BUS_SYSTEM, &error);
- if (connection == NULL) {
- /* cannot get a dbus connection */
- if (dbus_error_is_set (&error)) {
- g_warning ("Getting a system dbus connection an error occured: %s", error.message);
- dbus_error_free (&error);
- }
- return;
- }
-
- dbus_connection_setup_with_g_main (connection, g_main_context_default ());
-
- ctx = libhal_ctx_new ();
- g_return_if_fail (ctx != NULL);
-
- libhal_ctx_set_device_added (ctx, device_added_callback);
- libhal_ctx_set_device_removed (ctx, device_removed_callback);
- libhal_ctx_set_dbus_connection (ctx, connection);
-
- if (!libhal_ctx_init (ctx, &error)) {
- /* cannot connect to hald */
- if (dbus_error_is_set (&error)) {
- g_warning ("Connecting to hald an error occured: %s", error.message);
- dbus_error_free (&error);
- }
- return;
- }
-
- setup_devices_by_capability (ctx, "alsa");
- setup_devices_by_capability (ctx, "oss");
-}
-#endif
-
-static void
-device_test_button_clicked (GtkWidget *button, gpointer user_data)
-{
- DeviceChooser *device_chooser = (DeviceChooser *) user_data;
-
- GladeXML *dialog = glade_xml_new (GNOMECC_GLADE_DIR "/sound-properties.glade", NULL, NULL);
-
- user_test_pipeline (dialog, GTK_WINDOW (dialog_win), device_chooser->test_pipeline);
-
- g_object_unref (dialog);
-}
-
-static gchar *
-get_gconf_key_for_profile (const gchar *profile, int type)
-{
- const gchar *element_type;
-
- switch (type) {
- case AUDIO_PLAYBACK:
- element_type = "audiosink";
- break;
- case AUDIO_CAPTURE:
- element_type = "audiosrc";
- break;
- case VIDEO_PLAYBACK:
- element_type = "videosink";
- break;
- case VIDEO_CAPTURE:
- element_type = "videosrc";
- break;
- default:
- g_return_val_if_reached (NULL);
- }
-
- return g_strdup_printf ("%s/default/%s%s", GST_GCONF_DIR, profile, element_type);
-}
-
-static void
-device_changed (GtkComboBox *widget, gpointer user_data)
-{
- DeviceChooser *device_chooser = (DeviceChooser *) user_data;
- GtkTreeIter iter;
- gchar *pipeline, *description;
- gchar *base_key, *key;
-
- gtk_combo_box_get_active_iter (widget, &iter);
- gtk_tree_model_get (GTK_TREE_MODEL (device_chooser->model), &iter, 0, &pipeline, 3, &description, -1);
-
- base_key = get_gconf_key_for_profile (device_chooser->profile, device_chooser->type);
- gconf_client_set_string (gconf_client, base_key, pipeline, NULL);
- g_free (pipeline);
- key = g_strconcat (base_key, "_description", NULL);
- g_free (base_key);
- gconf_client_set_string (gconf_client, key, description, NULL);
- g_free (description);
- g_free (key);
-}
-
-static gchar *
-get_gconf_description_for_profile (const gchar *profile, int type)
-{
- gchar *base_key;
- gchar *key;
- gchar *description;
-
- base_key = get_gconf_key_for_profile (profile, type);
- key = g_strconcat (base_key, "_description", NULL);
- g_free (base_key);
-
- description = gconf_client_get_string (gconf_client, key, NULL);
- g_free (key);
-
- return description;
-}
-
-static void
-gconf_key_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer data)
-{
- DeviceChooser *device_chooser = (DeviceChooser *) data;
- gchar *description;
-
- description = get_gconf_description_for_profile (device_chooser->profile, device_chooser->type);
-
- add_device (device_chooser->type, gconf_value_get_string (gconf_entry_get_value (entry)), description, device_chooser->profile);
-
- g_free (description);
-}
-
-static void
-setup_device_chooser (const gchar *profile, int type, GtkWidget *combobox, GtkWidget *test_button, const gchar *test_pipeline)
-{
- DeviceChooser *device_chooser;
- GtkCellRenderer *cell;
- gchar *gconf_key;
-
- g_return_if_fail (GTK_IS_COMBO_BOX (combobox));
- g_return_if_fail (GTK_IS_BUTTON (test_button));
-
- device_chooser = g_malloc0 (sizeof (DeviceChooser));
-
- device_chooser->profile = profile;
- device_chooser->type = type;
- device_chooser->combobox = combobox;
- device_chooser->model = gtk_list_store_new (4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_STRING);
- device_chooser->test_pipeline = test_pipeline;
- gtk_combo_box_set_model (GTK_COMBO_BOX (combobox), GTK_TREE_MODEL (device_chooser->model));
- cell = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), cell, TRUE);
- gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combobox), cell, "text", 1);
-
- device_choosers = g_list_prepend (device_choosers, device_chooser);
-
- gconf_key = get_gconf_key_for_profile (profile, type);
- gconf_client_notify_add (gconf_client, gconf_key, gconf_key_changed,
- device_chooser, NULL, NULL);
- g_free (gconf_key);
-
- g_signal_connect (combobox, "changed", G_CALLBACK (device_changed), device_chooser);
-
- g_signal_connect (test_button, "clicked", G_CALLBACK (device_test_button_clicked), device_chooser);
-}
-
-static void
-add_selected_device (const gchar *profile, int type)
-{
- gchar *gconf_key;
- gchar *description;
- gchar *pipeline;
-
- gconf_key = get_gconf_key_for_profile (profile, type);
- pipeline = gconf_client_get_string (gconf_client, gconf_key, NULL);
- g_free (gconf_key);
-
- g_return_if_fail (pipeline != NULL);
-
- description = get_gconf_description_for_profile (profile, type);
-
- add_device (type, pipeline, description, profile);
-
- g_free (description);
- g_free (pipeline);
-}
-
-static void
-setup_devices (void)
-{
- add_device (AUDIO_PLAYBACK, "autoaudiosink", _("Autodetect"), NULL);
-
-#if USE_HAL
- setup_hal_devices ();
-#endif
- add_device (AUDIO_PLAYBACK, "alsasink", _("ALSA - Advanced Linux Sound Architecture"), NULL);
- add_device (AUDIO_CAPTURE, "alsasrc", _("ALSA - Advanced Linux Sound Architecture"), NULL);
- add_device (AUDIO_PLAYBACK, "artsdsink", _("Artsd - ART Sound Daemon"), NULL);
- add_device (AUDIO_PLAYBACK, "esdsink", _("ESD - Enlightened Sound Daemon"), NULL);
- add_device (AUDIO_CAPTURE, "esdmon", _("ESD - Enlightened Sound Daemon"), NULL);
- /* only show legacy OSS if OSS4 isn't active and working */
- if (!add_device_with_probe (AUDIO_PLAYBACK, "oss4sink", "OSS4")) {
- add_device (AUDIO_PLAYBACK, "osssink", _("OSS - Open Sound System"), NULL);
- }
- if (!add_device_with_probe (AUDIO_CAPTURE, "oss4src", "OSS4")) {
- add_device (AUDIO_CAPTURE, "osssrc", _("OSS - Open Sound System"), NULL);
- }
- add_device (AUDIO_PLAYBACK, "pulsesink", _("PulseAudio Sound Server"), NULL);
- add_device (AUDIO_CAPTURE, "pulsesrc", _("PulseAudio Sound Server"), NULL);
- add_device (AUDIO_CAPTURE, "audiotestsrc wave=triangle is-live=true", _("Test Sound"), NULL);
- add_device (AUDIO_CAPTURE, "audiotestsrc wave=silence is-live=true", _("Silence"), NULL);
-
- add_selected_device ("", AUDIO_PLAYBACK);
- add_selected_device ("music", AUDIO_PLAYBACK);
- add_selected_device ("chat", AUDIO_PLAYBACK);
- add_selected_device ("", AUDIO_CAPTURE);
-}
-
-static void
-mixer_device_combobox_changed (GtkComboBox *widget, gpointer user_data)
-{
- GtkTreeIter iter;
-
- if (gtk_combo_box_get_active_iter (widget, &iter)) {
- GtkTreeModel *model;
- gchar *device = NULL;
-
- model = gtk_combo_box_get_model (widget);
- gtk_tree_model_get (model, &iter,
- MIXER_DEVICE_MODEL_DEVICE_COLUMN, &device, -1);
-
- gconf_client_set_string (gconf_client, DEFAULT_MIXER_DEVICE_KEY, device, NULL);
- g_free (device);
- }
-}
-
-static void
-add_track_label_to_list (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GSList **list)
-{
- gchar *label;
-
- gtk_tree_model_get (model, iter,
- MIXER_TRACKS_MODEL_LABEL_COLUMN, &label,
- -1);
-
- *list = g_slist_prepend (*list, label);
-}
-
-static void
-mixer_tracks_selection_changed (GtkTreeSelection *selection, gpointer user_data)
-{
- GSList *label_list = NULL;
-
- gtk_tree_selection_selected_foreach (selection,
- (GtkTreeSelectionForeachFunc)add_track_label_to_list,
- &label_list);
-
- label_list = g_slist_reverse (label_list);
- gconf_client_set_list (gconf_client, DEFAULT_MIXER_TRACKS_KEY, GCONF_VALUE_STRING, label_list, NULL);
-
- g_slist_foreach (label_list, (GFunc)g_free, NULL);
- g_slist_free (label_list);
-}
-
-static void
-update_mixer_tracks_selection (GSList *tracks, GladeXML *dialog)
-{
- GtkWidget *tracks_widget;
- GtkTreeModel *model;
- GtkTreeSelection *selection;
- GtkTreeIter iter;
-
- tracks_widget = WID ("mixer_tracks");
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (tracks_widget));
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tracks_widget));
-
- g_signal_handlers_block_by_func (G_OBJECT (selection), G_CALLBACK (mixer_tracks_selection_changed), NULL);
-
- gtk_tree_selection_unselect_all (selection);
-
- if (tracks != NULL) {
- if (gtk_tree_model_get_iter_first (model, &iter)) {
- do {
- gchar *label;
- GSList *t;
-
- gtk_tree_model_get (model, &iter, MIXER_TRACKS_MODEL_LABEL_COLUMN, &label, -1);
-
- for (t = tracks; t != NULL; t = t->next) {
- if (!strcmp (label, t->data)) {
- gtk_tree_selection_select_iter (selection, &iter);
- break;
- }
- }
- g_free (label);
- } while (gtk_tree_model_iter_next (model, &iter));
- }
- }
-
- g_signal_handlers_unblock_by_func (G_OBJECT (selection), G_CALLBACK (mixer_tracks_selection_changed), NULL);
-
- /* FIXME: if none selected, select master track */
-}
-
-static void
-default_mixer_tracks_notify (GConfClient *client, guint cnxn_id, GConfEntry *entry, GladeXML *dialog)
-{
- GSList *tracks;
-
- tracks = gconf_client_get_list (gconf_client, DEFAULT_MIXER_TRACKS_KEY, GCONF_VALUE_STRING, NULL);
-
- update_mixer_tracks_selection (tracks, dialog);
-
- g_slist_foreach (tracks, (GFunc) g_free, NULL);
- g_slist_free (tracks);
-}
-
-static void
-update_mixer_device_combobox (const gchar *mixer_device, GladeXML *dialog)
-{
- GtkWidget *device_widget;
- GtkTreeModel *model;
- GtkTreeIter iter;
-
- device_widget = WID ("mixer_device");
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (device_widget));
-
- /* try to find stored factory and device in the mixer device list */
- if (mixer_device != NULL && *mixer_device != '\0') {
- if (gtk_tree_model_get_iter_first (model, &iter)) {
- do {
- gchar *device = NULL;
-
- gtk_tree_model_get (model, &iter,
- MIXER_DEVICE_MODEL_DEVICE_COLUMN, &device,
- -1);
-
- if (!strcmp (device, mixer_device)) {
- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (device_widget), &iter);
-
- g_free (device);
- break;
- }
-
- g_free (device);
- } while (gtk_tree_model_iter_next (model, &iter));
- }
- }
-
- /* try to select first mixer entry */
- /* FIXME use the first with a master track */
- if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (device_widget), &iter)) {
- if (gtk_tree_model_get_iter_first (model, &iter)) {
- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (device_widget), &iter);
- }
- }
-
- /* fill track list */
- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (device_widget), &iter)) {
- GtkWidget *tracks_widget;
- GstElement *mixer;
- GtkTreeSelection *selection;
- GtkTreeModel *tracks_model;
- GSList *tracks;
-
- tracks_widget = WID ("mixer_tracks");
-
- gtk_tree_model_get (model, &iter,
- MIXER_DEVICE_MODEL_MIXER_COLUMN, &mixer,
- -1);
-
- gst_element_set_state (mixer, GST_STATE_READY);
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tracks_widget));
- g_signal_handlers_block_by_func (G_OBJECT (selection), G_CALLBACK (mixer_tracks_selection_changed), NULL);
-
- tracks_model = create_mixer_tracks_tree_model_for_mixer (GST_MIXER (mixer));
- gtk_tree_view_set_model (GTK_TREE_VIEW (tracks_widget), tracks_model);
- g_object_unref (tracks_model);
-
- gst_element_set_state (mixer, GST_STATE_NULL);
- gst_object_unref (GST_OBJECT (mixer));
-
- /* updated mixer tracks selection */
- tracks = gconf_client_get_list (gconf_client, DEFAULT_MIXER_TRACKS_KEY, GCONF_VALUE_STRING, NULL);
- update_mixer_tracks_selection (tracks, dialog);
- g_slist_foreach (tracks, (GFunc) g_free, NULL);
- g_slist_free (tracks);
-
- g_signal_handlers_unblock_by_func (G_OBJECT (selection), G_CALLBACK (mixer_tracks_selection_changed), NULL);
- }
-}
-
-static void
-default_mixer_device_notify (GConfClient *client, guint cnxn_id, GConfEntry *entry, GladeXML *dialog)
-{
- const gchar *mixer_device;
-
- mixer_device = gconf_value_get_string (gconf_entry_get_value (entry));
-
- update_mixer_device_combobox (mixer_device, dialog);
-}
-
-static void
-setup_default_mixer (GladeXML *dialog)
-{
- GtkWidget *device_widget, *tracks_widget;
- GtkTreeModel *model;
- GtkCellRenderer *renderer;
- GtkTreeSelection *selection;
- gchar *mixer_device;
-
- device_widget = WID ("mixer_device");
- tracks_widget = WID ("mixer_tracks");
-
- model = create_mixer_device_tree_model ();
- gtk_combo_box_set_model (GTK_COMBO_BOX (device_widget), model);
- g_object_unref (G_OBJECT (model));
-
- renderer = gtk_cell_renderer_text_new ();
- g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (device_widget), renderer, TRUE);
- gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (device_widget), renderer,
- "text", MIXER_DEVICE_MODEL_NAME_COLUMN);
-
- g_signal_connect (G_OBJECT (device_widget), "changed",
- G_CALLBACK (mixer_device_combobox_changed), NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tracks_widget),
- -1, NULL, renderer,
- "text", MIXER_TRACKS_MODEL_LABEL_COLUMN, NULL);
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tracks_widget));
- gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE);
- g_signal_connect (G_OBJECT (selection), "changed",
- G_CALLBACK (mixer_tracks_selection_changed), NULL);
-
- gconf_client_notify_add (gconf_client, DEFAULT_MIXER_DEVICE_KEY,
- (GConfClientNotifyFunc) default_mixer_device_notify, dialog, NULL, NULL);
- gconf_client_notify_add (gconf_client, DEFAULT_MIXER_TRACKS_KEY,
- (GConfClientNotifyFunc) default_mixer_tracks_notify, dialog, NULL, NULL);
-
- mixer_device = gconf_client_get_string (gconf_client, DEFAULT_MIXER_DEVICE_KEY, NULL);
- update_mixer_device_combobox (mixer_device, dialog);
- g_free (mixer_device);
-}
-
-/* setup_dialog
- *
- * Set up the property editors for our dialog
- */
-
-static void
-setup_dialog (GladeXML *dialog, GConfChangeSet *changeset)
-{
- GObject *peditor;
- GtkSizeGroup *combobox_size_group;
- GtkSizeGroup *label_size_group;
-
- gconf_client_add_dir (gconf_client, GST_GCONF_DIR,
- GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
-
- combobox_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
- label_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- gtk_size_group_add_widget (label_size_group, WID ("sounds_playback_label"));
- gtk_size_group_add_widget (label_size_group, WID ("music_playback_label"));
- gtk_size_group_add_widget (label_size_group, WID ("chat_audio_playback_label"));
- gtk_size_group_add_widget (label_size_group, WID ("chat_audio_capture_label"));
- gtk_size_group_add_widget (label_size_group, WID ("mixer_device_label"));
- gtk_size_group_add_widget (combobox_size_group, WID ("sounds_playback_device"));
- gtk_size_group_add_widget (combobox_size_group, WID ("music_playback_device"));
- gtk_size_group_add_widget (combobox_size_group, WID ("chat_audio_playback_device"));
- gtk_size_group_add_widget (combobox_size_group, WID ("chat_audio_capture_device"));
-
- setup_device_chooser ("", AUDIO_PLAYBACK, WID ("sounds_playback_device"),
- WID ("sounds_playback_test"),
- AUDIO_TEST_SOURCE AUDIO_TEST_IN_BETWEEN "gconfaudiosink");
- setup_device_chooser ("music", AUDIO_PLAYBACK, WID ("music_playback_device"),
- WID ("music_playback_test"),
- AUDIO_TEST_SOURCE AUDIO_TEST_IN_BETWEEN "gconfaudiosink profile=music");
- setup_device_chooser ("chat", AUDIO_PLAYBACK, WID ("chat_audio_playback_device"),
- WID ("chat_audio_playback_test"),
- AUDIO_TEST_SOURCE AUDIO_TEST_IN_BETWEEN "gconfaudiosink profile=chat");
- setup_device_chooser ("", AUDIO_CAPTURE, WID ("chat_audio_capture_device"),
- WID ("chat_audio_capture_test"),
- "gconfaudiosrc" AUDIO_TEST_IN_BETWEEN "gconfaudiosink profile=chat");
-
- peditor = gconf_peditor_new_boolean (NULL, EVENT_SOUNDS_KEY, WID ("events_toggle"), NULL);
- gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("input_feedback_toggle"));
- gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("sound_theme_combobox"));
- gconf_peditor_widget_set_guard (GCONF_PROPERTY_EDITOR (peditor), WID ("sounds_treeview"));
- gconf_peditor_new_boolean (NULL, INPUT_SOUNDS_KEY, WID ("input_feedback_toggle"), NULL);
- gconf_peditor_new_boolean (NULL, AUDIO_BELL_KEY, WID ("bell_audible_toggle"), NULL);
-
- setup_default_mixer (dialog);
- setup_sound_theme (dialog);
- setup_sound_theme_custom (dialog, CheckXKB());
-}
-
-static void
-dialog_response_cb (GtkWidget *dialog, gint response_id, GConfChangeSet *changeset)
-{
- if (response_id == GTK_RESPONSE_HELP) {
- capplet_help (GTK_WINDOW (dialog),
- "goscustmulti-2");
- return;
- }
-
- gtk_widget_destroy (dialog);
-}
-
-int
-main (int argc, char **argv)
-{
- GConfChangeSet *changeset;
- GladeXML *dialog;
- GOptionContext *context;
- gboolean apply_only = FALSE;
- GOptionEntry cap_options[] = {
- { "apply", 0, 0, G_OPTION_ARG_NONE, &apply_only,
- N_("Just apply settings and quit (compatibility only; now handled by daemon)"), NULL },
- { "init-session-settings", 0, 0, G_OPTION_ARG_NONE, &apply_only,
- N_("Just apply settings and quit (compatibility only; now handled by daemon)"), NULL },
- { NULL }
- };
-
- /* Since gstreamer and gnome-vfs require threads, we
- * have to initialise threads here as the first call to glib.
- */
- g_thread_init (NULL);
-
- context = g_option_context_new (N_("- GNOME Sound Preferences"));
- g_option_context_add_main_entries (context, cap_options, GETTEXT_PACKAGE);
- g_option_context_add_group (context, gst_init_get_option_group ());
-
- capplet_init (context, &argc, &argv);
-
- activate_settings_daemon ();
-
- gconf_client = gconf_client_get_default ();
- gconf_client_add_dir (gconf_client, "/desktop/gnome/sound", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
- gconf_client_add_dir (gconf_client, "/apps/metacity/general", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
-
- dialog = create_dialog ();
-
- if (dialog) {
- changeset = gconf_change_set_new ();
- setup_dialog (dialog, changeset);
- setup_devices ();
-
- dialog_win = WID ("sound_prefs_dialog");
- g_signal_connect (dialog_win, "response", G_CALLBACK (dialog_response_cb), changeset);
- g_signal_connect (dialog_win, "destroy", G_CALLBACK (gtk_main_quit), NULL);
- capplet_set_icon (dialog_win, "gnome-sound-properties");
- gtk_widget_show (dialog_win);
-
- gtk_main ();
- gconf_change_set_unref (changeset);
- g_object_unref (dialog);
- }
-
- g_object_unref (gconf_client);
-
- return 0;
-}
diff --git a/capplets/sound/sound-properties.glade b/capplets/sound/sound-properties.glade
deleted file mode 100644
index 82f362681..000000000
--- a/capplets/sound/sound-properties.glade
+++ /dev/null
@@ -1,1208 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="test_pipeline">
- <property name="border_width">5</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="title" translatable="yes">Testing Pipeline</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">True</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="test_pipeline_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="test_pipeline_action_area">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="test_pipeline_ok_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="test_pipeline_content_vbox">
- <property name="border_width">5</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="test_pipeline_testing_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;span weight=&quot;bold&quot; size=&quot;x-large&quot;&gt;Testing...&lt;/span&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkProgressBar" id="test_pipeline_progress">
- <property name="visible">True</property>
- <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
- <property name="fraction">0</property>
- <property name="pulse_step">0.05</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="test_pipeline_desc_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Click OK to finish.</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="sound_prefs_dialog">
- <property name="border_width">5</property>
- <property name="title" translatable="yes">Sound Preferences</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">True</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="helpbutton1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-help</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-11</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="closebutton1">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-close</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-7</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkNotebook" id="prefs_widget">
- <property name="border_width">5</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="show_tabs">True</property>
- <property name="show_border">True</property>
- <property name="tab_pos">GTK_POS_TOP</property>
- <property name="scrollable">False</property>
- <property name="enable_popup">False</property>
-
- <child>
- <widget class="GtkVBox" id="devices_vbox">
- <property name="border_width">12</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">18</property>
-
- <child>
- <widget class="GtkVBox" id="vbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label6">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Sound Events&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment12">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox11">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="sounds_playback_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Sound playback:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">sounds_playback_device</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- <accessibility>
- <atkrelation target="sounds_playback_device" type="label-for"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox15">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkComboBox" id="sounds_playback_device">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- <accessibility>
- <atkrelation target="sounds_playback_label" type="labelled-by"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="sounds_playback_test">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="label" translatable="yes">Test</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox15">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label7">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Music and Movies&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment13">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox12">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="music_playback_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">S_ound playback:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">music_playback_device</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- <accessibility>
- <atkrelation target="music_playback_device" type="label-for"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox16">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkComboBox" id="music_playback_device">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- <accessibility>
- <atkrelation target="music_playback_label" type="labelled-by"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="music_playback_test">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="label" translatable="yes">Test</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox16">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label8">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Audio Conferencing&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment14">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox17">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkHBox" id="hbox13">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="chat_audio_playback_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">So_und playback:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">chat_audio_playback_device</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- <accessibility>
- <atkrelation target="chat_audio_playback_device" type="label-for"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox17">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkComboBox" id="chat_audio_playback_device">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- <accessibility>
- <atkrelation target="chat_audio_playback_label" type="labelled-by"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="chat_audio_playback_test">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="label" translatable="yes">Test</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox14">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="chat_audio_capture_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sou_nd capture:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">chat_audio_capture_device</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- <accessibility>
- <atkrelation target="chat_audio_capture_device" type="label-for"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox18">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkComboBox" id="chat_audio_capture_device">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- <accessibility>
- <atkrelation target="chat_audio_capture_label" type="labelled-by"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="chat_audio_capture_test">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="label" translatable="yes">Test</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox3">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Default Mixer Tracks&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox2">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkHBox" id="hbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkLabel" id="mixer_device_label">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Device:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">mixer_device</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- <accessibility>
- <atkrelation target="mixer_device" type="label-for"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkComboBox" id="mixer_device">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- <accessibility>
- <atkrelation target="mixer_device_label" type="labelled-by"/>
- </accessibility>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="mixer_tracks">
- <property name="visible">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label16">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Select the device and tracks to control with the keyboard. Use the Shift and Control keys to select multiple tracks if required.</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label5">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Devices</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="sounds_vbox">
- <property name="border_width">12</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkCheckButton" id="events_toggle">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Play alerts and sound effects</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="events_toggled_cb"/>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkAlignment" id="alignment17">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkVBox" id="vbox18">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkCheckButton" id="input_feedback_toggle">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Play _sound effects when buttons are clicked</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="bell_audible_toggle">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Play _alert sound</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment15">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">12</property>
- <property name="bottom_padding">12</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkComboBox" id="sound_theme_combobox">
- <property name="visible">True</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label17">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Sound Theme&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment16">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">12</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
- <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="sounds_treeview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">True</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label18">
- <property name="visible">True</property>
- <property name="label" translatable="yes">&lt;b&gt;Alerts and Sound Effects&lt;/b&gt;</property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="tab_expand">False</property>
- <property name="tab_fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Sounds</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">tab</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
diff --git a/capplets/sound/sound-theme-definition.h b/capplets/sound/sound-theme-definition.h
deleted file mode 100644
index d5e690c52..000000000
--- a/capplets/sound/sound-theme-definition.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* sound-theme-definition.h
- * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-typedef enum {
- CATEGORY_INVALID,
- CATEGORY_BELL,
- CATEGORY_WINDOWS_BUTTONS,
- CATEGORY_DESKTOP,
- CATEGORY_ALERTS,
- NUM_CATEGORIES
-} CategoryType;
-
-typedef enum {
- SOUND_TYPE_NORMAL,
- SOUND_TYPE_AUDIO_BELL,
- SOUND_TYPE_VISUAL_BELL,
- SOUND_TYPE_FEEDBACK
-} SoundType;
-
-static struct {
- CategoryType category;
- SoundType type;
- const char *display_name;
- const char *names[6];
-} sounds[20] = {
- /* Bell */
- { CATEGORY_BELL, SOUND_TYPE_AUDIO_BELL, NC_("Sound event", "Alert sound"), { "bell-terminal", "bell-window-system", NULL } },
- { CATEGORY_BELL, SOUND_TYPE_VISUAL_BELL, NC_("Sound event", "Visual alert"), { NULL } },
- /* Windows and buttons */
- { CATEGORY_WINDOWS_BUTTONS, -1, NC_("Sound event", "Windows and Buttons"), { NULL } },
- { CATEGORY_WINDOWS_BUTTONS, SOUND_TYPE_FEEDBACK, NC_("Sound event", "Button clicked"), { "button-pressed", "menu-click", "menu-popup", "menu-popdown", "menu-replace", NULL } },
- { CATEGORY_WINDOWS_BUTTONS, SOUND_TYPE_FEEDBACK, NC_("Sound event", "Toggle button clicked"), { "button-toggle-off", "button-toggle-on", NULL } },
- { CATEGORY_WINDOWS_BUTTONS, SOUND_TYPE_FEEDBACK, NC_("Sound event", "Window maximized"), { "window-maximized", NULL } },
- { CATEGORY_WINDOWS_BUTTONS, SOUND_TYPE_FEEDBACK, NC_("Sound event", "Window unmaximized"), { "window-unmaximized", NULL } },
- { CATEGORY_WINDOWS_BUTTONS, SOUND_TYPE_FEEDBACK, NC_("Sound event", "Window minimised"), { "window-minimized", NULL } },
- /* Desktop */
- { CATEGORY_DESKTOP, -1, NC_("Sound event", "Desktop"), { NULL } },
- { CATEGORY_DESKTOP, SOUND_TYPE_NORMAL, NC_("Sound event", "Login"), { "desktop-login", NULL } },
- { CATEGORY_DESKTOP, SOUND_TYPE_NORMAL, NC_("Sound event", "Logout"), { "desktop-logout", NULL } },
- { CATEGORY_DESKTOP, SOUND_TYPE_NORMAL, NC_("Sound event", "New e-mail"), { "message-new-email", NULL } },
- { CATEGORY_DESKTOP, SOUND_TYPE_NORMAL, NC_("Sound event", "Empty trash"), { "trash-empty", NULL } },
- { CATEGORY_DESKTOP, SOUND_TYPE_NORMAL, NC_("Sound event", "Long action completed (download, CD burning, etc.)"), { "complete-copy", "complete-download", "complete-media-burn", "complete-media-rip", "complete-scan", NULL } },
- /* Alerts? */
- { CATEGORY_ALERTS, -1, NC_("Sound event", "Alerts"), { NULL } },
- { CATEGORY_ALERTS, SOUND_TYPE_NORMAL, NC_("Sound event", "Information or question"), { "dialog-information", "dialog-question", NULL } },
- { CATEGORY_ALERTS, SOUND_TYPE_NORMAL, NC_("Sound event", "Warning"), { "dialog-warning", NULL } },
- { CATEGORY_ALERTS, SOUND_TYPE_NORMAL, NC_("Sound event", "Error"), { "dialog-error", NULL } },
- { CATEGORY_ALERTS, SOUND_TYPE_NORMAL, NC_("Sound event", "Battery warning"), { "power-unplug-battery-low", "battery-low", "battery-caution", NULL } },
- /* Finish off */
- { -1, -1, NULL, { NULL } }
-};
-
diff --git a/capplets/sound/sound-theme-file-utils.c b/capplets/sound/sound-theme-file-utils.c
deleted file mode 100644
index 3d9062fe8..000000000
--- a/capplets/sound/sound-theme-file-utils.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* sound-theme-file-utils.c
- * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <glib/gstdio.h>
-#include <gio/gio.h>
-#include <utime.h>
-
-#include "sound-theme-file-utils.h"
-#include "capplet-util.h"
-
-#define CUSTOM_THEME_NAME "__custom"
-
-/* This function needs to be called after each individual
- * changeset to the theme */
-void
-custom_theme_update_time (void)
-{
- char *path;
-
- path = custom_theme_dir_path (NULL);
- utime (path, NULL);
- g_free (path);
-}
-
-char *
-custom_theme_dir_path (const char *child)
-{
- static char *dir = NULL;
- const char *data_dir;
-
- if (dir == NULL) {
- data_dir = g_get_user_data_dir ();
- dir = g_build_filename (data_dir, "sounds", CUSTOM_THEME_NAME, NULL);
- }
- if (child == NULL)
- return g_strdup (dir);
-
- return g_build_filename (dir, child, NULL);
-}
-
-void
-delete_custom_theme_dir (void)
-{
- char *dir;
- GFile *file;
-
- dir = custom_theme_dir_path (NULL);
- file = g_file_new_for_path (dir);
- g_free (dir);
- capplet_file_delete_recursive (file, NULL);
- g_object_unref (file);
-
- g_debug ("deleted the custom theme dir");
-}
-
-static void
-delete_one_file (const char *sound_name, const char *pattern)
-{
- GFile *file;
- char *name, *filename;
-
- name = g_strdup_printf (pattern, sound_name);
- filename = custom_theme_dir_path (name);
- g_free (name);
- file = g_file_new_for_path (filename);
- g_free (filename);
- capplet_file_delete_recursive (file, NULL);
- g_object_unref (file);
-}
-
-void
-delete_old_files (char **sounds)
-{
- guint i;
-
- for (i = 0; sounds[i] != NULL; i++) {
- delete_one_file (sounds[i], "%s.ogg");
- }
-}
-
-void
-delete_disabled_files (char **sounds)
-{
- guint i;
-
- for (i = 0; sounds[i] != NULL; i++)
- delete_one_file (sounds[i], "%s.disabled");
-}
-
-static void
-create_one_file (GFile *file)
-{
- GFileOutputStream* stream;
-
- stream = g_file_create (file, G_FILE_CREATE_NONE, NULL, NULL);
- if (stream != NULL) {
- g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, NULL);
- g_object_unref (stream);
- }
-}
-
-void
-add_disabled_file (char **sounds)
-{
- guint i;
-
- for (i = 0; sounds[i] != NULL; i++) {
- GFile *file;
- char *name, *filename;
-
- name = g_strdup_printf ("%s.disabled", sounds[i]);
- filename = custom_theme_dir_path (name);
- g_free (name);
- file = g_file_new_for_path (filename);
- g_free (filename);
-
- create_one_file (file);
- g_object_unref (file);
- }
-}
-
-void
-add_custom_file (char **sounds, const char *filename)
-{
- guint i;
-
- for (i = 0; sounds[i] != NULL; i++) {
- GFile *file;
- char *name, *path;
-
- /* We use *.ogg because it's the first type of file that
- * libcanberra looks at */
- name = g_strdup_printf ("%s.ogg", sounds[i]);
- path = custom_theme_dir_path (name);
- g_free (name);
- /* In case there's already a link there, delete it */
- g_unlink (path);
- file = g_file_new_for_path (path);
- g_free (path);
-
- /* Create the link */
- g_file_make_symbolic_link (file, filename, NULL, NULL);
- g_object_unref (file);
- }
-}
-
diff --git a/capplets/sound/sound-theme-file-utils.h b/capplets/sound/sound-theme-file-utils.h
deleted file mode 100644
index 9d2fb9b49..000000000
--- a/capplets/sound/sound-theme-file-utils.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* sound-theme-file-utils.h
- * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#ifndef __SOUND_THEME_FILE_UTILSHH__
-#define __SOUND_THEME_HH__
-
-#include <gio/gio.h>
-
-char *custom_theme_dir_path (const char *child);
-
-void delete_custom_theme_dir (void);
-void delete_old_files (char **sounds);
-void delete_disabled_files (char **sounds);
-
-void add_disabled_file (char **sounds);
-void add_custom_file (char **sounds, const char *filename);
-
-void custom_theme_update_time (void);
-
-#endif /* __SOUND_THEME_FILE_UTILS_HH__ */
diff --git a/capplets/sound/sound-theme.c b/capplets/sound/sound-theme.c
deleted file mode 100644
index 3b2319faf..000000000
--- a/capplets/sound/sound-theme.c
+++ /dev/null
@@ -1,1237 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* sound-theme.c
- * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#include <config.h>
-#include <gtk/gtk.h>
-#include <glib/gi18n.h>
-#include <gio/gio.h>
-#include <glade/glade.h>
-#include <gconf/gconf-client.h>
-#include <canberra-gtk.h>
-
-#include "sound-theme.h"
-#include "capplet-util.h"
-#include "sound-theme-definition.h"
-#include "sound-theme-file-utils.h"
-
-#define SOUND_THEME_KEY "/desktop/gnome/sound/theme_name"
-#define INPUT_SOUNDS_KEY "/desktop/gnome/sound/input_feedback_sounds"
-#define VISUAL_BELL_KEY "/apps/metacity/general/visual_bell"
-#define VISUAL_BELL_TYPE_KEY "/apps/metacity/general/visual_bell_type"
-#define AUDIO_BELL_KEY "/apps/metacity/general/audible_bell"
-
-#define CUSTOM_THEME_NAME "__custom"
-#define PREVIEW_BUTTON_XPAD 5
-
-enum {
- THEME_DISPLAY_COL,
- THEME_IDENTIFIER_COL,
- THEME_PARENT_ID_COL,
- THEME_NUM_COLS
-};
-
-enum {
- SOUND_UNSET,
- SOUND_OFF,
- SOUND_BUILTIN,
- SOUND_CUSTOM,
- SOUND_CUSTOM_OLD
-};
-
-#define SOUND_VISUAL_BELL_TITLEBAR SOUND_BUILTIN
-#define SOUND_VISUAL_BELL_SCREEN SOUND_CUSTOM
-
-static void set_combox_for_theme_name (GladeXML *dialog, const char *name);
-static gboolean theme_changed_custom_reinit (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data);
-static void dump_theme (GladeXML *dialog);
-
-static int
-visual_bell_gconf_to_setting (GConfClient *client)
-{
- char *value;
- int retval;
-
- if (gconf_client_get_bool (client, VISUAL_BELL_KEY, NULL) == FALSE) {
- return SOUND_OFF;
- }
- value = gconf_client_get_string (client, VISUAL_BELL_TYPE_KEY, NULL);
- if (value == NULL)
- return SOUND_VISUAL_BELL_SCREEN;
- if (strcmp (value, "fullscreen") == 0)
- retval = SOUND_VISUAL_BELL_SCREEN;
- else if (strcmp (value, "frame_flash") == 0)
- retval = SOUND_VISUAL_BELL_TITLEBAR;
- else
- retval = SOUND_VISUAL_BELL_SCREEN;
-
- g_free (value);
-
- return retval;
-}
-
-static void
-visual_bell_setting_to_gconf (GConfClient *client, int setting)
-{
- const char *value;
-
- value = NULL;
-
- switch (setting) {
- case SOUND_OFF:
- break;
- case SOUND_VISUAL_BELL_SCREEN:
- value = "fullscreen";
- break;
- case SOUND_VISUAL_BELL_TITLEBAR:
- value = "frame_flash";
- break;
- default:
- g_assert_not_reached ();
- }
-
- gconf_client_set_string (client, VISUAL_BELL_TYPE_KEY, value ? value : "fullscreen", NULL);
- gconf_client_set_bool (client, VISUAL_BELL_KEY, value != NULL, NULL);
-}
-
-static void
-theme_changed_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- GladeXML *dialog)
-{
- char *theme_name;
-
- theme_name = gconf_client_get_string (client, SOUND_THEME_KEY, NULL);
- set_combox_for_theme_name (dialog, theme_name);
- g_free (theme_name);
-}
-
-static char *
-load_index_theme_name (const char *index, char **parent)
-{
- GKeyFile *file;
- char *indexname = NULL;
- gboolean hidden;
-
- file = g_key_file_new ();
- if (g_key_file_load_from_file (file, index, G_KEY_FILE_KEEP_TRANSLATIONS, NULL) == FALSE) {
- g_key_file_free (file);
- return NULL;
- }
- /* Don't add hidden themes to the list */
- hidden = g_key_file_get_boolean (file, "Sound Theme", "Hidden", NULL);
- if (!hidden) {
- indexname = g_key_file_get_locale_string (file,
- "Sound Theme",
- "Name",
- NULL,
- NULL);
-
- /* Save the parent theme, if there's one */
- if (parent != NULL) {
- *parent = g_key_file_get_string (file,
- "Sound Theme",
- "Inherits",
- NULL);
- }
- }
-
- g_key_file_free (file);
- return indexname;
-}
-
-static void
-add_theme_to_store (const char *key,
- const char *value,
- GtkListStore *store)
-{
- char *parent;
-
- parent = NULL;
-
- /* Get the parent, if we're checking the custom theme */
- if (strcmp (key, CUSTOM_THEME_NAME) == 0) {
- char *name, *path;
-
- path = custom_theme_dir_path ("index.theme");
- name = load_index_theme_name (path, &parent);
- g_free (name);
- g_free (path);
- }
- gtk_list_store_insert_with_values (store, NULL, G_MAXINT,
- THEME_DISPLAY_COL, value,
- THEME_IDENTIFIER_COL, key,
- THEME_PARENT_ID_COL, parent,
- -1);
- g_free (parent);
-}
-
-static void
-sound_theme_in_dir (GHashTable *hash, const char *dir)
-{
- GDir *d;
- const char *name;
-
- d = g_dir_open (dir, 0, NULL);
- if (d == NULL)
- return;
- while ((name = g_dir_read_name (d)) != NULL) {
- char *dirname, *index, *indexname;
-
- /* Look for directories */
- dirname = g_build_filename (dir, name, NULL);
- if (g_file_test (dirname, G_FILE_TEST_IS_DIR) == FALSE) {
- g_free (dirname);
- continue;
- }
-
- /* Look for index files */
- index = g_build_filename (dirname, "index.theme", NULL);
- g_free (dirname);
-
- /* Check the name of the theme in the index.theme file */
- indexname = load_index_theme_name (index, NULL);
- g_free (index);
- if (indexname == NULL)
- continue;
-
- g_hash_table_insert (hash, g_strdup (name), indexname);
- }
-
- g_dir_close (d);
-}
-
-static void
-set_combox_for_theme_name (GladeXML *dialog, const char *name)
-{
- GtkTreeIter iter;
- GtkTreeModel *model;
- gboolean found;
-
- g_debug ("setting theme %s", name ? name : "(null)");
-
- /* If the name is empty, use "freedesktop" */
- if (name == NULL || *name == '\0')
- name = "freedesktop";
-
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (WID ("sound_theme_combobox")));
-
- if (gtk_tree_model_get_iter_first (model, &iter) == FALSE) {
- return;
- }
-
- do {
- char *value;
-
- gtk_tree_model_get (model, &iter, THEME_IDENTIFIER_COL, &value, -1);
- found = (value != NULL && strcmp (value, name) == 0);
- g_free (value);
-
- } while (!found && gtk_tree_model_iter_next (model, &iter));
-
- /* When we can't find the theme we need to set, try to set the default
- * one "freedesktop" */
- if (found) {
- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (WID ("sound_theme_combobox")), &iter);
- } else if (strcmp (name, "freedesktop") != 0) {
- g_debug ("not found, falling back to fdo");
- set_combox_for_theme_name (dialog, "freedesktop");
- }
-}
-
-static void
-theme_combobox_changed (GtkComboBox *widget,
- GladeXML *dialog)
-{
- GtkTreeIter iter;
- GtkTreeModel *model;
- GConfClient *client;
- char *theme_name;
-
- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (WID ("sound_theme_combobox")), &iter) == FALSE)
- return;
-
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (WID ("sound_theme_combobox")));
- gtk_tree_model_get (model, &iter, THEME_IDENTIFIER_COL, &theme_name, -1);
-
- client = gconf_client_get_default ();
- gconf_client_set_string (client, SOUND_THEME_KEY, theme_name, NULL);
- g_object_unref (client);
-
- /* Don't reinit a custom theme */
- if (strcmp (theme_name, CUSTOM_THEME_NAME) != 0) {
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- gtk_tree_model_foreach (model, theme_changed_custom_reinit, NULL);
-
- /* Delete the custom dir */
- delete_custom_theme_dir ();
-
- /* And the combo box entry */
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (WID ("sound_theme_combobox")));
- gtk_tree_model_get_iter_first (model, &iter);
- do {
- char *parent;
- gtk_tree_model_get (model, &iter, THEME_PARENT_ID_COL, &parent, -1);
- if (parent != NULL && strcmp (parent, CUSTOM_THEME_NAME) != 0) {
- gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
- g_free (parent);
- break;
- }
- g_free (parent);
- } while (gtk_tree_model_iter_next (model, &iter));
- }
-}
-
-void
-setup_sound_theme (GladeXML *dialog)
-{
- GHashTable *hash;
- GtkListStore *store;
- GtkCellRenderer *renderer;
- const char * const *data_dirs;
- const char *data_dir;
- char *dir, *theme_name;
- GConfClient *client;
- guint i;
-
- /* Add the theme names and their display name to a hash table,
- * makes it easy to avoid duplicate themes */
- hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
-
- data_dirs = g_get_system_data_dirs ();
- for (i = 0; data_dirs[i] != NULL; i++) {
- dir = g_build_filename (data_dirs[i], "sounds", NULL);
- sound_theme_in_dir (hash, dir);
- g_free (dir);
- }
-
- data_dir = g_get_user_data_dir ();
- dir = g_build_filename (data_dir, "sounds", NULL);
- sound_theme_in_dir (hash, dir);
- g_free (dir);
-
- /* If there isn't at least one theme, make everything
- * insensitive, LAME! */
- if (g_hash_table_size (hash) == 0) {
- gtk_widget_set_sensitive (WID ("sounds_vbox"), FALSE);
- g_warning ("Bad setup, install the freedesktop sound theme");
- g_hash_table_destroy (hash);
- return;
- }
-
- /* Setup the tree model, 3 columns:
- * - internal theme name/directory
- * - display theme name
- * - the internal id for the parent theme, used for the custom theme */
- store = gtk_list_store_new (THEME_NUM_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
-
- /* Add the themes to a combobox */
- g_hash_table_foreach (hash, (GHFunc) add_theme_to_store, store);
- g_hash_table_destroy (hash);
-
- /* Set the display */
- gtk_combo_box_set_model (GTK_COMBO_BOX (WID ("sound_theme_combobox")),
- GTK_TREE_MODEL (store));
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (WID ("sound_theme_combobox")),
- renderer, TRUE);
- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (WID ("sound_theme_combobox")),
- renderer, "text", THEME_DISPLAY_COL, NULL);
-
- /* Setup the default as per the GConf setting */
- client = gconf_client_get_default ();
- theme_name = gconf_client_get_string (client, SOUND_THEME_KEY, NULL);
- set_combox_for_theme_name (dialog, theme_name);
- g_free (theme_name);
-
- /* Listen for changes in GConf, and on the combobox */
- gconf_client_notify_add (client, SOUND_THEME_KEY,
- (GConfClientNotifyFunc) theme_changed_cb, dialog, NULL, NULL);
- g_object_unref (client);
-
- g_signal_connect (WID ("sound_theme_combobox"), "changed",
- G_CALLBACK (theme_combobox_changed), dialog);
-}
-
-enum {
- DISPLAY_COL,
- SETTING_COL,
- TYPE_COL,
- SENSITIVE_COL,
- HAS_PREVIEW_COL,
- FILENAME_COL,
- SOUND_NAMES_COL,
- NUM_COLS
-};
-
-static void
-setting_set_func (GtkTreeViewColumn *tree_column,
- GtkCellRenderer *cell,
- GtkTreeModel *model,
- GtkTreeIter *iter,
- gpointer data)
-{
- int setting;
- char *filename;
- SoundType type;
-
- gtk_tree_model_get (model, iter,
- SETTING_COL, &setting,
- FILENAME_COL, &filename,
- TYPE_COL, &type,
- -1);
-
- if (setting == SOUND_UNSET) {
- g_object_set (cell,
- "visible", FALSE,
- NULL);
- g_free (filename);
- return;
- }
-
- if (type != SOUND_TYPE_VISUAL_BELL) {
- if (setting == SOUND_OFF) {
- g_object_set (cell,
- "text", _("Disabled"),
- NULL);
- } else if (setting == SOUND_BUILTIN) {
- g_object_set (cell,
- "text", _("Default"),
- NULL);
- } else if (setting == SOUND_CUSTOM || setting == SOUND_CUSTOM_OLD) {
- char *display;
-
- display = g_filename_display_basename (filename);
- g_object_set (cell,
- "text", display,
- NULL);
- g_free (display);
- }
- } else {
- if (setting == SOUND_OFF) {
- g_object_set (cell,
- "text", _("Disabled"),
- NULL);
- } else if (setting == SOUND_VISUAL_BELL_SCREEN) {
- g_object_set (cell,
- "text", _("Flash screen"),
- NULL);
- } else if (setting == SOUND_VISUAL_BELL_TITLEBAR) {
- g_object_set (cell,
- "text", _("Flash window"),
- NULL);
- }
- }
- 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)
-{
- GtkWidget *chooser;
- int response;
- char *filename, *path;
- const char * const *data_dirs, *data_dir;
- GtkFileFilter *filter;
- guint i;
-
- chooser = gtk_file_chooser_dialog_new (_("Select Sound File"),
- GTK_WINDOW (WID("sound_prefs_dialog")),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (chooser), TRUE);
- gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (chooser), FALSE);
-
- filter = gtk_file_filter_new ();
- gtk_file_filter_set_name (filter, _("Sound files"));
- gtk_file_filter_add_mime_type (filter, "audio/x-vorbis+ogg");
- gtk_file_filter_add_mime_type (filter, "audio/x-wav");
- gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (chooser), filter);
- gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (chooser), filter);
-
- g_signal_connect (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);
- gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (chooser), path, NULL);
- g_free (path);
- }
- data_dir = g_get_user_special_dir (G_USER_DIRECTORY_MUSIC);
- if (data_dir != NULL)
- gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (chooser), data_dir, NULL);
-
- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser), SOUND_DATA_DIR);
-
- response = gtk_dialog_run (GTK_DIALOG (chooser));
- filename = NULL;
- if (response == GTK_RESPONSE_ACCEPT)
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
-
- gtk_widget_destroy (chooser);
-
- return filename;
-}
-
-static void
-fill_custom_model (GtkListStore *store, const char *prev_filename)
-{
- GtkTreeIter iter;
-
- gtk_list_store_clear (store);
-
- if (prev_filename != NULL) {
- char *display;
- display = g_filename_display_basename (prev_filename);
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, display,
- 1, SOUND_CUSTOM_OLD,
- -1);
- g_free (display);
- }
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, _("Default"),
- 1, SOUND_BUILTIN,
- -1);
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, _("Disabled"),
- 1, SOUND_OFF,
- -1);
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, _("Custom..."),
- 1, SOUND_CUSTOM, -1);
-}
-
-static void
-fill_visual_bell_model (GtkListStore *store)
-{
- GtkTreeIter iter;
-
- gtk_list_store_clear (store);
-
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, _("Disabled"),
- 1, SOUND_OFF,
- -1);
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, _("Flash screen"),
- 1, SOUND_VISUAL_BELL_SCREEN,
- -1);
- gtk_list_store_insert_with_values (store, &iter, G_MAXINT,
- 0, _("Flash window"),
- 1, SOUND_VISUAL_BELL_TITLEBAR,
- -1);
-}
-
-static void
-combobox_editing_started (GtkCellRenderer *renderer,
- GtkCellEditable *editable,
- gchar *path,
- GladeXML *dialog)
-{
- GtkTreeModel *model, *store;
- GtkTreeIter iter;
- SoundType type;
- char *filename;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- if (gtk_tree_model_get_iter_from_string (model, &iter, path) == FALSE) {
- return;
- }
-
- gtk_tree_model_get (model, &iter, TYPE_COL, &type, FILENAME_COL, &filename, -1);
- g_object_get (renderer, "model", &store, NULL);
- if (type == SOUND_TYPE_VISUAL_BELL)
- fill_visual_bell_model (GTK_LIST_STORE (store));
- else
- fill_custom_model (GTK_LIST_STORE (store), filename);
- g_free (filename);
-}
-
-static gboolean
-save_sounds (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
-{
- int type, setting;
- char *filename, **sounds;
-
- gtk_tree_model_get (model, iter,
- TYPE_COL, &type,
- SETTING_COL, &setting,
- FILENAME_COL, &filename,
- SOUND_NAMES_COL, &sounds,
- -1);
- if (type == SOUND_TYPE_VISUAL_BELL)
- return FALSE;
-
- if (setting == SOUND_BUILTIN) {
- delete_old_files (sounds);
- delete_disabled_files (sounds);
- } else if (setting == SOUND_OFF) {
- delete_old_files (sounds);
- add_disabled_file (sounds);
- } else if (setting == SOUND_CUSTOM || setting == SOUND_CUSTOM_OLD) {
- delete_old_files (sounds);
- delete_disabled_files (sounds);
- add_custom_file (sounds, filename);
- }
- g_free (filename);
- g_strfreev (sounds);
-
- return FALSE;
-}
-
-static void
-save_custom_theme (GtkTreeModel *model, const char *parent)
-{
- GKeyFile *keyfile;
- char *data, *path;
-
- /* Create the custom directory */
- path = custom_theme_dir_path (NULL);
- g_mkdir_with_parents (path, 0755);
- g_free (path);
-
- /* Save the sounds themselves */
- gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) save_sounds, NULL);
-
- /* Set the data for index.theme */
- keyfile = g_key_file_new ();
- g_key_file_set_string (keyfile, "Sound Theme", "Name", _("Custom"));
- g_key_file_set_string (keyfile, "Sound Theme", "Inherits", parent);
- g_key_file_set_string (keyfile, "Sound Theme", "Directories", ".");
- data = g_key_file_to_data (keyfile, NULL, NULL);
- g_key_file_free (keyfile);
-
- /* Save the index.theme */
- path = custom_theme_dir_path ("index.theme");
- g_file_set_contents (path, data, -1, NULL);
- g_free (path);
- g_free (data);
-
- custom_theme_update_time ();
-}
-
-static gboolean
-count_customised_sounds (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- int *num_custom)
-{
- int type, setting;
-
- gtk_tree_model_get (model, iter, TYPE_COL, &type, SETTING_COL, &setting, -1);
- if (type == SOUND_TYPE_VISUAL_BELL)
- return FALSE;
-
- if (setting == SOUND_OFF || setting == SOUND_CUSTOM || setting == SOUND_CUSTOM_OLD)
- (*num_custom)++;
-
- return FALSE;
-}
-
-static void
-dump_theme (GladeXML *dialog)
-{
- int num_custom;
- GtkTreeModel *model;
- GtkTreeIter iter;
- char *parent;
-
- num_custom = 0;
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc) count_customised_sounds, &num_custom);
-
- g_debug ("%d customised sounds", num_custom);
-
- model = gtk_combo_box_get_model (GTK_COMBO_BOX (WID ("sound_theme_combobox")));
- /* Get the current theme's name, and set the parent */
- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (WID ("sound_theme_combobox")), &iter) == FALSE)
- return;
-
- if (num_custom == 0) {
- gtk_tree_model_get (model, &iter, THEME_PARENT_ID_COL, &parent, -1);
- if (parent != NULL) {
- set_combox_for_theme_name (dialog, parent);
- g_free (parent);
- }
- gtk_tree_model_get_iter_first (model, &iter);
- do {
- gtk_tree_model_get (model, &iter, THEME_PARENT_ID_COL, &parent, -1);
- if (parent != NULL && strcmp (parent, CUSTOM_THEME_NAME) != 0) {
- gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
- break;
- }
- } while (gtk_tree_model_iter_next (model, &iter));
-
- delete_custom_theme_dir ();
- } else {
- gtk_tree_model_get (model, &iter, THEME_IDENTIFIER_COL, &parent, -1);
- if (strcmp (parent, CUSTOM_THEME_NAME) != 0) {
- gtk_list_store_insert_with_values (GTK_LIST_STORE (model), NULL, G_MAXINT,
- THEME_DISPLAY_COL, _("Custom"),
- THEME_IDENTIFIER_COL, CUSTOM_THEME_NAME,
- THEME_PARENT_ID_COL, parent,
- -1);
- } else {
- g_free (parent);
- gtk_tree_model_get (model, &iter, THEME_PARENT_ID_COL, &parent, -1);
- }
-
- g_debug ("The parent theme is: %s", parent);
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- save_custom_theme (model, parent);
- g_free (parent);
-
- set_combox_for_theme_name (dialog, CUSTOM_THEME_NAME);
- }
-}
-
-static void
-setting_column_edited (GtkCellRendererText *renderer,
- gchar *path,
- gchar *new_text,
- GladeXML *dialog)
-{
- GtkTreeModel *model, *tree_model;
- GtkTreeIter iter, tree_iter;
- SoundType type;
- char *text, *old_filename;
- int setting;
-
- if (new_text == NULL)
- return;
-
- g_object_get (renderer,
- "model", &model,
- NULL);
-
- tree_model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- if (gtk_tree_model_get_iter_from_string (tree_model, &tree_iter, path) == FALSE)
- return;
-
- gtk_tree_model_get (tree_model, &tree_iter,
- TYPE_COL, &type,
- FILENAME_COL, &old_filename,
- -1);
-
- gtk_tree_model_get_iter_first (model, &iter);
- do {
- gint cmp;
-
- gtk_tree_model_get (model, &iter, 0, &text, 1, &setting, -1);
- cmp = g_utf8_collate (text, new_text);
- g_free (text);
-
- if (cmp == 0) {
- if (type == SOUND_TYPE_NORMAL || type == SOUND_TYPE_FEEDBACK || type == SOUND_TYPE_AUDIO_BELL) {
-
- if (setting == SOUND_CUSTOM || (setting == SOUND_CUSTOM_OLD && old_filename == NULL)) {
- char *filename = get_sound_filename (dialog);
- if (filename == NULL)
- break;
- gtk_tree_store_set (GTK_TREE_STORE (tree_model),
- &tree_iter,
- SETTING_COL, setting,
- HAS_PREVIEW_COL, setting != SOUND_OFF,
- FILENAME_COL, filename,
- -1);
- g_free (filename);
- } else if (setting == SOUND_CUSTOM_OLD) {
- gtk_tree_store_set (GTK_TREE_STORE (tree_model),
- &tree_iter,
- SETTING_COL, setting,
- HAS_PREVIEW_COL, setting != SOUND_OFF,
- FILENAME_COL, old_filename,
- -1);
- } else {
- gtk_tree_store_set (GTK_TREE_STORE (tree_model),
- &tree_iter,
- SETTING_COL, setting,
- HAS_PREVIEW_COL, setting != SOUND_OFF,
- -1);
- }
-
- g_debug ("Something changed, dump theme");
- dump_theme (dialog);
-
- break;
- } else if (type == SOUND_TYPE_VISUAL_BELL) {
- GConfClient *client;
-
- client = gconf_client_get_default ();
- visual_bell_setting_to_gconf (client, setting);
- g_object_unref (client);
- gtk_tree_store_set (GTK_TREE_STORE (tree_model),
- &tree_iter,
- SETTING_COL, setting,
- -1);
- break;
- }
- g_assert_not_reached ();
- }
- } while (gtk_tree_model_iter_next (model, &iter));
- g_free (old_filename);
-}
-
-/* Functions to toggle whether the Input feedback sounds are editable */
-static gboolean
-input_feedback_foreach (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
-{
- int type;
- gboolean enabled = GPOINTER_TO_INT (data);
-
- gtk_tree_model_get (model, iter, TYPE_COL, &type, -1);
- if (type == SOUND_TYPE_FEEDBACK) {
- gtk_tree_store_set (GTK_TREE_STORE (model), iter,
- SENSITIVE_COL, enabled,
- HAS_PREVIEW_COL, enabled,
- -1);
- }
- return FALSE;
-}
-
-static void
-set_input_feedback_enabled (GladeXML *dialog, gboolean enabled)
-{
- GtkTreeModel *model;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- gtk_tree_model_foreach (model, input_feedback_foreach, GINT_TO_POINTER (enabled));
-}
-
-static void
-input_feedback_changed_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- GladeXML *dialog)
-{
- gboolean input_feedback_enabled;
-
- input_feedback_enabled = gconf_client_get_bool (client, INPUT_SOUNDS_KEY, NULL);
- set_input_feedback_enabled (dialog, input_feedback_enabled);
-}
-
-/* Functions to toggle whether the audible bell sound is editable */
-static gboolean
-audible_bell_foreach (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
-{
- int type;
- gboolean enabled = GPOINTER_TO_INT (data);
-
- gtk_tree_model_get (model, iter, TYPE_COL, &type, -1);
- if (type == SOUND_TYPE_AUDIO_BELL) {
- gtk_tree_store_set (GTK_TREE_STORE (model), iter,
- SENSITIVE_COL, enabled,
- HAS_PREVIEW_COL, enabled,
- -1);
- return TRUE;
- }
- return FALSE;
-}
-
-static void
-set_audible_bell_enabled (GladeXML *dialog, gboolean enabled)
-{
- GtkTreeModel *model;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("sounds_treeview")));
- gtk_tree_model_foreach (model, audible_bell_foreach, GINT_TO_POINTER (enabled));
-}
-
-static void
-audible_bell_changed_cb (GConfClient *client,
- guint cnxn_id,
- GConfEntry *entry,
- GladeXML *dialog)
-{
- gboolean audio_bell_enabled;
-
- audio_bell_enabled = gconf_client_get_bool (client, AUDIO_BELL_KEY, NULL);
- set_audible_bell_enabled (dialog, audio_bell_enabled);
-}
-
-static gboolean
-theme_changed_custom_reinit (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
-{
- int type;
- gboolean sensitive;
-
- gtk_tree_model_get (model, iter,
- TYPE_COL, &type,
- SENSITIVE_COL, &sensitive, -1);
- if (type != -1 && type != SOUND_TYPE_VISUAL_BELL) {
- gtk_tree_store_set (GTK_TREE_STORE (model), iter,
- SETTING_COL, SOUND_BUILTIN,
- HAS_PREVIEW_COL, sensitive,
- -1);
- }
- return FALSE;
-}
-
-static int
-get_file_type (const char *sound_name, char **linked_name)
-{
- char *name, *filename;
-
- *linked_name = NULL;
-
- name = g_strdup_printf ("%s.disabled", sound_name);
- filename = custom_theme_dir_path (name);
- g_free (name);
-
- if (g_file_test (filename, G_FILE_TEST_IS_REGULAR) != FALSE) {
- g_free (filename);
- return SOUND_OFF;
- }
- g_free (filename);
-
- /* We only check for .ogg files because those are the
- * only ones we create */
- name = g_strdup_printf ("%s.ogg", sound_name);
- filename = custom_theme_dir_path (name);
- g_free (name);
-
- if (g_file_test (filename, G_FILE_TEST_IS_SYMLINK) != FALSE) {
- *linked_name = g_file_read_link (filename, NULL);
- g_free (filename);
- return SOUND_CUSTOM;
- }
- g_free (filename);
-
- return SOUND_BUILTIN;
-}
-
-static gboolean
-theme_changed_custom_init (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- gpointer data)
-{
- char **sound_names;
-
- gtk_tree_model_get (model, iter, SOUND_NAMES_COL, &sound_names, -1);
- if (sound_names != NULL) {
- char *filename;
- int type;
-
- type = get_file_type (sound_names[0], &filename);
-
- gtk_tree_store_set (GTK_TREE_STORE (model), iter,
- SETTING_COL, type,
- HAS_PREVIEW_COL, type != SOUND_OFF,
- FILENAME_COL, filename,
- -1);
- g_strfreev (sound_names);
- g_free (filename);
- }
- return FALSE;
-}
-
-static gboolean
-play_sound_at_path (GtkWidget *tree_view,
- GtkTreeViewColumn *column,
- GtkTreePath *path)
-{
- GObject *preview_column;
-
- preview_column = g_object_get_data (G_OBJECT (tree_view), "preview-column");
- if (column == (GtkTreeViewColumn *) preview_column) {
- GtkTreeModel *model;
- GtkTreeIter iter;
- char **sound_names;
- gboolean sensitive;
- ca_context *ctx;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
- if (gtk_tree_model_get_iter (model, &iter, path) == FALSE) {
- return FALSE;
- }
-
- gtk_tree_model_get (model, &iter,
- SOUND_NAMES_COL, &sound_names,
- SENSITIVE_COL, &sensitive, -1);
- if (!sensitive || sound_names == NULL)
- return FALSE;
-
- ctx = ca_gtk_context_get ();
- ca_gtk_play_for_widget (GTK_WIDGET (tree_view), 0,
- CA_PROP_APPLICATION_NAME, _("Sound Preferences"),
- CA_PROP_EVENT_ID, sound_names[0],
- 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_strfreev (sound_names);
-
- return TRUE;
- }
- return FALSE;
-}
-
-static gboolean
-custom_treeview_button_press_event_cb (GtkWidget *tree_view,
- GdkEventButton *event,
- GladeXML *dialog)
-{
- GtkTreePath *path;
- GtkTreeViewColumn *column;
- GdkEventButton *button_event = (GdkEventButton *) event;
- gboolean res = FALSE;
-
- if (event->type != GDK_BUTTON_PRESS)
- return TRUE;
-
- if (gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (tree_view),
- button_event->x, button_event->y,
- &path, &column, NULL, NULL)) {
- res = play_sound_at_path (tree_view, column, path);
- gtk_tree_path_free (path);
- }
-
- return res;
-}
-
-typedef GtkCellRendererPixbuf ActivatableCellRendererPixbuf;
-typedef GtkCellRendererPixbufClass ActivatableCellRendererPixbufClass;
-
-#define ACTIVATABLE_TYPE_CELL_RENDERER_PIXBUF (activatable_cell_renderer_pixbuf_get_type ())
-G_DEFINE_TYPE (ActivatableCellRendererPixbuf, activatable_cell_renderer_pixbuf, GTK_TYPE_CELL_RENDERER_PIXBUF);
-
-static gboolean
-activatable_cell_renderer_pixbuf_activate (GtkCellRenderer *cell,
- GdkEvent *event,
- GtkWidget *widget,
- const gchar *path_string,
- GdkRectangle *background_area,
- GdkRectangle *cell_area,
- GtkCellRendererState flags)
-{
- GtkTreeViewColumn *preview_column;
- GtkTreePath *path;
- gboolean res;
-
- preview_column = g_object_get_data (G_OBJECT (widget), "preview-column");
- path = gtk_tree_path_new_from_string (path_string);
- res = play_sound_at_path (widget, preview_column, path);
- gtk_tree_path_free (path);
-
- return res;
-}
-
-static void
-activatable_cell_renderer_pixbuf_init (ActivatableCellRendererPixbuf *cell)
-{
-}
-
-static void
-activatable_cell_renderer_pixbuf_class_init (ActivatableCellRendererPixbufClass *class)
-{
- GtkCellRendererClass *cell_class;
-
- cell_class = GTK_CELL_RENDERER_CLASS (class);
-
- cell_class->activate = activatable_cell_renderer_pixbuf_activate;
-}
-
-
-void
-setup_sound_theme_custom (GladeXML *dialog, gboolean have_xkb)
-{
- GtkTreeStore *store;
- GtkTreeModel *custom_model;
- GtkTreeViewColumn *column;
- GtkCellRenderer *renderer;
- GtkTreeIter iter, parent;
- GConfClient *client;
- CategoryType type;
- gboolean input_feedback_enabled, audible_bell_enabled;
- int visual_bell_setting;
- char *theme_name;
- guint i;
-
- client = gconf_client_get_default ();
- visual_bell_setting = visual_bell_gconf_to_setting (client);
-
- /* Set up the model for the custom view */
- store = gtk_tree_store_new (NUM_COLS, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRV);
-
- /* The first column with the categories/sound names */
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes ("Display", renderer,
- "text", DISPLAY_COL,
- "sensitive", SENSITIVE_COL,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (WID ("sounds_treeview")), column);
-
- /* The 2nd column with the sound settings */
- renderer = gtk_cell_renderer_combo_new ();
- g_signal_connect (renderer, "edited", G_CALLBACK (setting_column_edited), dialog);
- g_signal_connect (renderer, "editing-started", G_CALLBACK (combobox_editing_started), dialog);
- custom_model = GTK_TREE_MODEL (gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_INT));
- fill_custom_model (GTK_LIST_STORE (custom_model), NULL);
- g_object_set (renderer, "model", custom_model, "has-entry", FALSE, "editable", TRUE, "text-column", 0, NULL);
- column = gtk_tree_view_column_new_with_attributes ("Setting", renderer,
- "editable", SENSITIVE_COL,
- "sensitive", SENSITIVE_COL,
- "visible", TRUE,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (WID ("sounds_treeview")), column);
- gtk_tree_view_column_set_cell_data_func (column, renderer, setting_set_func, NULL, NULL);
-
- /* The 3rd column with the preview pixbuf */
- renderer = g_object_new (ACTIVATABLE_TYPE_CELL_RENDERER_PIXBUF, NULL);
- g_object_set (renderer,
- "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE,
- "icon-name", "media-playback-start",
- "stock-size", GTK_ICON_SIZE_MENU,
- NULL);
- column = gtk_tree_view_column_new_with_attributes ("Preview", renderer,
- "visible", HAS_PREVIEW_COL,
- NULL);
- gtk_tree_view_append_column (GTK_TREE_VIEW (WID ("sounds_treeview")), column);
- g_object_set_data (G_OBJECT (WID ("sounds_treeview")), "preview-column", column);
-
- gtk_tree_view_set_model (GTK_TREE_VIEW (WID ("sounds_treeview")), GTK_TREE_MODEL (store));
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (WID ("sounds_treeview")), FALSE);
-
- g_signal_connect (WID ("sounds_treeview"), "button-press-event",
- G_CALLBACK (custom_treeview_button_press_event_cb), dialog);
-
- /* Fill in the model */
- type = CATEGORY_INVALID;
-
- for (i = 0; ; i++) {
- GtkTreeIter *_parent;
-
- if (sounds[i].category == -1)
- break;
-
- if (sounds[i].type == SOUND_TYPE_VISUAL_BELL && have_xkb == FALSE)
- continue;
-
- /* Is it a new type of sound? */
- if (sounds[i].category == type && type != CATEGORY_INVALID && type != CATEGORY_BELL)
- _parent = &parent;
- else
- _parent = NULL;
-
- if (sounds[i].type == SOUND_TYPE_VISUAL_BELL)
- gtk_tree_store_insert_with_values (store, &iter, _parent, G_MAXINT,
- DISPLAY_COL, g_dpgettext2 (NULL, "Sound event", sounds[i].display_name),
- SETTING_COL, visual_bell_setting,
- TYPE_COL, sounds[i].type,
- HAS_PREVIEW_COL, FALSE,
- SENSITIVE_COL, TRUE,
- -1);
- else if (sounds[i].type != -1)
- gtk_tree_store_insert_with_values (store, &iter, _parent, G_MAXINT,
- DISPLAY_COL, g_dpgettext2 (NULL, "Sound event", sounds[i].display_name),
- SETTING_COL, SOUND_BUILTIN,
- TYPE_COL, sounds[i].type,
- SOUND_NAMES_COL, sounds[i].names,
- HAS_PREVIEW_COL, TRUE,
- SENSITIVE_COL, TRUE,
- -1);
- else
- /* Category */
- gtk_tree_store_insert_with_values (store, &iter, _parent, G_MAXINT,
- DISPLAY_COL, g_dpgettext2 (NULL, "Sound event", sounds[i].display_name),
- SETTING_COL, SOUND_UNSET,
- TYPE_COL, sounds[i].type,
- SENSITIVE_COL, TRUE,
- HAS_PREVIEW_COL, FALSE,
- -1);
-
- /* If we didn't set a parent already, set one in case we need it later */
- if (_parent == NULL)
- parent = iter;
- type = sounds[i].category;
- }
-
- gtk_tree_view_expand_all (GTK_TREE_VIEW (WID ("sounds_treeview")));
-
- /* Listen to GConf for a bunch of keys */
- input_feedback_enabled = gconf_client_get_bool (client, INPUT_SOUNDS_KEY, NULL);
- if (input_feedback_enabled == FALSE)
- set_input_feedback_enabled (dialog, FALSE);
- gconf_client_notify_add (client, INPUT_SOUNDS_KEY,
- (GConfClientNotifyFunc) input_feedback_changed_cb, dialog, NULL, NULL);
-
- audible_bell_enabled = gconf_client_get_bool (client, AUDIO_BELL_KEY, NULL);
- if (audible_bell_enabled == FALSE)
- set_audible_bell_enabled (dialog, FALSE);
- gconf_client_notify_add (client, AUDIO_BELL_KEY,
- (GConfClientNotifyFunc) audible_bell_changed_cb, dialog, NULL, NULL);
-
- /* Setup the default values if we're using the custom theme */
- theme_name = gconf_client_get_string (client, SOUND_THEME_KEY, NULL);
- if (theme_name != NULL && strcmp (theme_name, CUSTOM_THEME_NAME) == 0)
- gtk_tree_model_foreach (GTK_TREE_MODEL (store), theme_changed_custom_init, NULL);
- g_free (theme_name);
-
- g_object_unref (client);
-}
-
diff --git a/capplets/sound/sound-theme.h b/capplets/sound/sound-theme.h
deleted file mode 100644
index aed38f5d6..000000000
--- a/capplets/sound/sound-theme.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- mode: c; style: linux -*- */
-/* -*- c-basic-offset: 2 -*- */
-
-/* sound-theme.h
- * Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-#ifndef __SOUND_THEME_HH__
-#define __SOUND_THEME_HH__
-
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-
-void setup_sound_theme (GladeXML *dialog);
-void setup_sound_theme_custom (GladeXML *dialog, gboolean have_xkb);
-
-#endif /* __SOUND_THEME_HH__ */
diff --git a/configure.in b/configure.in
index 7eeb1457d..f8a6d989a 100644
--- a/configure.in
+++ b/configure.in
@@ -243,68 +243,6 @@ fi
AM_GCONF_SOURCE_2
dnl ==============================================
-dnl GStreamer section
-dnl ==============================================
-GST_MAJORMINOR=auto
-
-AC_ARG_ENABLE(gstreamer,
-AC_HELP_STRING([--disable-gstreamer],[disable gstreamer support]),
-[case "${enableval}" in
- yes) ENABLE_GSTREAMER=yes ;;
- 0.10) ENABLE_GSTREAMER=yes && GST_MAJORMINOR=0.10 ;;
- no) ENABLE_GSTREAMER=no ;;
- *) AC_MSG_ERROR([
- *** Bad value ${enableval} for --enable-gstreamer
- *** Please use one of the following:
- *** --enable-gstreamer=0.10
- ]) ;;
-esac],
-[ENABLE_GSTREAMER=yes]) dnl Default value
-
-have_gstreamer=no
-if test "x$ENABLE_GSTREAMER" = "xyes"; then
- GST_REQS=0.10.1.2
- PKGS="gstreamer-0.10 >= $GST_REQS gstreamer-plugins-base-0.10 >= $GST_REQS"
-
- PKG_CHECK_MODULES(GST, $PKGS, have_gstreamer=yes,
- AC_MSG_RESULT([no]))
-
- GST_LIBS="$GST_LIBS -lgstinterfaces-0.10 -lgstaudio-0.10"
-else
- AC_MSG_NOTICE([*** GStreamer support disabled ***])
-fi
-AM_CONDITIONAL(HAVE_GSTREAMER, test "x$have_gstreamer" = "xyes")
-AC_SUBST(GST_LIBS)
-AC_SUBST(GST_CFLAGS)
-
-dnl ==============================================
-dnl sound capplet section
-dnl ==============================================
-
-AC_ARG_WITH(libcanberra,
- AC_HELP_STRING([--without-libcanberra],[Don't build parts depending on libcanberra]),
- with_libcanberra=$withval,
- with_libcanberra=yes)
-
-if test "x$with_libcanberra" != "xno"; then
- PKG_CHECK_MODULES(CANBERRA, libcanberra-gtk >= 0.4 gio-2.0, have_canberra=yes, have_canberra=no)
- if test "x$have_gstreamer" = "xyes" && test "x$have_canberra" = "xyes" ; then
- SOUND_CAPPLET_LIBS="$GST_LIBS -lgstaudio-0.10 -lgstinterfaces-0.10"
- SOUND_CAPPLET_CFLAGS="$GST_CFLAGS"
- AC_SUBST(SOUND_CAPPLET_LIBS)
- AC_SUBST(SOUND_CAPPLET_CFLAGS)
- else
- if test "x$with_libcanberra" = "xyes" -a "x$have_canberra" = "xno"; then
- AC_MSG_ERROR([Sound capplet requested but libcanberra not found])
- fi
- AC_MSG_NOTICE([*** Sound capplet will not be built]);
- fi
-else
- AC_MSG_NOTICE([*** Sound capplet will not be built]);
-fi
-AM_CONDITIONAL(BUILD_SOUND, test "x$with_libcanberra" = "xyes")
-
-dnl ==============================================
dnl Define the main variables
dnl ==============================================
COMMON_CFLAGS="-I\$(top_srcdir)/capplets/common"
@@ -365,8 +303,6 @@ capplets/mouse/Makefile
capplets/mouse/gnome-settings-mouse.desktop.in
capplets/network/Makefile
capplets/network/gnome-network-preferences.desktop.in
-capplets/sound/Makefile
-capplets/sound/gnome-settings-sound.desktop.in
capplets/windows/Makefile
capplets/windows/window-properties.desktop.in
font-viewer/Makefile