[banshee: 9/12] Merge branch 'master' into platform-hyena
- From: Gabriel Burt <gburt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee: 9/12] Merge branch 'master' into platform-hyena
- Date: Tue, 12 Jan 2010 19:47:15 +0000 (UTC)
commit 70623b53a158c6f7d6355415dc46df6d9ea8d91d
Merge: 4e4dfed 3c5ae21
Author: Gabriel Burt <gabriel burt gmail com>
Date: Sat Jan 9 14:11:27 2010 -0800
Merge branch 'master' into platform-hyena
Conflicts:
src/Core/Banshee.Core/Banshee.Base/PlatformHacks.cs
src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs
src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
src/Core/Banshee.Services/Banshee.Library/MusicLibrarySource.cs
src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs
src/Core/Banshee.Services/Banshee.Metadata/MetadataService.cs
src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs
src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs
src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs
src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs
src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs
src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs
src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs
src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs
src/Libraries/Hyena.Gui/Hyena.Gui/DragDropList.cs
src/Libraries/Hyena.Gui/Hyena.Widgets/HigMessageDialog.cs
src/Libraries/Hyena.Gui/Makefile.am
src/Libraries/Hyena/Hyena.Collections/LruCache.cs
src/Libraries/Hyena/Hyena/ThreadAssist.cs
.gitattributes | 1 +
.gitignore | 9 +-
Banshee.sln | 809 +-
COPYING | 3 +-
HACKING | 20 +-
Makefile.am | 14 +-
NEWS | 203 +-
autogen.osx.sh | 4 -
autogen.sh | 4 +-
banshee.doap | 15 +-
bootstrap-bundle | 60 +
build/AddinXmlStringExtractor.cs | 47 +
build/DllMapVerifier.cs | 5 +
build/Makefile.am | 9 +-
build/build.environment.mk | 8 +-
build/build.rules.mk | 6 +-
build/bundle/bockbuild/darwinprofile.py | 25 +
build/bundle/bockbuild/environment.py | 62 +
build/bundle/bockbuild/package.py | 190 +
build/bundle/bockbuild/profile.py | 88 +
build/bundle/bockbuild/unixprofile.py | 27 +
build/bundle/bockbuild/util.py | 83 +
build/bundle/mkbundle.osx | 53 +
build/bundle/packages.py | 83 +
build/bundle/packages/atk.py | 1 +
build/bundle/packages/autoconf.py | 1 +
build/bundle/packages/automake.py | 1 +
build/bundle/packages/banshee.py | 32 +
build/bundle/packages/cairo.py | 24 +
build/bundle/packages/flac.py | 12 +
build/bundle/packages/fontconfig.py | 6 +
build/bundle/packages/freetype.py | 3 +
build/bundle/packages/gconf-dummy.py | 9 +
build/bundle/packages/gettext.py | 5 +
build/bundle/packages/glib.py | 44 +
build/bundle/packages/gst-plugins-bad.py | 9 +
build/bundle/packages/gst-plugins-base.py | 22 +
build/bundle/packages/gst-plugins-good.py | 24 +
build/bundle/packages/gst-plugins-ugly.py | 9 +
build/bundle/packages/gstreamer.py | 3 +
build/bundle/packages/gtk+.py | 27 +
build/bundle/packages/gtk-sharp.py | 33 +
build/bundle/packages/hicolor-icon-theme.py | 1 +
build/bundle/packages/icon-naming-utils.py | 1 +
build/bundle/packages/ige-mac-integration-sharp.py | 3 +
build/bundle/packages/ige-mac-integration.py | 1 +
build/bundle/packages/intltool.py | 1 +
build/bundle/packages/libglade.py | 1 +
build/bundle/packages/libiconv.py | 7 +
build/bundle/packages/libjpeg.py | 6 +
build/bundle/packages/libogg.py | 1 +
build/bundle/packages/liboil.py | 8 +
build/bundle/packages/libpng.py | 3 +
build/bundle/packages/libproxy.py | 3 +
build/bundle/packages/librsvg.py | 1 +
build/bundle/packages/libsoup.py | 5 +
build/bundle/packages/libtheora.py | 1 +
build/bundle/packages/libtool.py | 1 +
build/bundle/packages/libvorbis.py | 1 +
build/bundle/packages/libxml2.py | 6 +
build/bundle/packages/mono-addins.py | 4 +
build/bundle/packages/mono.py | 21 +
build/bundle/packages/ndesk-dbus-glib.py | 3 +
build/bundle/packages/ndesk-dbus.py | 3 +
build/bundle/packages/pango.py | 14 +
build/bundle/packages/pixman.py | 1 +
build/bundle/packages/pkg-config.py | 1 +
build/bundle/packages/speex.py | 1 +
build/bundle/packages/sqlite.py | 3 +
build/bundle/packages/taglib-sharp.py | 4 +
build/bundle/packages/taglib.py | 3 +
build/bundle/packages/tango-icon-theme.py | 4 +
build/bundle/packages/wavpack.py | 3 +
build/bundle/profile.darwin.py | 11 +
build/bundle/profile.linux.py | 16 +
build/bundle/profile.mingw-cross.py | 47 +
build/bundle/solitary/AssemblyItem.cs | 165 +
build/bundle/solitary/DataItem.cs | 40 +
build/bundle/solitary/Entry.cs | 90 +
build/bundle/solitary/Item.cs | 124 +
build/bundle/solitary/Makefile | 21 +
build/bundle/solitary/NativeLibraryItem.cs | 57 +
build/bundle/solitary/ProcessTools.cs | 105 +
build/bundle/solitary/Solitary.cs | 167 +
build/dll-map-makefile-verifier | 2 +-
build/icon-theme-installer | 2 +-
build/m4/banshee/bnpx11.m4 | 1 +
build/m4/banshee/dap-ipod.m4 | 5 +-
build/m4/banshee/dap-mtp.m4 | 9 +-
build/m4/banshee/gio.m4 | 17 +
build/m4/banshee/gstreamer.m4 | 15 +-
build/m4/banshee/gtk-sharp.m4 | 10 +
build/m4/banshee/libbanshee.m4 | 8 +-
build/m4/banshee/moblin.m4 | 11 +
build/m4/banshee/mono-addins.m4 | 6 +-
build/m4/banshee/moonlight.m4 | 4 +-
build/m4/banshee/webkit.m4 | 2 +-
build/m4/shamrock/i18n.m4 | 2 +-
build/m4/shamrock/nunit.m4 | 35 +-
build/m4/shave/shave.in | 2 +-
build/osx/README | 14 +
build/osx/autogen.sh | 39 -
build/osx/build-deps.profile | 5 -
build/osx/build-deps.sh | 159 -
build/osx/build.env | 34 -
build/osx/targets/bundle-00-base-libs.targets | 7 -
build/osx/targets/bundle-10-xiph-libs.targets | 11 -
build/osx/targets/bundle-20-extra-libs.targets | 5 -
build/osx/targets/bundle-30-gstreamer.targets | 16 -
build/osx/targets/bundle-40-managed-libs.targets | 9 -
build/osx/targets/gettext.targets | 4 -
build/osx/targets/gst-plugins-base-docs-fix.patch | 10 -
build/osx/targets/gstreamer-docs-fix.patch | 10 -
build/pkg-config/banshee-1-nowplaying.pc.in | 10 +
build/private-icon-theme-installer | 2 +-
configure.ac | 26 +-
data/Makefile.am | 12 +-
data/addin-xml-strings.cs | 186 +
data/audio-profiles/vorbis.xml.in | 1 +
data/desktop-files/banshee-1.desktop.mime | 7 +-
data/desktop-files/update-desktop-file.sh | 6 +-
data/icon-theme-hicolor/Makefile.am | 4 +-
libbanshee/banshee-gst.c | 7 +-
libbanshee/banshee-player-missing-elements.c | 11 -
libbanshee/banshee-player-private.h | 7 +-
libbanshee/libbanshee.vcproj | 4 +-
po/ChangeLog | 5 +
po/LINGUAS | 2 +
po/POTFILES.in | 64 +-
po/br.po | 4921 +++++++++++
po/ca.po | 3014 +++++--
po/de.po | 919 ++-
po/es.po | 2603 +++++--
po/eu.po | 1448 ++--
po/fi.po | 3748 ++++++---
po/gl.po | 744 +-
po/gu.po | 3765 ++++++---
po/hu.po | 844 ++-
po/it.po | 2663 +++++--
po/ky.po | 5462 ++++++++++++
po/lt.po | 2442 ++++--
po/pl.po | 1994 +----
po/pt.po | 643 +-
po/ru.po | 2673 ++++--
po/sl.po | 9216 +++++++++++++-------
po/sr.po | 7295 +++++++++-------
po/sr latin po | 7295 +++++++++-------
po/sv.po | 2641 +++++--
po/zh_CN.po | 4027 ++++++---
src/AssemblyInfo.cs.in | 2 +-
.../Banshee.GStreamer/Banshee.GStreamer.dll.config | 3 +-
.../Banshee.GStreamer/AudioCdRipper.cs | 84 +-
.../Banshee.GStreamer/BpmDetector.cs | 46 +-
.../Banshee.GStreamer/GstErrors.cs | 16 +-
.../Banshee.GStreamer/PlayerEngine.cs | 253 +-
.../Banshee.GStreamer/Banshee.GStreamer/Service.cs | 84 +-
.../Banshee.GStreamer/Banshee.GStreamer/TagList.cs | 42 +-
.../Banshee.GStreamer/Transcoder.cs | 48 +-
src/Backends/Banshee.Gio/Banshee.Gio.addin.xml | 18 +
.../Banshee.Gio/Banshee.Gio.csproj} | 42 +-
.../Banshee.Gio/Banshee.IO.Gio/DemuxVfs.cs | 81 +
.../Banshee.Gio/Banshee.IO.Gio/Directory.cs | 152 +
src/Backends/Banshee.Gio/Banshee.IO.Gio/File.cs | 97 +
.../Banshee.Gio/Banshee.IO.Gio/Provider.cs} | 31 +-
src/Backends/Banshee.Gio/Banshee.IO.Gio/Tests.cs | 248 +
src/Backends/Banshee.Gio/Makefile.am | 20 +
.../Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs | 34 +-
.../DefaultApplicationHelper.cs | 10 +-
.../Banshee.GnomeBackend/DiscDuplicator.cs | 14 +-
.../GConfConfigurationClient.cs | 32 +-
.../GnomeScreensaverManager.cs | 10 +-
.../Banshee.GnomeBackend/GnomeService.cs | 16 +-
.../Banshee.Hal/Banshee.HalBackend/BlockDevice.cs | 16 +-
.../Banshee.Hal/Banshee.HalBackend/CdromDevice.cs | 20 +-
.../Banshee.Hal/Banshee.HalBackend/Device.cs | 28 +-
.../Banshee.HalBackend/DeviceMediaCapabilities.cs | 10 +
.../Banshee.Hal/Banshee.HalBackend/DiscVolume.cs | 14 +-
.../Banshee.Hal/Banshee.HalBackend/DiskDevice.cs | 4 +-
.../Banshee.Hal/Banshee.HalBackend/DkDisk.cs | 128 +
.../Banshee.HalBackend/HardwareManager.cs | 20 +-
.../Banshee.Hal/Banshee.HalBackend/UsbDevice.cs | 24 +-
.../Banshee.Hal/Banshee.HalBackend/Volume.cs | 64 +-
src/Backends/Banshee.Hal/Hal/Device.cs | 112 +-
src/Backends/Banshee.Hal/Hal/Manager.cs | 64 +-
src/Backends/Banshee.Hal/Hal/Volume.cs | 12 +-
src/Backends/Banshee.Hal/Makefile.am | 1 +
.../Banshee.NowPlaying.X11/FullscreenAdapter.cs | 34 +-
.../Banshee.OsxBackend/HardwareManager.cs | 10 +-
.../Banshee.Osx/Banshee.OsxBackend/OsxService.cs | 44 +-
.../Banshee.Unix/Banshee.IO.Unix/DemuxVfs.cs | 18 +-
.../Banshee.Unix/Banshee.IO.Unix/Directory.cs | 18 +-
src/Backends/Banshee.Unix/Banshee.IO.Unix/File.cs | 14 +-
.../Banshee.Unix/Banshee.IO.Unix/Provider.cs | 4 +-
src/Backends/Banshee.Unix/Banshee.Unix.dll.config | 4 +-
src/Backends/Makefile.am | 1 +
src/Clients/Beroe/Beroe/IndexerClient.cs | 38 +-
src/Clients/Booter/Banshee.exe.config | 2 +-
src/Clients/Booter/Booter/Entry.cs | 47 +-
src/Clients/Booter/Makefile.am | 10 +
src/Clients/Booter/banshee-1.darwin.in | 25 +
.../Booter/{banshee-1.in => banshee-1.linux.in} | 10 +-
src/Clients/Halie/Halie/Client.cs | 81 +-
src/Clients/Muinshee/Muinshee/BaseDialog.cs | 12 +-
src/Clients/Muinshee/Muinshee/Client.cs | 4 +-
src/Clients/Muinshee/Muinshee/MuinsheeActions.cs | 4 +-
.../Muinshee/Muinshee/MuinsheeTrackInfoDisplay.cs | 8 +-
src/Clients/Muinshee/Muinshee/PlayerInterface.cs | 48 +-
src/Clients/Nereid/Nereid/Client.cs | 2 +-
src/Clients/Nereid/Nereid/PlayerInterface.cs | 251 +-
src/Clients/Nereid/Nereid/ViewContainer.cs | 78 +-
.../IndexerClient.cs | 66 +-
.../SimpleIndexerClient.cs | 60 +-
.../ICollectionIndexer.cs | 10 +-
.../ICollectionIndexerService.cs | 2 +-
.../Banshee.CollectionIndexer/Demo/RemoteClient.cs | 14 +-
.../Hyena/ConsoleCrayon.cs | 14 +-
.../Hyena/DateTimeUtil.cs | 6 +-
src/Core/Banshee.CollectionIndexer/Hyena/Log.cs | 154 +-
.../Banshee.Base/ApplicationContext.cs | 14 +-
src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs | 39 +-
.../Banshee.Core/Banshee.Base/FileNamePattern.cs | 290 +-
src/Core/Banshee.Core/Banshee.Base/Localization.cs | 64 +-
src/Core/Banshee.Core/Banshee.Base/NamingUtil.cs | 30 +-
src/Core/Banshee.Core/Banshee.Base/Paths.cs | 82 +-
.../Banshee.Core/Banshee.Base/PlatformHacks.cs | 48 +-
.../Banshee.Base/ProductInformation.cs | 68 +-
src/Core/Banshee.Core/Banshee.Base/Resource.cs | 2 +-
src/Core/Banshee.Core/Banshee.Base/SafeUri.cs | 76 +-
.../Banshee.Base/Tests/CoverArtSpecTests.cs | 10 +-
.../Banshee.Base/Tests/FileNamePatternTests.cs | 76 -
src/Core/Banshee.Core/Banshee.Base/UriList.cs | 56 +-
.../Banshee.Core/Banshee.Collection/AlbumInfo.cs | 30 +-
.../Banshee.Core/Banshee.Collection/ArtistInfo.cs | 14 +-
.../Banshee.Collection/CacheableItem.cs | 2 +-
.../Banshee.Collection/FileTrackInfo.cs | 20 +-
.../Banshee.Collection/IPodcastInfo.cs} | 17 +-
.../Banshee.Core/Banshee.Collection/ITrackInfo.cs | 2 +-
.../Banshee.Core/Banshee.Collection/LicenseInfo.cs | 36 +-
.../Banshee.Collection/SampleTrackInfo.cs | 6 +-
.../Banshee.Collection/TrackFilterType.cs | 5 +-
.../Banshee.Core/Banshee.Collection/TrackInfo.cs | 352 +-
.../Banshee.Collection/TrackMediaAttributes.cs | 2 +-
.../Banshee.Collection/UnknownTrackInfo.cs | 2 +-
.../Banshee.Configuration.Schema/ImportSchema.cs | 30 +-
.../Banshee.Configuration/ConfigurationClient.cs | 20 +-
.../Banshee.Configuration/IConfigurationClient.cs | 2 +-
.../MemoryConfigurationClient.cs | 8 +-
.../Banshee.Configuration/SchemaEntry.cs | 30 +-
.../XmlConfigurationClient.cs | 42 +-
src/Core/Banshee.Core/Banshee.Core.csproj | 4 +-
src/Core/Banshee.Core/Banshee.Core.dll.config | 4 +-
.../Banshee.I18n/AssemblyCatalogAttribute.cs | 6 +-
src/Core/Banshee.Core/Banshee.I18n/Catalog.cs | 62 +-
.../Banshee.Core/Banshee.IO.SystemIO/DemuxVfs.cs | 20 +-
.../Banshee.Core/Banshee.IO.SystemIO/Directory.cs | 10 +-
src/Core/Banshee.Core/Banshee.IO.SystemIO/File.cs | 8 +-
.../Banshee.Core/Banshee.IO.SystemIO/Provider.cs | 4 +-
src/Core/Banshee.Core/Banshee.IO/DemuxVfs.cs | 6 +-
.../Banshee.IO/DirectoryScannerPipelineElement.cs | 12 +-
src/Core/Banshee.Core/Banshee.IO/ExtensionSet.cs | 6 +-
src/Core/Banshee.Core/Banshee.IO/File.cs | 2 +-
src/Core/Banshee.Core/Banshee.IO/IDirectory.cs | 6 +-
src/Core/Banshee.Core/Banshee.IO/IFile.cs | 2 +-
src/Core/Banshee.Core/Banshee.IO/IProvider.cs | 1 +
src/Core/Banshee.Core/Banshee.IO/Provider.cs | 25 +-
src/Core/Banshee.Core/Banshee.IO/StreamAssist.cs | 4 +-
src/Core/Banshee.Core/Banshee.IO/Utilities.cs | 24 +-
.../Banshee.Core/Banshee.Kernel/DelegateJob.cs | 4 +-
.../Banshee.Kernel/IInstanceCriticalJob.cs | 26 +-
src/Core/Banshee.Core/Banshee.Kernel/IJob.cs | 26 +-
src/Core/Banshee.Core/Banshee.Kernel/Job.cs | 32 +-
.../Banshee.Core/Banshee.Kernel/JobPriority.cs | 26 +-
src/Core/Banshee.Core/Banshee.Kernel/Scheduler.cs | 98 +-
.../Banshee.Core/Banshee.Streaming/CommonTags.cs | 6 +-
.../Banshee.Streaming/StreamPlaybackError.cs | 4 +-
.../Banshee.Streaming/StreamRatingTagger.cs | 380 +
.../Banshee.Core/Banshee.Streaming/StreamTag.cs | 6 +-
.../Banshee.Core/Banshee.Streaming/StreamTagger.cs | 153 +-
src/Core/Banshee.Core/Makefile.am | 5 +-
src/Core/Banshee.Core/Resources/contributors.xml | 40 +-
src/Core/Banshee.Core/Resources/translators.xml | 17 +-
.../Banshee.Collection.Database/CachedList.cs | 24 +-
.../DatabaseAlbumInfo.cs | 20 +-
.../DatabaseAlbumListModel.cs | 10 +-
.../DatabaseArtistInfo.cs | 18 +-
.../DatabaseArtistListModel.cs | 12 +-
.../DatabaseFilterListModel.cs | 57 +-
.../DatabaseImportManager.cs | 55 +-
.../DatabaseImportResultHandler.cs | 4 +-
.../DatabaseQueryFilterModel.cs | 29 +-
.../DatabaseTrackInfo.cs | 162 +-
.../DatabaseTrackListModel.cs | 152 +-
.../FilterModelProvider.cs | 10 +-
.../IDatabaseTrackModelCache.cs | 2 +
.../ISearchable.cs} | 18 +-
.../Banshee.Collection.Database/QueryFilterInfo.cs | 10 +-
.../Banshee.Collection.Database/RandomBy.cs | 67 +-
.../Banshee.Collection.Database/RandomByAlbum.cs | 19 +-
.../Banshee.Collection.Database/RandomByArtist.cs | 14 +-
.../Banshee.Collection.Database/RandomByRating.cs | 35 +-
.../Banshee.Collection.Database/RandomByScore.cs | 39 +-
.../Banshee.Collection.Database/RandomBySlot.cs | 22 +-
.../Banshee.Collection.Database/RandomByTrack.cs | 11 +-
.../Banshee.Collection.Database/Shuffler.cs | 140 +
.../Tests/DatabaseAlbumInfoTests.cs | 18 +-
.../Tests/DatabaseArtistInfoTests.cs | 8 +-
.../Tests/DatabaseTrackInfoTests.cs | 8 +-
.../CollectionIndexer.cs | 84 +-
.../CollectionIndexerService.cs | 74 +-
.../ICollectionIndexer.cs | 10 +-
.../ICollectionIndexerService.cs | 2 +-
.../Banshee.Collection/AlbumListModel.cs | 4 +-
.../Banshee.Collection/ArtistListModel.cs | 2 +-
.../Banshee.Collection/FilterListModel.cs | 22 +-
.../Banshee.Collection/ImportEventHandler.cs | 10 +-
.../Banshee.Collection/ImportManager.cs | 80 +-
.../Banshee.Collection/MemoryTrackListModel.cs | 10 +-
.../Banshee.Collection/ModelHelper.cs | 16 +-
.../Banshee.Collection/RescanPipeline.cs | 14 +-
.../Banshee.Collection/TrackListModel.cs | 6 +-
.../DatabaseConfigurationClient.cs | 38 +-
.../DefaultApplicationHelper.cs | 10 +-
.../Banshee.Database/BansheeDbConnection.cs | 30 +-
.../Banshee.Database/BansheeDbFormatMigrator.cs | 289 +-
.../Banshee.Database/BansheeModelCache.cs | 4 +-
.../Banshee.Database/BansheeModelProvider.cs | 6 +-
.../Banshee.Database/SortKeyUpdater.cs | 10 +-
.../Banshee.Equalizer/EqualizerManager.cs | 102 +-
.../Banshee.Equalizer/EqualizerSetting.cs | 30 +-
.../Banshee.Hardware/DeviceCommand.cs | 4 +-
.../Banshee.Hardware/HardwareManager.cs | 64 +-
.../Banshee.Services/Banshee.Hardware/IDevice.cs | 6 +-
.../Banshee.Hardware/IDeviceMediaCapabilities.cs | 1 +
.../Banshee.Hardware/IHardwareManager.cs | 14 +-
.../Banshee.Services/Banshee.Hardware/IVolume.cs | 4 +-
.../Banshee.Hardware/VendorProductDeviceNode.cs | 22 +-
.../Banshee.Hardware/VendorProductInfo.cs | 24 +-
.../Banshee.Library/HomeDirectoryImportSource.cs | 12 +-
.../Banshee.Library/IImportSource.cs | 1 +
.../Banshee.Library/ImportSourceManager.cs | 10 +-
.../Banshee.Library/LibraryImportManager.cs | 8 +-
.../Banshee.Library}/LibrarySchema.cs | 44 +-
.../Banshee.Library/LibrarySource.cs | 20 +-
.../Banshee.Library/MusicFileNamePattern.cs | 166 +
.../Banshee.Library/MusicLibrarySource.cs | 32 +-
.../Banshee.Library/Tests/FileNamePatternTests.cs | 132 +
.../Banshee.Library/ThreadPoolImportSource.cs | 47 +-
.../Banshee.Library/VideoLibrarySource.cs | 6 +-
.../Banshee.MediaEngine/IAudioCdRipper.cs | 18 +-
.../Banshee.MediaEngine/IBpmDetector.cs | 2 +-
.../Banshee.MediaEngine/IEqualizer.cs | 8 +-
.../Banshee.MediaEngine/IPlayerEngineService.cs | 12 +-
.../Banshee.MediaEngine/ITranscoder.cs | 16 +-
.../IVisualizationDataSource.cs | 2 +-
.../Banshee.MediaEngine/NullPlayerEngine.cs | 24 +-
.../Banshee.MediaEngine/PlayerEngine.cs | 88 +-
.../Banshee.MediaEngine/PlayerEngineService.cs | 232 +-
.../Banshee.MediaEngine/PlayerEvent.cs | 30 +-
.../Banshee.MediaEngine/TranscoderService.cs | 30 +-
.../Abakos.Compiler/Expression.cs | 96 +-
.../Abakos.Compiler/Functions.cs | 90 +-
.../Abakos.Compiler/InvalidFunctionException.cs | 26 +-
.../Abakos.Compiler/InvalidOperandException.cs | 30 +-
.../Abakos.Compiler/InvalidTokenException.cs | 24 +-
.../Abakos.Compiler/Operations.cs | 46 +-
.../Abakos.Compiler/Operators.cs | 60 +-
.../Abakos.Compiler/Symbol.cs | 52 +-
.../Abakos.Compiler/UnkownVariableException.cs | 26 +-
.../Abakos.Compiler/Values.cs | 46 +-
.../Banshee.MediaProfiles/MediaProfileManager.cs | 52 +-
.../Banshee.MediaProfiles/Pipeline.cs | 98 +-
.../Banshee.MediaProfiles/PipelineVariable.cs | 98 +-
.../Banshee.MediaProfiles/Profile.cs | 58 +-
.../Banshee.MediaProfiles/ProfileConfiguration.cs | 22 +-
.../EmbeddedMetadataProvider.cs | 2 +-
.../Banshee.Metadata.Embedded/EmbeddedQueryJob.cs | 38 +-
.../FileSystemMetadataProvider.cs | 2 +-
.../FileSystemQueryJob.cs | 32 +-
.../LastFMMetadataProvider.cs | 6 +-
.../Banshee.Metadata.LastFM/LastFMQueryJob.cs | 30 +-
.../MusicBrainzMetadataProvider.cs | 2 +-
.../MusicBrainzQueryJob.cs | 38 +-
.../RhapsodyMetadataProvider.cs | 2 +-
.../Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs | 22 +-
.../Banshee.Metadata/BaseMetadataProvider.cs | 18 +-
.../Banshee.Metadata/IMetadataProvider.cs | 14 +-
.../Banshee.Metadata/MetadataService.cs | 45 +-
.../Banshee.Metadata/MetadataServiceJob.cs | 44 +-
.../Banshee.Metadata/SaveTrackMetadataJob.cs | 11 +-
.../Banshee.Metadata/SaveTrackMetadataService.cs | 46 +-
.../Tests/TaglibReadWriteTests.cs | 38 +-
.../INetworkAvailabilityService.cs | 36 +
.../Banshee.Services/Banshee.Networking/Network.cs | 65 +-
.../Banshee.Networking/NetworkManager.cs | 36 +-
.../State.cs} | 20 +-
.../Banshee.Services/Banshee.Networking/Wicd.cs | 112 +
.../Banshee.PlatformServices/ScreensaverManager.cs | 10 +-
.../IPlaybackController.cs | 2 +-
.../IPlaybackControllerService.cs | 14 +-
.../PlaybackControllerDatabaseStack.cs | 2 +-
.../PlaybackControllerService.cs | 149 +-
.../PlaybackRepeatMode.cs | 13 -
.../PlaybackShuffleMode.cs | 13 -
.../Banshee.Playlist/AbstractPlaylistSource.cs | 6 +
.../Banshee.Playlist/PlaylistFileUtil.cs | 84 +-
.../Banshee.Playlist/PlaylistSource.cs | 36 +-
.../AsfReferencePlaylistFormat.cs | 2 +-
.../Banshee.Playlists.Formats/AsxPlaylistFormat.cs | 32 +-
.../Banshee.Playlists.Formats/IPlaylistFormat.cs | 6 +-
.../InvalidPlaylistException.cs | 2 +-
.../Banshee.Playlists.Formats/M3uPlaylistFormat.cs | 30 +-
.../PlaylistFormatBase.cs | 34 +-
.../PlaylistFormatDescription.cs | 12 +-
.../Banshee.Playlists.Formats/PlaylistParser.cs | 28 +-
.../Banshee.Playlists.Formats/PlsPlaylistFormat.cs | 44 +-
.../Tests/PlaylistFormatTests.cs | 4 +-
.../XspfPlaylistFormat.cs | 10 +-
.../Banshee.Preferences/Collection.cs | 32 +-
.../Banshee.Services/Banshee.Preferences/Page.cs | 2 +-
.../Banshee.Preferences/Preference.cs | 10 +-
.../Banshee.Preferences/PreferenceBase.cs | 6 +-
.../Banshee.Preferences/PreferenceService.cs | 15 +-
.../Banshee.Services/Banshee.Preferences/Root.cs | 20 +-
.../Banshee.Preferences/SchemaPreference.cs | 26 +-
.../Banshee.Preferences/Section.cs | 2 +-
.../Banshee.Preferences/VoidPreference.cs | 2 +-
.../Banshee.Services/Banshee.Query/BansheeQuery.cs | 113 +-
.../Banshee.Query/PlaybackErrorQueryValue.cs | 74 +
.../Banshee.ServiceStack/Application.cs | 100 +-
.../Banshee.ServiceStack/BatchUserJob.cs | 2 +-
.../Banshee.ServiceStack/Client.cs | 6 +-
.../Banshee.ServiceStack/DBusCommandService.cs | 12 +-
.../Banshee.ServiceStack/DBusConnection.cs | 48 +-
.../Banshee.ServiceStack/DBusServiceManager.cs | 64 +-
.../Banshee.ServiceStack/DbIteratorJob.cs | 2 +-
.../Banshee.ServiceStack/IUserJob.cs | 14 +-
.../Banshee.ServiceStack/ServiceManager.cs | 144 +-
.../Banshee.ServiceStack/ServiceStartedHandler.cs | 8 +-
.../Banshee.ServiceStack/TestUserJob.cs | 46 +-
.../Banshee.ServiceStack/UserJob.cs | 2 +-
.../Banshee.ServiceStack/UserJobEventHandler.cs | 8 +-
src/Core/Banshee.Services/Banshee.Services.csproj | 8 +-
.../Banshee.SmartPlaylist/Migrator.cs | 2 +-
.../SmartPlaylistDefinition.cs | 4 +-
.../Banshee.SmartPlaylist/SmartPlaylistSource.cs | 32 +-
.../Banshee.Sources/DatabaseSource.cs | 58 +-
.../Banshee.Sources/DurationStatusFormatters.cs | 30 +-
.../Banshee.Sources/ErrorSource.cs | 42 +-
.../Banshee.Sources/IImportable.cs | 2 +-
.../Banshee.Services/Banshee.Sources/ISource.cs | 6 +-
.../Banshee.Sources/ISourceManager.cs | 2 +-
.../Banshee.Sources/MessageAction.cs | 18 +-
.../Banshee.Sources/PrimarySource.cs | 61 +-
.../Banshee.Services/Banshee.Sources/Source.cs | 190 +-
.../Banshee.Sources/SourceManager.cs | 90 +-
.../Banshee.Sources/SourceMessage.cs | 38 +-
.../Banshee.Sources/SourceSortType.cs | 8 +-
.../Banshee.Streaming/RadioTrackInfo.cs | 66 +-
.../Banshee.Services/Banshee.Web/BaseHttpServer.cs | 362 +
src/Core/Banshee.Services/Banshee.Web/Browser.cs | 8 +-
.../Banshee.Services/Banshee.Web/HttpRequest.cs | 62 +-
src/Core/Banshee.Services/Makefile.am | 13 +-
.../Banshee.Addins.Gui/AddinDetailsDialog.cs | 96 -
.../Banshee.Addins.Gui/AddinTile.cs | 199 -
.../Banshee.Addins.Gui/AddinView.cs | 290 +-
.../Banshee.Collection.Gui/AlbumListView.cs | 4 +-
.../Banshee.Collection.Gui/ArtworkManager.cs | 214 +-
.../Banshee.Collection.Gui/ArtworkRenderer.cs | 34 +-
.../Banshee.Collection.Gui/BaseTrackListView.cs | 24 +-
.../Banshee.Collection.Gui/ColumnCellAlbum.cs | 78 +-
.../ColumnCellCreativeCommons.cs | 117 +-
.../Banshee.Collection.Gui/ColumnCellDateTime.cs | 14 +-
.../ColumnCellDiscAndCount.cs | 4 +-
.../Banshee.Collection.Gui/ColumnCellDuration.cs | 10 +-
.../Banshee.Collection.Gui/ColumnCellFileSize.cs | 4 +-
.../Banshee.Collection.Gui/ColumnCellLocation.cs | 2 +-
.../ColumnCellPositiveInt.cs | 28 +-
.../Banshee.Collection.Gui/ColumnCellQueryText.cs | 2 +-
.../ColumnCellStatusIndicator.cs | 183 +-
.../Banshee.Collection.Gui/ColumnCellTrack.cs | 18 +-
.../ColumnCellTrackAndCount.cs | 4 +-
.../ColumnCellTrackNumber.cs | 6 +-
.../Banshee.Collection.Gui/CoverArtEditor.cs | 209 +
.../DefaultColumnController.cs | 60 +-
.../PersistentColumnController.cs | 46 +-
.../Banshee.Collection.Gui/SearchableListView.cs | 285 +
.../Banshee.Collection.Gui/TerseTrackListView.cs | 6 +-
.../Banshee.Collection.Gui/TrackFilterListView.cs | 8 +-
.../Banshee.Collection.Gui/TrackListView.cs | 16 +-
.../Banshee.Collection.Gui/XmlColumnController.cs | 50 +-
.../Banshee.ContextPane/BaseContextPage.cs | 2 +-
.../Banshee.ContextPane/ContextPageManager.cs | 4 +-
.../Banshee.ContextPane/ContextPane.cs | 18 +-
.../Banshee.Equalizer.Gui/EqualizerBandScale.cs | 24 +-
.../Banshee.Equalizer.Gui/EqualizerLevelsBox.cs | 6 +-
.../EqualizerPresetComboBox.cs | 59 +-
.../Banshee.Equalizer.Gui/EqualizerView.cs | 93 +-
.../Banshee.Equalizer.Gui/EqualizerWindow.cs | 48 +-
.../Banshee.Gui.Dialogs/AboutDialog.cs | 40 +-
.../Banshee.Gui.Dialogs/BansheeDialog.cs | 18 +-
.../Banshee.Gui.Dialogs/ConfirmShutdownDialog.cs | 16 +-
.../DefaultApplicationHelperDialog.cs | 6 +-
.../Banshee.Gui.Dialogs/ErrorListDialog.cs | 48 +-
.../Banshee.Gui.Dialogs/FileChooserDialog.cs | 40 +-
.../Banshee.Gui.Dialogs/GladeDialog.cs | 6 +-
.../Banshee.Gui.Dialogs/GladeWindow.cs | 18 +-
.../Banshee.Gui.Dialogs/ImageFileChooserDialog.cs | 20 +-
.../Banshee.Gui.Dialogs/OpenLocationDialog.cs | 42 +-
.../Banshee.Gui.Dialogs/SeekDialog.cs | 6 +-
.../Banshee.Gui.DragDrop/DragDropTarget.cs | 8 +-
.../Banshee.Gui.DragDrop/DragDropUtilities.cs | 16 +-
.../Banshee.Gui.TrackEditor/AlbumArtistEntry.cs | 10 +-
.../BasicTrackDetailsPage.cs | 68 +-
.../EditorEditableUndoAdapter.cs | 8 +-
.../Banshee.Gui.TrackEditor/EditorMode.cs | 2 +-
.../Banshee.Gui.TrackEditor/EditorTrackInfo.cs | 20 +-
.../Banshee.Gui.TrackEditor/EditorUtilities.cs | 4 +-
.../ExtraTrackDetailsPage.cs | 26 +-
.../Banshee.Gui.TrackEditor/FieldOptions.cs | 3 +-
.../Banshee.Gui.TrackEditor/FieldPage.cs | 98 +-
.../Banshee.Gui.TrackEditor/GenreEntry.cs | 10 +-
.../Banshee.Gui.TrackEditor/HelpPage.cs | 20 +-
.../Banshee.Gui.TrackEditor/ITrackEditorPage.cs | 4 +-
.../Banshee.Gui.TrackEditor/LicenseEntry.cs | 8 +-
.../Banshee.Gui.TrackEditor/LyricsPage.cs | 10 +-
.../Banshee.Gui.TrackEditor/PageNavigationEntry.cs | 26 +-
.../Banshee.Gui.TrackEditor/RangeEntry.cs | 28 +-
.../Banshee.Gui.TrackEditor/SortingPage.cs | 12 +-
.../Banshee.Gui.TrackEditor/SpinButtonEntry.cs | 13 +-
.../Banshee.Gui.TrackEditor/StatisticsPage.cs | 143 +-
.../Banshee.Gui.TrackEditor/TextEntry.cs | 8 +-
.../Banshee.Gui.TrackEditor/TextViewEntry.cs | 23 +-
.../Banshee.Gui.TrackEditor/TrackEditorDialog.cs | 268 +-
.../Banshee.Gui.Widgets/ArtworkPopup.cs | 32 +-
.../Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs | 96 +-
.../Banshee.Gui.Widgets/ConnectedMessageBar.cs | 36 +-
.../Banshee.Gui.Widgets/ConnectedSeekSlider.cs | 59 +-
.../Banshee.Gui.Widgets/ConnectedVolumeButton.cs | 12 +-
.../Banshee.Gui.Widgets/CoverArtDisplay.cs | 90 +
.../Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs | 80 +-
.../Banshee.Gui.Widgets/MainMenu.cs | 8 +-
.../Banshee.Gui.Widgets/NextButton.cs | 6 +-
.../Banshee.Gui.Widgets/PlaylistMenuItem.cs | 4 +-
.../Banshee.Gui.Widgets/RepeatActionButton.cs | 12 +-
.../Banshee.Gui.Widgets/TaskStatusIcon.cs | 22 +-
.../Banshee.Gui.Widgets/TrackInfoDisplay.cs | 250 +-
.../Banshee.Gui.Widgets/UserJobTile.cs | 90 +-
.../Banshee.Gui.Widgets/UserJobTileHost.cs | 20 +-
.../Banshee.Gui/BansheeActionGroup.cs | 4 +-
.../Banshee.Gui/BansheeDbFormatMigratorMonitor.cs | 26 +-
.../Banshee.Gui/BansheeIconFactory.cs | 10 +-
.../Banshee.Gui/BaseClientWindow.cs | 66 +-
.../Banshee.Gui/GlobalActions.cs | 87 +-
.../Banshee.Gui/GtkBaseClient.cs | 86 +-
.../Banshee.Gui/GtkElementsService.cs | 66 +-
.../Banshee.Gui/IconThemeUtils.cs | 6 +-
.../Banshee.Gui/InterfaceActionService.cs | 54 +-
.../Banshee.Gui/PersistentPaneController.cs | 26 +-
.../Banshee.Gui/PersistentWindowController.cs | 10 +-
.../Banshee.Gui/PlaybackActions.cs | 66 +-
.../Banshee.Gui/PlaybackRepeatActions.cs | 32 +-
.../Banshee.Gui/PlaybackShuffleActions.cs | 33 +-
.../Banshee.Gui/SourceActions.cs | 54 +-
.../Banshee.Gui/TrackActions.cs | 48 +-
.../Banshee.ThickClient/Banshee.Gui/ViewActions.cs | 30 +-
.../Banshee.Library.Gui/FileImportSource.cs | 47 +-
.../Banshee.Library.Gui/FolderImportSource.cs | 38 +-
.../Banshee.Library.Gui/ImportDialog.cs | 94 +-
.../Banshee.Library.Gui/PhotoFolderImportSource.cs | 22 +-
.../Banshee.MediaProfiles.Gui/ProfileComboBox.cs | 64 +-
.../ProfileComboBoxConfigurable.cs | 30 +-
.../ProfileConfigurationDialog.cs | 128 +-
.../ProfileConfigureButton.cs | 42 +-
.../Banshee.Playlist.Gui/PlaylistExportDialog.cs | 56 +-
.../DefaultPreferenceWidgets.cs | 122 +-
.../Banshee.Preferences.Gui/DescriptionLabel.cs | 4 +-
.../Banshee.Preferences.Gui/NotebookPage.cs | 28 +-
.../Banshee.Preferences.Gui/PageComboBox.cs | 8 +-
.../Banshee.Preferences.Gui/PreferenceDialog.cs | 30 +-
.../Banshee.Preferences.Gui/SectionBox.cs | 36 +-
.../Banshee.Preferences.Gui/WidgetFactory.cs | 56 +-
.../Banshee.Query.Gui/BansheeQueryBox.cs | 1 +
.../PlaybackErrorQueryValueEntry.cs | 89 +
.../Banshee.Query.Gui/PlaylistQueryValueEntry.cs | 2 +-
.../Banshee.Query.Gui/RatingQueryValueEntry.cs | 2 +-
.../SmartPlaylistQueryValueEntry.cs | 2 +-
.../Banshee.SmartPlaylist.Gui/Editor.cs | 8 +-
.../Banshee.Sources.Gui/CellEditEntry.cs | 6 +-
.../CompositeTrackSourceContents.cs | 18 +-
.../FilteredListSourceContents.cs | 100 +-
.../Banshee.Sources.Gui/ISourceContents.cs | 2 +-
.../ITrackModelSourceContents.cs | 2 +-
.../Banshee.Sources.Gui/LazyLoadSourceContents.cs | 86 +
.../Banshee.Sources.Gui/SourceComboBox.cs | 22 +-
.../Banshee.Sources.Gui/SourceIconResolver.cs | 30 +-
.../Banshee.Sources.Gui/SourceModel.cs | 80 +-
.../Banshee.Sources.Gui/SourceRowRenderer.cs | 138 +-
.../Banshee.Sources.Gui/SourceView.cs | 155 +-
.../Banshee.Sources.Gui/SourceView_DragAndDrop.cs | 50 +-
.../Banshee.ThickClient.addin.xml | 5 +
.../Banshee.ThickClient/Banshee.ThickClient.csproj | 4 +-
.../Banshee.ThickClient.dll.config | 3 -
src/Core/Banshee.ThickClient/Makefile.am | 14 +-
.../Resources/banshee-dialogs.glade | 6 +-
.../Resources/core-ui-actions-layout.xml | 3 +-
.../Banshee.Widgets/Banshee.Widgets.dll.config | 2 +-
.../Banshee.Widgets/CustomActionProxy.cs | 4 +-
.../Banshee.Widgets/Banshee.Widgets/DateButton.cs | 38 +-
.../Banshee.Widgets/DictionaryComboBox.cs | 117 +-
.../Banshee.Widgets/DiscUsageDisplay.cs | 104 +-
.../Banshee.Widgets/GenericToolItem.cs | 4 +-
.../Banshee.Widgets/HoverImageButton.cs | 56 +-
.../Banshee.Widgets/LinearProgress.cs | 34 +-
.../Banshee.Widgets/Banshee.Widgets/LinkLabel.cs | 130 +-
.../Banshee.Widgets/Banshee.Widgets/MenuTile.cs | 28 +-
.../Banshee.Widgets/Banshee.Widgets/MessagePane.cs | 20 +-
.../Banshee.Widgets/PropertyTable.cs | 58 +-
.../Banshee.Widgets/RatingActionProxy.cs | 2 +-
.../Banshee.Widgets/Banshee.Widgets/SearchEntry.cs | 63 +-
.../Banshee.Widgets/Banshee.Widgets/SeekSlider.cs | 142 +-
.../Banshee.Widgets/StreamPositionLabel.cs | 82 +-
src/Core/Banshee.Widgets/Banshee.Widgets/Tile.cs | 58 +-
.../Banshee.Widgets/Banshee.Widgets/TileView.cs | 42 +-
.../Banshee.Widgets/VolumeButton.cs | 291 +-
.../Banshee.Dap.Ipod/Banshee.Dap.Ipod.addin.xml | 4 +-
.../Banshee.Dap.Ipod/DatabaseRebuilder.cs | 68 +-
.../Banshee.Dap.Ipod/IpodSource.cs | 204 +-
.../Banshee.Dap.Ipod/IpodTrackInfo.cs | 66 +-
.../Banshee.Dap.Ipod/PodSleuthDevice.cs | 74 +-
.../Banshee.Dap.Ipod/PodSleuthDeviceProvider.cs | 14 +-
.../Banshee.Dap.Ipod/UnsupportedDatabaseView.cs | 52 +-
.../Banshee.Dap.Karma/Banshee.Dap.Karma.addin.xml | 4 +-
.../Banshee.Dap.Karma/KarmaSource.cs | 2 +-
.../Banshee.Dap.MassStorage.addin.xml | 20 +-
.../Banshee.Dap.MassStorage/AndroidDevice.cs | 57 +-
.../CustomMassStorageDevice.cs | 6 +-
.../Banshee.Dap.MassStorage/DeviceMapper.cs | 23 +-
.../Banshee.Dap.MassStorage/MassStorageDevice.cs | 169 +-
.../Banshee.Dap.MassStorage/MassStorageSource.cs | 131 +-
.../Banshee.Dap.MassStorage/WebOSDevice.cs | 8 +
src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.addin.xml | 4 +-
.../Banshee.Dap.Mtp/Banshee.Dap.Mtp/MtpSource.cs | 12 +-
.../Banshee.Dap.Mtp/MtpTrackInfo.cs | 34 +-
.../Banshee.Dap.Mtp/Tests/MtpDapTests.cs | 2 +-
src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs | 6 +-
src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs | 94 +-
src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs | 33 +-
.../Banshee.Dap.Gui/DapPropertiesDialog.cs | 48 +-
.../Banshee.Dap.Gui/DapPropertiesDisplay.cs | 32 +-
.../Banshee.Dap.Gui/LibrarySyncOptions.cs | 165 +
.../Banshee.Dap.Gui/PurchasedMusicActions.cs | 8 +-
src/Dap/Banshee.Dap/Banshee.Dap.addin.xml | 1 -
src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs | 91 +-
src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs | 69 +-
src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs | 109 +-
src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs | 208 +-
.../Banshee.Dap/Banshee.Dap/MediaGroupSource.cs | 28 +-
src/Dap/Banshee.Dap/Banshee.Dap/RemovableSource.cs | 22 +-
src/Dap/Banshee.Dap/Makefile.am | 1 +
.../Banshee.AudioCd/Banshee.AudioCd.addin.xml | 4 +-
.../Banshee.AudioCd/AudioCdDiscModel.cs | 104 +-
.../Banshee.AudioCd/AudioCdDuplicator.cs | 12 +-
.../Banshee.AudioCd/AudioCdRipper.cs | 103 +-
.../Banshee.AudioCd/AudioCdService.cs | 102 +-
.../Banshee.AudioCd/AudioCdSource.cs | 112 +-
.../Banshee.AudioCd/AudioCdTrackInfo.cs | 24 +-
.../Banshee.Audiobook.addin.xml} | 17 +-
.../Banshee.Audiobook.csproj} | 37 +-
.../Banshee.Audiobook/AudiobookFileNamePattern.cs | 148 +
.../Banshee.Audiobook/AudiobookLibrarySource.cs | 90 +
src/Extensions/Banshee.Audiobook/Makefile.am | 13 +
.../Banshee.BooScript/Banshee.BooScript.addin.xml | 4 +-
.../Banshee.BooScript/BooScriptService.cs | 42 +-
.../Banshee.Bookmarks/Banshee.Bookmarks.addin.xml | 4 +-
.../Banshee.Bookmarks/BookmarksService.cs | 20 +-
src/Extensions/Banshee.Bpm/Banshee.Bpm.addin.xml | 4 +-
.../Banshee.Bpm/Banshee.Bpm/BpmDetectJob.cs | 6 +-
src/Extensions/Banshee.Bpm/Banshee.Bpm/BpmEntry.cs | 8 +-
.../Banshee.Bpm/Banshee.Bpm/BpmService.cs | 36 +-
.../Banshee.Bpm/Banshee.Bpm/BpmTapAdapter.cs | 2 +-
.../Banshee.CoverArt/Banshee.CoverArt.addin.xml | 4 +-
.../Banshee.CoverArt/CoverArtJob.cs | 34 +-
.../Banshee.CoverArt/CoverArtService.cs | 58 +-
src/Extensions/Banshee.Daap/Banshee.Daap.addin.xml | 4 +-
.../Banshee.Daap/DaapContainerSource.cs | 4 +-
.../Banshee.Daap/Banshee.Daap/DaapErrorView.cs | 70 +-
.../Banshee.Daap/Banshee.Daap/DaapLoginDialog.cs | 42 +-
.../Banshee.Daap/DaapPlaylistSource.cs | 20 +-
.../Banshee.Daap/DaapProxyWebServer.cs | 290 +-
.../Banshee.Daap/Banshee.Daap/DaapService.cs | 43 +-
.../Banshee.Daap/Banshee.Daap/DaapSource.cs | 108 +-
.../Banshee.Daap/Banshee.Daap/DaapTrackInfo.cs | 8 +-
src/Extensions/Banshee.Daap/Daap/BrokenMD5.cs | 34 +-
src/Extensions/Banshee.Daap/Daap/Client.cs | 26 +-
src/Extensions/Banshee.Daap/Daap/ContentCodeBag.cs | 18 +-
src/Extensions/Banshee.Daap/Daap/ContentFetcher.cs | 16 +-
src/Extensions/Banshee.Daap/Daap/ContentParser.cs | 14 +-
src/Extensions/Banshee.Daap/Daap/ContentWriter.cs | 8 +-
src/Extensions/Banshee.Daap/Daap/Database.cs | 40 +-
src/Extensions/Banshee.Daap/Daap/Hasher.cs | 8 +-
src/Extensions/Banshee.Daap/Daap/Playlist.cs | 22 +-
src/Extensions/Banshee.Daap/Daap/ServerInfo.cs | 10 +-
src/Extensions/Banshee.Daap/Daap/ServiceLocator.cs | 60 +-
src/Extensions/Banshee.Daap/Daap/Track.cs | 46 +-
src/Extensions/Banshee.Daap/Daap/User.cs | 2 +-
src/Extensions/Banshee.Daap/Daap/Utility.cs | 2 +-
.../Banshee.Emusic/Banshee.Emusic.addin.xml | 27 +
.../Banshee.Emusic/Banshee.Emusic.csproj | 77 +
.../DownloadManager/DownloadManagerInterface.cs | 153 +
.../DownloadManager/DownloadUserJob.cs | 144 +
.../Banshee.Emusic/Banshee.Emusic/EmusicImport.cs | 93 +
.../Banshee.Emusic/Banshee.Emusic/EmusicService.cs | 157 +
src/Extensions/Banshee.Emusic/Makefile.am | 15 +
.../Banshee.FileSystemQueue.addin.xml | 6 +-
.../FileSystemQueueSource.cs | 76 +-
.../Banshee.InternetArchive.addin.xml} | 15 +-
.../Banshee.InternetArchive.csproj | 124 +
.../Banshee.InternetArchive/Actions.cs | 86 +
.../Banshee.InternetArchive/DetailsSource.cs | 248 +
.../Banshee.InternetArchive/DetailsView.cs | 552 ++
.../Banshee.InternetArchive/HeaderFilters.cs | 189 +
.../Banshee.InternetArchive/HomeSource.cs | 164 +
.../Banshee.InternetArchive/HomeView.cs | 345 +
.../Banshee.InternetArchive/Item.cs | 157 +
.../Banshee.InternetArchive/SearchDescription.cs | 76 +
.../Banshee.InternetArchive/SearchSource.cs | 219 +
.../Banshee.InternetArchive/SearchView.cs | 177 +
.../InternetArchive/Collection.cs | 40 +
.../InternetArchive/Details.cs | 264 +
.../InternetArchive/DetailsFile.cs | 93 +
.../InternetArchive/DetailsReview.cs} | 54 +-
.../InternetArchive/Field.cs | 95 +
.../InternetArchive/FieldValue.cs | 51 +
.../InternetArchive/JsonExtensions.cs | 99 +
.../InternetArchive/MediaType.cs | 117 +
.../Banshee.InternetArchive/InternetArchive/README | 6 +
.../InternetArchive/Search.cs | 121 +
.../InternetArchive/SearchResult.cs | 118 +
.../InternetArchive/SearchResults.cs | 81 +
.../InternetArchive/Sort.cs | 111 +
src/Extensions/Banshee.InternetArchive/Makefile.am | 37 +
.../Resources/DetailsSourceActiveUI.xml | 15 +
.../Banshee.InternetArchive/Resources/GlobalUI.xml | 19 +
.../Resources/HomeSourceActiveUI.xml | 7 +
.../Resources/SearchSourceActiveUI.xml | 27 +
.../22x22/categories/internet-archive.png | Bin 0 -> 1304 bytes
.../Banshee.InternetRadio.addin.xml | 4 +-
.../Banshee.InternetRadio/InternetRadioSource.cs | 88 +-
.../InternetRadioSourceContents.cs | 30 +-
.../Banshee.InternetRadio/StationEditor.cs | 114 +-
.../Banshee.InternetRadio/XspfMigrator.cs | 40 +-
.../AudioscrobblerService.cs | 149 +-
.../Banshee.Lastfm.Audioscrobbler/Queue.cs | 40 +-
.../Banshee.Lastfm.Radio/LastfmActions.cs | 36 +-
.../Banshee.Lastfm.Radio/LastfmColumnController.cs | 2 +-
.../Banshee.Lastfm.Radio/LastfmSource.cs | 165 +-
.../Banshee.Lastfm.Radio/LastfmSourceContents.cs | 14 +-
.../Banshee.Lastfm.Radio/LastfmTrackInfo.cs | 2 +-
.../Banshee.Lastfm.Radio/StationEditor.cs | 4 +-
.../Banshee.Lastfm.Radio/StationSource.cs | 34 +-
.../RecommendationPane.cs | 76 +-
.../SimilarArtistTile.cs | 12 +-
.../Banshee.Lastfm/Banshee.Lastfm.addin.xml | 4 +-
.../Resources/AudioscrobblerMenu.xml | 2 -
.../Banshee.Lastfm/Resources/GlobalUI.xml | 2 +-
.../Banshee.MediaWeb/MediaWebSource.cs | 87 -
.../Banshee.MediaWeb/MediaWebView.cs | 96 -
src/Extensions/Banshee.MediaWeb/Makefile.am | 17 -
.../Banshee.MiniMode/Banshee.MiniMode.addin.xml | 3 +-
.../Banshee.MiniMode/MiniModeService.cs | 12 +-
.../Banshee.MiniMode/MiniModeWindow.cs | 74 +-
.../Banshee.MiniMode/SourceModel.cs | 58 +-
.../Banshee.Moblin/Banshee.Moblin.addin.xml | 26 +
.../Banshee.Moblin/Banshee.Moblin.csproj | 105 +
.../Banshee.Moblin/Banshee.Moblin.dll.config | 3 +
.../Banshee.Moblin/MediaPanelContents.cs | 87 +
.../Banshee.Moblin/Banshee.Moblin/MoblinPanel.cs | 84 +
.../Banshee.Moblin/Banshee.Moblin/MoblinService.cs | 247 +
.../Banshee.Moblin/MoblinTrackInfoDisplay.cs} | 49 +-
.../Banshee.Moblin/Banshee.Moblin/PlayQueueBox.cs | 95 +
.../Banshee.Moblin/Banshee.Moblin/PlaybackBox.cs | 52 +
.../Banshee.Moblin/RecentAlbumsList.cs | 100 +
.../Banshee.Moblin/RecentAlbumsView.cs | 146 +
.../Banshee.Moblin/Banshee.Moblin/SearchEntry.cs | 133 +
.../Banshee.Moblin/Banshee.Moblin/SearchHeader.cs | 92 +
src/Extensions/Banshee.Moblin/Makefile.am | 48 +
.../Banshee.Moblin/Mutter/PanelClient.cs | 168 +
src/Extensions/Banshee.Moblin/Mutter/PanelGtk.cs | 65 +
.../Banshee.Moblin/Mutter/SetSizeHandler.cs | 42 +
src/Extensions/Banshee.Moblin/moblin-panel-media | 3 +
.../org.moblin.UX.Shell.Panels.media.service.in | 3 +
.../Banshee.MultimediaKeys.addin.xml | 4 +-
.../MultimediaKeysService.cs | 40 +-
src/Extensions/Banshee.MultimediaKeys/Makefile.am | 2 +-
.../Banshee.NotificationArea.addin.xml | 4 +-
.../GtkNotificationAreaBox.cs | 18 +-
.../INotificationAreaBox.cs | 6 +-
.../NotificationAreaService.cs | 281 +-
.../Banshee.NotificationArea/TrackInfoPopup.cs | 14 +-
.../X11NotificationArea.cs | 46 +-
.../X11NotificationAreaBox.cs | 122 +-
.../Notifications/Notification.cs | 2 +-
.../Notifications/Notifications.cs | 2 +-
.../Banshee.NowPlaying.dll.config | 3 -
.../Banshee.NowPlaying/FullscreenAdapter.cs | 20 +-
.../Banshee.NowPlaying/FullscreenControls.cs | 16 +-
.../Banshee.NowPlaying/FullscreenWindow.cs | 116 +-
.../Banshee.NowPlaying/NowPlayingContents.cs | 70 +-
.../Banshee.NowPlaying/NowPlayingInterface.cs | 72 +-
.../Banshee.NowPlaying/NowPlayingSource.cs | 40 +-
.../NowPlayingTrackInfoDisplay.cs | 16 +-
.../Banshee.NowPlaying/OverlayWindow.cs | 66 +-
.../Banshee.NowPlaying/VideoDisplay.cs | 32 +-
.../Banshee.NowPlaying/XOverlayVideoDisplay.cs | 48 +-
src/Extensions/Banshee.NowPlaying/Makefile.am | 3 -
.../Banshee.PlayQueue/Banshee.PlayQueue.addin.xml | 6 +-
.../Banshee.PlayQueue/Banshee.PlayQueue.csproj | 3 +
.../Banshee.PlayQueue/HeaderWidget.cs | 101 +
.../Banshee.PlayQueue/PlayQueueActions.cs | 39 +-
.../Banshee.PlayQueue/PlayQueueSource.cs | 695 ++-
.../Banshee.PlayQueue/PlayQueueTrackListModel.cs | 67 +
.../Banshee.PlayQueue/QueueableSourceComboBox.cs | 133 +
src/Extensions/Banshee.PlayQueue/Makefile.am | 5 +-
.../Banshee.PlayQueue/Resources/ActiveSourceUI.xml | 2 +
.../Banshee.PlayQueue/Resources/GlobalUI.xml | 3 +
.../Banshee.PlayerMigration.addin.xml | 9 +-
.../Banshee.PlayerMigration.csproj} | 84 +-
.../AmarokPlayerImportSource.cs | 24 +-
.../ItunesPlayerImportDialogs.cs | 217 +
.../ItunesPlayerImportSource.cs | 818 ++
.../RhythmboxPlayerImportSource.cs | 69 +-
src/Extensions/Banshee.PlayerMigration/Makefile.am | 5 +-
.../DownloadStatusFilterModel.cs | 8 +-
.../Banshee.Podcasting.Data/PodcastFeedModel.cs | 34 +-
.../Banshee.Podcasting.Data/PodcastSource.cs | 68 +-
.../Banshee.Podcasting.Data/PodcastTrackInfo.cs | 77 +-
.../PodcastTrackListModel.cs | 7 +-
.../PodcastUnheardFilterModel.cs | 8 +-
.../ColumnCellDownloadStatus.cs | 2 +-
.../Banshee.Podcasting.Gui/ColumnCellPodcast.cs | 58 +-
.../ColumnCellPodcastStatusIndicator.cs | 25 +-
.../Banshee.Podcasting.Gui/ColumnCellUnheard.cs | 2 +-
.../DownloadManager/DownloadManagerInterface.cs | 122 +-
.../DownloadManager/DownloadUserJob.cs | 70 +-
.../Models/FilterableListModel.cs | 72 +-
.../Banshee.Podcasting.Gui/Models/ListModel.cs | 106 +-
.../Banshee.Podcasting.Gui/PodcastActions.cs | 170 +-
.../Banshee.Podcasting.Gui/PodcastEpisodePage.cs | 22 +-
.../Banshee.Podcasting.Gui/PodcastFeedView.cs | 70 +-
.../Banshee.Podcasting.Gui/PodcastItemView.cs | 129 +-
.../Dialog/PodcastFeedPropertiesDialog.cs | 38 +-
.../Dialog/PodcastPropertiesDialog.cs | 28 +-
.../Dialog/PodcastSubscribeDialog.cs | 46 +-
.../Dialog/SyncPreferenceComboBox.cs | 26 +-
.../PodcastSourceContents.cs | 58 +-
.../Banshee.Podcasting.addin.xml | 4 +-
.../Banshee.Podcasting/ItmsPodcast.cs | 4 +-
.../Banshee.Podcasting/PodcastImageFetchJob.cs | 12 +-
.../Banshee.Podcasting/PodcastImportManager.cs | 32 +-
.../Banshee.Podcasting/PodcastService.cs | 235 +-
.../Banshee.Podcasting/PodcastService_Interface.cs | 37 +-
.../Resources/ActiveSourceUI.xml | 1 +
.../Banshee.RemoteAudio/RemoteAudioService.cs | 10 +-
.../Banshee.RemoteAudio/RemoteSpeaker.cs | 2 +-
.../Banshee.Sample/Banshee.Sample/SampleSource.cs | 4 +-
.../Banshee.Sample/SampleSourceInterface.cs | 22 +-
.../Banshee.SqlDebugConsole/SqlActions.cs | 2 +-
.../Banshee.Torrent/Banshee.Torrent.addin.xml | 4 +-
.../Banshee.Torrent/TorrentFileDownloadTask.cs | 26 +-
.../Banshee.Torrent/TorrentService.cs | 20 +-
.../Banshee.Wikipedia/Banshee.Wikipedia.addin.xml | 4 +-
.../Banshee.Wikipedia/WikipediaView.cs | 8 -
src/Extensions/Banshee.Wikipedia/Makefile.am | 2 +-
src/Extensions/Makefile.am | 4 +
.../Accessibility/ColumnCellAccessible.cs | 151 +
.../Accessibility/ColumnCellTextAccessible.cs} | 13 +-
.../ColumnHeaderCellTextAccessible.cs | 114 +
.../Accessibility/ICellAccessibleParent.cs} | 22 +-
.../Accessibility/ListViewAccessible.cs | 245 +
.../Accessibility/ListViewAccessible_Selection.cs | 92 +
.../Accessibility/ListViewAccessible_Table.cs | 192 +
.../Hyena.Gui/Hyena.Data.Gui/CellContext.cs | 16 +-
src/Libraries/Hyena.Gui/Hyena.Data.Gui/Column.cs | 42 +-
.../Hyena.Gui/Hyena.Data.Gui/ColumnCell.cs | 34 +-
.../Hyena.Gui/Hyena.Data.Gui/ColumnCellCheckBox.cs | 40 +-
.../Hyena.Gui/Hyena.Data.Gui/ColumnCellRating.cs | 58 +-
.../Hyena.Gui/Hyena.Data.Gui/ColumnCellText.cs | 61 +-
.../Hyena.Gui/Hyena.Data.Gui/ColumnController.cs | 52 +-
.../Hyena.Data.Gui/ColumnHeaderCellText.cs | 19 +-
.../Hyena.Gui/Hyena.Data.Gui/IListView.cs | 4 +-
.../Hyena.Gui/Hyena.Data.Gui/ISizeRequestCell.cs | 2 +-
.../Hyena.Gui/Hyena.Data.Gui/ITextCell.cs | 2 +-
.../Hyena.Gui/Hyena.Data.Gui/ListView/ListView.cs | 4 +-
.../Hyena.Data.Gui/ListView/ListView_Accessible.cs | 177 +
.../ListView/ListView_DragAndDrop.cs | 52 +-
.../Hyena.Data.Gui/ListView/ListView_Header.cs | 231 +-
.../ListView/ListView_Interaction.cs | 344 +-
.../Hyena.Data.Gui/ListView/ListView_Model.cs | 99 +-
.../Hyena.Data.Gui/ListView/ListView_Rendering.cs | 227 +-
.../Hyena.Data.Gui/ListView/ListView_Windowing.cs | 62 +-
.../Hyena.Gui/Hyena.Data.Gui/ListViewTestModule.cs | 58 +-
.../Hyena.Gui/Hyena.Data.Gui/ObjectListView.cs | 6 +-
.../Hyena.Data.Gui/RowActivatedHandler.cs | 4 +-
.../Hyena.Gui/Hyena.Data.Gui/SortableColumn.cs | 10 +-
.../Hyena.Gui/Hyena.Gui.Dialogs/ExceptionDialog.cs | 61 +-
.../Hyena.Gui.Dialogs/VersionInformationDialog.cs | 40 +-
.../Hyena.Gui/Hyena.Gui.Theatrics/Actor.cs | 26 +-
.../Hyena.Gui/Hyena.Gui.Theatrics/Choreographer.cs | 22 +-
.../Hyena.Gui/Hyena.Gui.Theatrics/Pulsator.cs | 36 +-
.../Hyena.Gui.Theatrics/SingleActorStage.cs | 12 +-
.../Hyena.Gui/Hyena.Gui.Theatrics/Stage.cs | 88 +-
.../Tests/ChoreographerTests.cs | 34 +-
.../Hyena.Gui/Hyena.Gui.Theming/GtkColors.cs | 24 +-
.../Hyena.Gui/Hyena.Gui.Theming/GtkTheme.cs | 117 +-
src/Libraries/Hyena.Gui/Hyena.Gui.Theming/Theme.cs | 86 +-
.../Hyena.Gui/Hyena.Gui.Theming/ThemeEngine.cs | 12 +-
src/Libraries/Hyena.Gui/Hyena.Gui.csproj | 14 +-
src/Libraries/Hyena.Gui/Hyena.Gui.dll.config | 14 +-
.../Hyena.Gui/Hyena.Gui/BaseWidgetAccessible.cs | 262 +
.../Hyena.Gui/Hyena.Gui/CairoExtensions.cs | 128 +-
.../Hyena.Gui/Hyena.Gui/CleanRoomStartup.cs | 10 +-
.../Hyena.Gui/Hyena.Gui/CompositeUtils.cs | 28 +-
src/Libraries/Hyena.Gui/Hyena.Gui/Contrast.cs | 64 +-
src/Libraries/Hyena.Gui/Hyena.Gui/DragDropList.cs | 10 +-
.../Hyena.Gui/Hyena.Gui/EditableEraseAction.cs | 2 +-
.../Hyena.Gui/Hyena.Gui/EditableInsertAction.cs | 4 +-
.../Hyena.Gui/Hyena.Gui/EditableUndoAdapter.cs | 14 +-
src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs | 36 +-
.../Hyena.Gui/Hyena.Gui/GtkWorkarounds.cs | 30 +-
.../Hyena.Gui/Hyena.Gui/PangoCairoHelper.cs | 24 +-
.../Hyena.Gui/Hyena.Gui/PixbufImageSurface.cs | 48 +-
.../Hyena.Gui/Hyena.Gui/RatingRenderer.cs | 46 +-
.../Hyena.Gui/Hyena.Gui/ShadingTestWindow.cs | 18 +-
.../Hyena.Gui/Hyena.Gui/TestModuleAttribute.cs | 6 +-
.../Hyena.Gui/Hyena.Gui/TestModuleRunner.cs | 22 +-
src/Libraries/Hyena.Gui/Hyena.Gui/TooltipSetter.cs | 18 +-
.../Hyena.Query.Gui/FileSizeQueryValueEntry.cs | 2 +-
.../Hyena.Query.Gui/IntegerQueryValueEntry.cs | 2 +-
.../Hyena.Gui/Hyena.Query.Gui/QueryBox.cs | 12 +-
.../Hyena.Gui/Hyena.Query.Gui/QueryDebugger.cs | 28 +-
.../Hyena.Gui/Hyena.Query.Gui/QueryLimitBox.cs | 10 +-
.../Hyena.Gui/Hyena.Query.Gui/QueryTermBox.cs | 18 +-
.../Hyena.Gui/Hyena.Query.Gui/QueryTermsBox.cs | 8 +-
.../Hyena.Query.Gui/StringQueryValueEntry.cs | 2 +-
.../Hyena.Query.Gui/TimeSpanQueryValueEntry.cs | 2 +-
.../Hyena.Gui/Hyena.Widgets/AccordionPane.cs | 24 +-
.../Hyena.Gui/Hyena.Widgets/AnimatedBox.cs | 162 +-
.../Hyena.Gui/Hyena.Widgets/AnimatedImage.cs | 50 +-
.../Hyena.Gui/Hyena.Widgets/AnimatedWidget.cs | 49 +-
.../Hyena.Gui/Hyena.Widgets/ComplexMenuItem.cs | 30 +-
.../Hyena.Gui/Hyena.Widgets/EntryPopup.cs | 226 +
.../Hyena.Gui/Hyena.Widgets/HigMessageDialog.cs | 33 +-
.../Hyena.Gui/Hyena.Widgets/ImageButton.cs | 20 +-
.../Hyena.Gui/Hyena.Widgets/MenuButton.cs | 43 +-
.../Hyena.Gui/Hyena.Widgets/MessageBar.cs | 63 +-
.../Hyena.Gui/Hyena.Widgets/PulsingButton.cs | 36 +-
.../Hyena.Gui/Hyena.Widgets/RatingEntry.cs | 201 +-
.../Hyena.Gui/Hyena.Widgets/RatingMenuItem.cs | 20 +-
.../Hyena.Gui/Hyena.Widgets/RoundedFrame.cs | 52 +-
.../Hyena.Gui/Hyena.Widgets/ScrolledWindow.cs | 32 +-
.../Hyena.Gui/Hyena.Widgets/SegmentedBar.cs | 278 +-
.../Hyena.Gui/Hyena.Widgets/SimpleTable.cs | 103 +
.../Hyena.Widgets/SmoothScrolledWindow.cs | 30 +-
.../Hyena.Gui/Hyena.Widgets/TextViewEditable.cs | 48 +-
src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs | 49 +-
src/Libraries/Hyena.Gui/Makefile.am | 11 +
.../Hyena.Collections/CollectionExtensions.cs | 20 +-
.../Hyena/Hyena.Collections/IntervalHeap.cs | 145 +-
src/Libraries/Hyena/Hyena.Collections/LruCache.cs | 32 +-
.../Hyena/Hyena.Collections/QueuePipeline.cs | 16 +-
.../Hyena.Collections/QueuePipelineElement.cs | 54 +-
.../Hyena/Hyena.Collections/RangeCollection.cs | 104 +-
src/Libraries/Hyena/Hyena.Collections/Selection.cs | 74 +-
.../Hyena.Collections/Tests/IntervalHeapTests.cs | 10 +-
.../Hyena.Collections/Tests/QueuePipelineTests.cs | 10 +-
.../Tests/RangeCollectionTests.cs | 148 +-
.../Hyena/Hyena.Collections/WriteLineElement.cs | 2 +-
.../Hyena/Hyena.CommandLine/CommandLineParser.cs | 50 +-
src/Libraries/Hyena/Hyena.CommandLine/Layout.cs | 64 +-
.../Hyena/Hyena.CommandLine/LayoutGroup.cs | 34 +-
.../Hyena/Hyena.CommandLine/LayoutOption.cs | 12 +-
.../Hyena/Hyena.Data.Sqlite/DatabaseColumn.cs | 50 +-
.../Hyena.Data.Sqlite/DatabaseColumnAttribute.cs | 30 +-
.../HyenaSqliteArrayDataReader.cs | 27 +-
.../Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs | 24 +-
.../Hyena.Data.Sqlite/HyenaSqliteConnection.cs | 64 +-
.../Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs | 61 +-
.../Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs | 133 +-
.../Hyena/Hyena.Data.Sqlite/SqliteUtils.cs | 14 +-
.../Hyena/Hyena.Data.Sqlite/Tests/DbBoundType.cs | 22 +-
.../Hyena.Data.Sqlite/Tests/SqliteCommandTests.cs | 36 +-
.../Tests/SqliteModelProviderTests.cs | 64 +-
.../Hyena.Data.Sqlite/Tests/SqliteUtilTests.cs | 10 +-
src/Libraries/Hyena/Hyena.Data/BaseListModel.cs | 12 +-
.../Hyena/Hyena.Data/ColumnDescription.cs | 20 +-
src/Libraries/Hyena/Hyena.Data/IListModel.cs | 8 +-
.../Hyena/Hyena.Data/IPropertyStoreExpose.cs | 4 +-
src/Libraries/Hyena/Hyena.Data/MemoryListModel.cs | 97 +
src/Libraries/Hyena/Hyena.Data/ModelCache.cs | 8 +-
src/Libraries/Hyena/Hyena.Data/PropertyStore.cs | 62 +-
src/Libraries/Hyena/Hyena.Jobs/Job.cs | 4 +-
src/Libraries/Hyena/Hyena.Jobs/Scheduler.cs | 2 +-
.../Hyena/Hyena.Jobs/Tests/SchedulerTests.cs | 2 +-
src/Libraries/Hyena/Hyena.Json/Deserializer.cs | 52 +-
src/Libraries/Hyena/Hyena.Json/IJsonCollection.cs | 2 +-
src/Libraries/Hyena/Hyena.Json/JsonArray.cs | 6 +-
src/Libraries/Hyena/Hyena.Json/JsonObject.cs | 6 +-
.../Hyena/Hyena.Json/Tests/DeserializerTests.cs | 18 +-
.../Hyena/Hyena.Json/Tests/TokenizerTests.cs | 96 +-
src/Libraries/Hyena/Hyena.Json/Token.cs | 35 +-
src/Libraries/Hyena/Hyena.Json/TokenType.cs | 11 +-
src/Libraries/Hyena/Hyena.Json/Tokenizer.cs | 114 +-
.../Hyena/Hyena.Query/AliasedObjectSet.cs | 12 +-
src/Libraries/Hyena/Hyena.Query/EnumQueryValue.cs | 111 +
.../Hyena/Hyena.Query/FileSizeQueryValue.cs | 6 +-
.../Hyena.Query/IntegerKeyedObjectQueryValue.cs | 4 +-
.../Hyena/Hyena.Query/IntegerQueryValue.cs | 2 +-
src/Libraries/Hyena/Hyena.Query/NullQueryValue.cs | 4 +-
src/Libraries/Hyena/Hyena.Query/QueryField.cs | 4 +-
src/Libraries/Hyena/Hyena.Query/QueryListNode.cs | 34 +-
src/Libraries/Hyena/Hyena.Query/QueryNode.cs | 26 +-
src/Libraries/Hyena/Hyena.Query/QueryOperator.cs | 2 +-
src/Libraries/Hyena/Hyena.Query/QueryParser.cs | 4 +-
src/Libraries/Hyena/Hyena.Query/QueryTermNode.cs | 11 +-
src/Libraries/Hyena/Hyena.Query/QueryToken.cs | 2 +-
src/Libraries/Hyena/Hyena.Query/QueryValue.cs | 2 +-
.../Hyena.Query/RelativeTimeSpanQueryValue.cs | 2 +-
.../Hyena/Hyena.Query/StringQueryValue.cs | 2 +-
.../Hyena/Hyena.Query/Tests/QueryTests.cs | 30 +-
src/Libraries/Hyena/Hyena.Query/UserQueryParser.cs | 24 +-
.../Hyena.SExpEngine/ArithmeticFunctionSet.cs | 44 +-
.../Hyena/Hyena.SExpEngine/CastFunctionSet.cs | 20 +-
.../Hyena/Hyena.SExpEngine/CompareFunctionSet.cs | 22 +-
.../Hyena/Hyena.SExpEngine/ControlFunctionSet.cs | 32 +-
src/Libraries/Hyena/Hyena.SExpEngine/Evaluator.cs | 6 +-
.../Hyena/Hyena.SExpEngine/EvaluatorBase.cs | 110 +-
.../Hyena/Hyena.SExpEngine/FunctionFunctionSet.cs | 26 +-
.../Hyena/Hyena.SExpEngine/FunctionNode.cs | 26 +-
.../Hyena/Hyena.SExpEngine/FunctionSet.cs | 24 +-
.../Hyena/Hyena.SExpEngine/ListFunctionSet.cs | 70 +-
src/Libraries/Hyena/Hyena.SExpEngine/Literals.cs | 20 +-
.../Hyena/Hyena.SExpEngine/LogicFunctionSet.cs | 24 +-
src/Libraries/Hyena/Hyena.SExpEngine/Parser.cs | 68 +-
.../Hyena/Hyena.SExpEngine/StringFunctionSet.cs | 52 +-
src/Libraries/Hyena/Hyena.SExpEngine/TreeNode.cs | 40 +-
.../Hyena/Hyena.SExpEngine/UtilityFunctionSet.cs | 18 +-
src/Libraries/Hyena/Hyena.csproj | 3 +
src/Libraries/Hyena/Hyena/ConsoleCrayon.cs | 14 +-
src/Libraries/Hyena/Hyena/CryptoUtil.cs | 4 +-
src/Libraries/Hyena/Hyena/DateTimeUtil.cs | 6 +-
.../Hyena/Hyena/EventArgs.cs} | 21 +-
src/Libraries/Hyena/Hyena/Log.cs | 154 +-
src/Libraries/Hyena/Hyena/PlatformUtil.cs | 2 +-
src/Libraries/Hyena/Hyena/StringUtil.cs | 77 +-
src/Libraries/Hyena/Hyena/Tests/CryptoUtilTests.cs | 2 +-
src/Libraries/Hyena/Hyena/Tests/StringUtilTests.cs | 82 +-
src/Libraries/Hyena/Hyena/Tests/TestBase.cs | 18 +-
src/Libraries/Hyena/Hyena/ThreadAssist.cs | 33 +-
src/Libraries/Hyena/Hyena/Timer.cs | 4 +-
src/Libraries/Hyena/Hyena/UndoManager.cs | 4 +-
src/Libraries/Hyena/Hyena/XdgBaseDirectorySpec.cs | 4 +-
src/Libraries/Hyena/Makefile.am | 3 +
src/Libraries/Lastfm.Gui/Lastfm.Gui.csproj | 4 +
.../Lastfm.Gui/Lastfm.Gui/AccountLoginDialog.cs | 55 +-
.../Lastfm.Gui/Lastfm.Gui/AccountLoginForm.cs | 106 +-
src/Libraries/Lastfm.Gui/Lastfm.Gui/Badge.cs | 14 +-
src/Libraries/Lastfm.Gui/Resources/badge-hover.png | Bin 731 -> 1321 bytes
src/Libraries/Lastfm.Gui/Resources/badge.png | Bin 1958 -> 1181 bytes
src/Libraries/Lastfm.Gui/Test.cs | 30 +-
src/Libraries/Lastfm/Lastfm.Data/DataCore.cs | 32 +-
src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs | 24 +-
.../Lastfm/Lastfm.Data/LastfmAlbumData.cs | 24 +-
src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs | 2 +-
src/Libraries/Lastfm/Lastfm.csproj | 1 +
src/Libraries/Lastfm/Lastfm/Account.cs | 87 +-
.../Lastfm/Lastfm/AudioscrobblerConnection.cs | 131 +-
src/Libraries/Lastfm/Lastfm/Browser.cs | 4 +-
src/Libraries/Lastfm/Lastfm/IQueue.cs | 8 +-
src/Libraries/Lastfm/Lastfm/LastfmCore.cs | 30 +-
src/Libraries/Lastfm/Lastfm/LastfmRequest.cs | 261 +
src/Libraries/Lastfm/Lastfm/RadioConnection.cs | 414 +-
src/Libraries/Lastfm/Makefile.am | 1 +
.../DownloadGroupStatusChangedEventArgs.cs | 34 +-
.../DownloadGroupStatusManager.cs | 50 +-
.../Migo/Migo.DownloadCore/DownloadManager.cs | 118 +-
.../Migo.DownloadCore/HttpDownloadTaskErrors.cs | 28 +-
.../Migo.DownloadCore/HttpFileDownloadGroup.cs | 126 +-
.../Migo/Migo.DownloadCore/HttpFileDownloadTask.cs | 332 +-
src/Libraries/Migo/Migo.Net/AsyncWebClient.cs | 343 +-
.../Migo/Migo.Net/AsyncWebClientStatus.cs | 52 +-
.../EventArgs/DownloadDataCompletedEventArgs.cs | 36 +-
.../EventArgs/DownloadProgressChangedEventArgs.cs | 36 +-
.../EventArgs/DownloadStringCompletedEventArgs.cs | 38 +-
.../EventArgs/TransferRateUpdatedEventArgs.cs | 40 +-
.../Exceptions/RemoteFileModifiedException.cs | 40 +-
.../Migo/Migo.Net/TransferStatusManager.cs | 122 +-
.../Migo/Migo.Syndication/EnclosureManager.cs | 262 +-
.../FEEDS_EVENTS_DOWNLOAD_COUNT_FLAGS.cs | 28 +-
.../Enumerations/FEEDS_EVENTS_ITEM_COUNT_FLAGS.cs | 28 +-
.../Enumerations/FeedBackgroundSyncAction.cs | 32 +-
.../Enumerations/FeedBackgroundSyncStatus.cs | 32 +-
.../Enumerations/FeedDownloadError.cs | 32 +-
.../Enumerations/FeedDownloadStatus.cs | 28 +-
.../Enumerations/FeedSyncSetting.cs | 30 +-
.../EventArgs/FeedDownloadCompletedEventArgs.cs | 42 +-
.../EventArgs/FeedDownloadCountChangedEventArgs.cs | 38 +-
.../Migo.Syndication/EventArgs/FeedEventArgs.cs | 38 +-
.../EventArgs/FeedItemCountChangedEventArgs.cs | 40 +-
.../EventArgs/FeedItemEventArgs.cs | 32 +-
src/Libraries/Migo/Migo.Syndication/Feed.cs | 239 +-
.../Migo/Migo.Syndication/FeedEnclosure.cs | 109 +-
src/Libraries/Migo/Migo.Syndication/FeedItem.cs | 60 +-
src/Libraries/Migo/Migo.Syndication/FeedManager.cs | 48 +-
.../Migo/Migo.Syndication/FeedUpdateTask.cs | 82 +-
.../Migo/Migo.Syndication/FeedsManager.cs | 188 +-
.../TablesManagers/EnclosuresTableManager.cs | 226 +-
.../TablesManagers/FeedsTableManager.cs | 342 +-
.../TablesManagers/ItemsTableManager.cs | 288 +-
src/Libraries/Migo/Migo.Syndication/MigoItem.cs | 2 +-
.../Migo/Migo.Syndication/MigoModelProvider.cs | 18 +-
.../Migo/Migo.Syndication/Rfc822DateTime.cs | 52 +-
src/Libraries/Migo/Migo.Syndication/RssParser.cs | 103 +-
.../Migo/Migo.Syndication/Tests/XmlTests.cs | 6 +-
.../AsyncCommandQueue/AsyncCommandQueue.cs | 122 +-
.../AsyncCommandQueue/CommandDelegate.cs | 28 +-
.../AsyncCommandQueue/CommandQueueManager.cs | 46 +-
.../AsyncCommandQueue/CommandWrapper.cs | 32 +-
.../AsyncCommandQueue/EventWrapper.cs | 32 +-
.../Migo.TaskCore/AsyncCommandQueue/ICommand.cs | 26 +-
.../Migo/Migo.TaskCore/AsyncTaskScheduler.cs | 134 +-
.../Migo.TaskCore/Enumerations/TaskPriority.cs | 28 +-
.../Migo/Migo.TaskCore/Enumerations/TaskStatus.cs | 28 +-
.../EventArgs/GroupStatusChangedEventArgs.cs | 38 +-
.../EventArgs/TaskCompletedEventArgs.cs | 28 +-
.../Migo/Migo.TaskCore/EventArgs/TaskEventArgs.cs | 44 +-
.../EventArgs/TaskStatusChangedEventArgs.cs | 40 +-
.../EventArgs/TaskStatusChangedInfo.cs | 40 +-
.../Exceptions/TaskStatusException.cs | 32 +-
.../Migo/Migo.TaskCore/GroupProgressManager.cs | 110 +-
.../Migo/Migo.TaskCore/GroupStatusManager.cs | 184 +-
.../EventArgs/ManipulatedEventArgs.cs | 46 +-
.../EventArgs/ReorderedEventArgs.cs | 30 +-
.../EventArgs/TaskAddedEventArgs.cs | 56 +-
.../EventArgs/TaskRemovedEventArgs.cs | 46 +-
.../ITaskCollectionEnumerator.cs | 32 +-
.../Migo.TaskCore.Collections/PriorityQueue.cs | 24 +-
.../Migo.TaskCore.Collections/TaskCollection.cs | 124 +-
.../Migo.TaskCore.Collections/TaskList.cs | 260 +-
.../TaskListEnumerator.cs | 82 +-
src/Libraries/Migo/Migo.TaskCore/Task.cs | 140 +-
src/Libraries/Migo/Migo.TaskCore/TaskGroup.cs | 482 +-
.../Mono.Data.Sqlite/Mono.Data.Sqlite/SQLite3.cs | 8 +-
.../Mono.Data.Sqlite/SQLite3_UTF16.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteBase.cs | 12 +-
.../Mono.Data.Sqlite/SQLiteCommand.cs | 14 +-
.../Mono.Data.Sqlite/SQLiteCommandBuilder.cs | 8 +-
.../Mono.Data.Sqlite/SQLiteConnection.cs | 38 +-
.../SQLiteConnectionStringBuilder.cs | 8 +-
.../Mono.Data.Sqlite/SQLiteConvert.cs | 14 +-
.../Mono.Data.Sqlite/SQLiteDataAdapter.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteDataReader.cs | 58 +-
.../Mono.Data.Sqlite/SQLiteEnlistment.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteException.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteFactory.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteFunction.cs | 14 +-
.../Mono.Data.Sqlite/SQLiteFunctionAttribute.cs | 6 +-
.../SQLiteMetaDataCollectionNames.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteParameter.cs | 16 +-
.../Mono.Data.Sqlite/SQLiteParameterCollection.cs | 6 +-
.../Mono.Data.Sqlite/SQLiteStatement.cs | 12 +-
.../Mono.Data.Sqlite/SQLiteTransaction.cs | 6 +-
.../Mono.Data.Sqlite/SR.Designer.cs | 24 +-
.../Mono.Data.Sqlite/SqliteDataSourceEnumerator.cs | 8 +-
.../Mono.Data.Sqlite/UnsafeNativeMethods.cs | 12 +-
.../Mono.Media/Media.Playlists.Xspf/LinkEntry.cs | 10 +-
.../Mono.Media/Media.Playlists.Xspf/MetaEntry.cs | 8 +-
.../Mono.Media/Media.Playlists.Xspf/Playlist.cs | 102 +-
.../Media.Playlists.Xspf/Tests/XspfTests.cs | 2 +-
.../Mono.Media/Media.Playlists.Xspf/Track.cs | 92 +-
.../Mono.Media/Media.Playlists.Xspf/W3CDateTime.cs | 76 +-
.../Mono.Media/Media.Playlists.Xspf/XmlUtil.cs | 58 +-
.../Media.Playlists.Xspf/XspfBaseObject.cs | 48 +-
src/Libraries/Mtp/Makefile.am | 10 +
src/Libraries/Mtp/Mtp/AbstractTrackList.cs | 4 +-
src/Libraries/Mtp/Mtp/Album.cs | 66 +-
src/Libraries/Mtp/Mtp/Error.cs | 118 +-
src/Libraries/Mtp/Mtp/ErrorCode.cs | 66 +-
src/Libraries/Mtp/Mtp/File.cs | 24 +-
src/Libraries/Mtp/Mtp/FileSampleData.cs | 56 +-
src/Libraries/Mtp/Mtp/FileType.cs | 114 +-
src/Libraries/Mtp/Mtp/Folder.cs | 486 +-
src/Libraries/Mtp/Mtp/MtpDevice.cs | 867 +-
src/Libraries/Mtp/Mtp/Playlist.cs | 68 +-
src/Libraries/Mtp/Mtp/Track.cs | 495 +-
src/Libraries/MusicBrainz/MusicBrainz/Artist.cs | 50 +-
src/Libraries/MusicBrainz/MusicBrainz/Disc.cs | 2 +-
src/Libraries/MusicBrainz/MusicBrainz/DiscLinux.cs | 58 +-
src/Libraries/MusicBrainz/MusicBrainz/DiscWin32.cs | 4 +-
.../MusicBrainz/MusicBrainz/DiscWin32NT.cs | 2 +-
src/Libraries/MusicBrainz/MusicBrainz/Label.cs | 32 +-
src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs | 24 +-
.../MusicBrainz/MusicBrainz/MusicBrainzEntity.cs | 24 +-
.../MusicBrainz/MusicBrainz/MusicBrainzItem.cs | 36 +-
.../MusicBrainz/MusicBrainz/MusicBrainzObject.cs | 68 +-
.../MusicBrainz/MusicBrainz/MusicBrainzService.cs | 6 +-
src/Libraries/MusicBrainz/MusicBrainz/Query.cs | 46 +-
src/Libraries/MusicBrainz/MusicBrainz/Relation.cs | 6 +-
src/Libraries/MusicBrainz/MusicBrainz/Release.cs | 46 +-
src/Libraries/MusicBrainz/MusicBrainz/Track.cs | 40 +-
src/Libraries/MusicBrainz/MusicBrainz/Utils.cs | 14 +-
.../MusicBrainz/MusicBrainz/XmlRequestEventArgs.cs | 2 +-
src/create-extension | 2 +
tests/Makefile.am | 1 +
tests/test-a11y | 125 +
1214 files changed, 85055 insertions(+), 42780 deletions(-)
---
diff --cc src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs
index c34635a,cd8d11e..4647426
--- a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs
+++ b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/Service.cs
@@@ -47,13 -47,13 +47,13 @@@ namespace Banshee.GStreame
public Service ()
{
}
-
+
[DllImport ("libbanshee.dll")]
private static extern void gstreamer_initialize (bool debugging, BansheeLogHandler log_handler);
-
+
void IExtensionService.Initialize ()
{
- bool debugging = Banshee.Base.ApplicationContext.Debugging;
+ bool debugging = ApplicationContext.Debugging;
if (debugging) {
native_log_handler = new BansheeLogHandler (NativeLogHandler);
}
@@@ -112,15 -112,15 +112,15 @@@
} else if (component != null) {
message = String.Format ("(libbanshee:{0}) {1}", component, message);
}
-
+
Log.Commit (type, message, null, false);
}
-
+
private static void OnTestMediaProfile (object o, TestProfileArgs args)
{
- bool no_test = Banshee.Base.ApplicationContext.EnvironmentIsSet ("BANSHEE_PROFILES_NO_TEST");
+ bool no_test = ApplicationContext.EnvironmentIsSet ("BANSHEE_PROFILES_NO_TEST");
bool available = false;
-
+
foreach (Pipeline.Process process in args.Profile.Pipeline.GetPendingProcessesById ("gstreamer")) {
string pipeline = args.Profile.Pipeline.CompileProcess (process);
if (no_test || TestPipeline (pipeline)) {
diff --cc src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs
index bfbdf46,daf5469..1afb39e
--- a/src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs
+++ b/src/Backends/Banshee.Gnome/Banshee.GnomeBackend/Brasero.cs
@@@ -66,17 -65,17 +66,17 @@@ namespace Banshee.GnomeBacken
Catalog.GetString ("Write selected tracks to an audio CD"),
OnBurnDisc)
});
-
+
Gtk.Action action = uia_service.TrackActions["BurnDiscAction"];
action.IconName = "media-write-cd";
-
+
uia_service.UIManager.AddUiFromResource ("GlobalUI.xml");
-
+
UpdateActions ();
- uia_service.TrackActions.SelectionChanged += delegate { Banshee.Base.ThreadAssist.ProxyToMain (UpdateActions); };
- ServiceManager.SourceManager.ActiveSourceChanged += delegate { Banshee.Base.ThreadAssist.ProxyToMain (UpdateActions); };
+ uia_service.TrackActions.SelectionChanged += delegate { ThreadAssist.ProxyToMain (UpdateActions); };
+ ServiceManager.SourceManager.ActiveSourceChanged += delegate { ThreadAssist.ProxyToMain (UpdateActions); };
}
-
+
public void Dispose ()
{
}
diff --cc src/Clients/Nereid/Nereid/PlayerInterface.cs
index 051db19,9100971..c9fcfc6
--- a/src/Clients/Nereid/Nereid/PlayerInterface.cs
+++ b/src/Clients/Nereid/Nereid/PlayerInterface.cs
@@@ -282,11 -348,11 +349,11 @@@ namespace Nerei
private TrackListModel previous_track_model = null;
private void OnActiveSourceChanged (SourceEventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
Source source = ServiceManager.SourceManager.ActiveSource;
-
+
view_container.SearchSensitive = source != null && source.CanSearch;
-
+
if (source == null) {
return;
}
diff --cc src/Core/Banshee.Core/Banshee.Base/Paths.cs
index 19b60cf,256ace3..402ca24
--- a/src/Core/Banshee.Core/Banshee.Base/Paths.cs
+++ b/src/Core/Banshee.Core/Banshee.Base/Paths.cs
@@@ -30,10 -30,8 +30,10 @@@ using System
using System.IO;
using Mono.Unix;
+using Hyena;
+
using Banshee.Configuration.Schema;
-
+
namespace Banshee.Base
{
public class Paths
diff --cc src/Core/Banshee.Core/Makefile.am
index a41be72,4cba7ba..4dd48bf
--- a/src/Core/Banshee.Core/Makefile.am
+++ b/src/Core/Banshee.Core/Makefile.am
@@@ -12,9 -13,8 +12,7 @@@ SOURCES =
Banshee.Base/Resource.cs \
Banshee.Base/SafeUri.cs \
Banshee.Base/Tests/CoverArtSpecTests.cs \
- Banshee.Base/Tests/FileNamePatternTests.cs \
- Banshee.Base/Tests/TaglibReadWriteTests.cs \
Banshee.Base/UriList.cs \
- Banshee.Base/XdgBaseDirectorySpec.cs \
Banshee.Collection/AlbumInfo.cs \
Banshee.Collection/ArtistInfo.cs \
Banshee.Collection/CacheableItem.cs \
diff --cc src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs
index 7c69fd9,104b4a5..6d9e682
--- a/src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection/FilterListModel.cs
@@@ -66,13 -65,13 +66,13 @@@ namespace Banshee.Collectio
{
Reload (false);
}
-
+
public abstract void Reload (bool notify);
-
+
private void HandleSelectionChanged (object sender, EventArgs args)
{
- Banshee.Base.ThreadAssist.SpawnFromMain (ReloadBrowsingModel);
+ ThreadAssist.SpawnFromMain (ReloadBrowsingModel);
- }
+ }
private void ReloadBrowsingModel ()
{
diff --cc src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
index 4def53e,e2dfa36..8848b86
--- a/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
+++ b/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
@@@ -65,10 -65,10 +65,10 @@@ namespace Banshee.Databas
migrator = new BansheeDbFormatMigrator (this);
configuration = new DatabaseConfigurationClient (this);
-
+
- if (Banshee.Base.ApplicationContext.CommandLine.Contains ("debug-sql")) {
+ if (ApplicationContext.CommandLine.Contains ("debug-sql")) {
Hyena.Data.Sqlite.HyenaSqliteCommand.LogAll = true;
- WarnIfCalledFromThread = Banshee.Base.ThreadAssist.MainThread;
+ WarnIfCalledFromThread = ThreadAssist.MainThread;
}
}
diff --cc src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs
index 2731684,8047be7..9b54cbc
--- a/src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs
+++ b/src/Core/Banshee.Services/Banshee.Library/ThreadPoolImportSource.cs
@@@ -91,10 -91,10 +91,10 @@@ namespace Banshee.Librar
protected void LogError (string path, string msg)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
ErrorSource error_source = ServiceManager.SourceManager.MusicLibrary.ErrorSource;
error_source.AddMessage (path, msg);
-
+
Log.Error (path, msg, false);
});
}
diff --cc src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs
index 4840fe0,7a6ebdd..0df8de3
--- a/src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs
+++ b/src/Core/Banshee.Services/Banshee.Library/VideoLibrarySource.cs
@@@ -71,9 -71,9 +71,9 @@@ namespace Banshee.Librar
protected override bool HasArtistAlbum {
get { return false; }
}
-
+
public override string DefaultBaseDirectory {
- get { return Hyena.XdgBaseDirectorySpec.GetUserDirectory ("XDG_VIDEOS_DIR", "Videos"); }
- get { return Banshee.Base.Paths.GetXdgDirectoryUnderHome ("XDG_VIDEOS_DIR", "Videos"); }
++ get { return Hyena.XdgBaseDirectorySpec.GetXdgDirectoryUnderHome ("XDG_VIDEOS_DIR", "Videos"); }
}
public override IEnumerable<SmartPlaylistDefinition> DefaultSmartPlaylists {
diff --cc src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs
index 72475eb,3f1ab9a..8491a12
--- a/src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs
+++ b/src/Core/Banshee.Services/Banshee.Sources/ErrorSource.cs
@@@ -58,20 -57,20 +58,20 @@@ namespace Banshee.Source
Parent.RemoveChildSource (this);
return true;
}
-
+
private void OnReloaded ()
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
EventHandler handler = Reloaded;
if (handler != null) {
handler (this, EventArgs.Empty);
}
});
}
-
+
private void OnCleared ()
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
EventHandler handler = Cleared;
if (handler != null) {
handler (this, EventArgs.Empty);
diff --cc src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs
index 4538e5b,d89ea3c..94a3701
--- a/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs
+++ b/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs
@@@ -135,10 -133,10 +135,10 @@@ namespace Banshee.Source
{
AddSource(source, false);
}
-
+
public void AddSource(Source source, bool isDefault)
{
- Banshee.Base.ThreadAssist.AssertInMainThread ();
+ ThreadAssist.AssertInMainThread ();
if(source == null || ContainsSource (source)) {
return;
}
@@@ -253,10 -251,10 +253,10 @@@
{
return sources.Contains(source);
}
-
+
private void OnSourceUpdated(object o, EventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
SourceEventHandler handler = SourceUpdated;
if(handler != null) {
SourceEventArgs evargs = new SourceEventArgs();
@@@ -323,10 -321,10 +323,10 @@@
{
SetActiveSource(source, true);
}
-
+
public void SetActiveSource(Source source, bool notify)
{
- Banshee.Base.ThreadAssist.AssertInMainThread ();
+ ThreadAssist.AssertInMainThread ();
if(source == null || !source.CanActivate || active_source == source) {
return;
}
diff --cc src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs
index a12c959,6e2eee8..0b2be32
--- a/src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs
@@@ -30,178 -31,153 +31,155 @@@ using System.Linq
using System.Collections.Generic;
using Gtk;
+using Hyena;
+
+ using Mono.Unix;
using Mono.Addins;
+ using Hyena;
+
namespace Banshee.Addins.Gui
{
- public class AddinView : EventBox
+ public class AddinView : VBox
{
- private List<AddinTile> tiles = new List<AddinTile> ();
- private VBox box = new VBox ();
-
- private int selected_index = -1;
-
+ private TreeView tree_view;
+
public AddinView ()
{
- CanFocus = true;
- VisibleWindow = false;
-
- box.Show ();
- Add (box);
-
- LoadAddins ();
- }
-
- private void LoadAddins ()
- {
- foreach (Addin addin in AddinManager.Registry.GetAddins ()) {
- if (addin.Name != addin.Id && addin.Description != null &&
- addin.Description.Category != null && !addin.Description.Category.StartsWith ("required:") &&
- (!addin.Description.Category.Contains ("Debug") || ApplicationContext.Debugging)) {
- AppendAddin (addin);
- }
- }
-
- if (tiles.Count > 0) {
- tiles[tiles.Count - 1].Last = true;
- }
- }
-
- private bool changing_styles = false;
-
- protected override void OnStyleSet (Style previous_style)
- {
- if (changing_styles) {
- return;
- }
-
- changing_styles = true;
- base.OnStyleSet (previous_style);
- Parent.ModifyBg (StateType.Normal, Style.Base (StateType.Normal));
- changing_styles = false;
- }
-
- private void AppendAddin (Addin addin)
- {
- AddinTile tile = new AddinTile (addin);
- tile.ActiveChanged += OnAddinActiveChanged;
- tile.SizeAllocated += OnAddinSizeAllocated;
- tile.Show ();
- tiles.Add (tile);
-
- box.PackStart (tile, false, false, 0);
- }
-
- private void OnAddinActiveChanged (object o, EventArgs args)
- {
- foreach (AddinTile tile in tiles) {
- tile.UpdateState ();
- }
- }
-
- private void OnAddinSizeAllocated (object o, SizeAllocatedArgs args)
- {
- ScrolledWindow scroll;
-
- if (Parent == null || (scroll = Parent.Parent as ScrolledWindow) == null) {
- return;
- }
-
- AddinTile tile = (AddinTile)o;
-
- if (tiles.IndexOf (tile) != selected_index) {
- return;
- }
-
- Gdk.Rectangle ta = ((AddinTile)o).Allocation;
- Gdk.Rectangle va = new Gdk.Rectangle (0, (int)scroll.Vadjustment.Value,
- Allocation.Width, Parent.Allocation.Height);
-
- if (!va.Contains (ta)) {
- double delta = 0.0;
- if (ta.Bottom > va.Bottom) {
- delta = ta.Bottom - va.Bottom;
- } else if (ta.Top < va.Top) {
- delta = ta.Top - va.Top;
+ var hbox = new HBox () { Spacing = 6 };
+
+ var filter_label = new Label (Catalog.GetString ("Show:"));
+ var filter_combo = ComboBox.NewText ();
+ filter_combo.AppendText (Catalog.GetString ("All"));
+ filter_combo.AppendText (Catalog.GetString ("Enabled"));
+ filter_combo.AppendText (Catalog.GetString ("Not Enabled"));
+ filter_combo.Active = 0;
+
+ var search_label = new Label (Catalog.GetString ("Search:"));
+ var search_entry = new Banshee.Widgets.SearchEntry () {
+ WidthRequest = 160,
+ Visible = true,
+ Ready = true
+ };
+
+ hbox.PackStart (filter_label, false, false, 0);
+ hbox.PackStart (filter_combo, false, false, 0);
+ hbox.PackEnd (search_entry, false, false, 0);
+ hbox.PackEnd (search_label, false, false, 0);
+
+ var model = new TreeStore (typeof(bool), typeof(bool), typeof (string), typeof (Addin));
+
+ var addins = AddinManager.Registry.GetAddins ().Where (a => { return
+ a.Name != a.Id && a.Description != null &&
+ !String.IsNullOrEmpty (a.Description.Category) && !a.Description.Category.StartsWith ("required:") &&
+ (!a.Description.Category.Contains ("Debug") || Banshee.Base.ApplicationContext.Debugging);
+ });
+
+ var categorized_addins = addins.GroupBy<Addin, string> (a => a.Description.Category)
+ .Select (c => new {
+ Addins = c.OrderBy (a => Catalog.GetString (a.Name)).ToList (),
+ Name = c.Key,
+ NameLocalized = Catalog.GetString (c.Key) })
+ .OrderBy (c => c.NameLocalized)
+ .ToList ();
+
+ tree_view = new TreeView () {
+ FixedHeightMode = false,
+ HeadersVisible = false,
+ SearchColumn = 1,
+ RulesHint = true,
+ Model = model
+ };
+
+ var txt_cell = new CellRendererText () { WrapMode = Pango.WrapMode.Word };
+ tree_view.AppendColumn ("Name", txt_cell , "markup", Columns.Name);
+
+ var check_cell = new CellRendererToggle () { Activatable = true };
+ tree_view.AppendColumn ("Enable", check_cell, "visible", Columns.IsAddin, "active", Columns.IsEnabled);
+ check_cell.Toggled += (o, a) => {
+ TreeIter iter;
+ if (model.GetIter (out iter, new TreePath (a.Path))) {
+ var addin = model.GetValue (iter, 3) as Addin;
+ bool enabled = (bool) model.GetValue (iter, 1);
+ addin.Enabled = !enabled;
+ model.SetValue (iter, 1, addin.Enabled);
}
- scroll.Vadjustment.Value += delta;
- QueueDraw();
- }
- }
-
- protected override bool OnButtonPressEvent (Gdk.EventButton evnt)
- {
- HasFocus = true;
-
- ClearSelection ();
-
- for (int i = 0; i < tiles.Count; i++) {
- if (tiles[i].Allocation.Contains ((int)evnt.X, (int)evnt.Y)) {
- Select (i);
- break;
+ };
+
+ var update_model = new System.Action (() => {
+ string search = search_entry.Query;
+ bool? enabled = filter_combo.Active > 0 ? (bool?) (filter_combo.Active == 1 ? true : false) : null;
+ model.Clear ();
+ foreach (var cat in categorized_addins) {
+ var cat_iter = model.AppendValues (false, false, String.Format ("<b>{0}</b>", GLib.Markup.EscapeText (cat.NameLocalized)), null);
+ bool any = false;
+ foreach (var a in cat.Addins.Matching (search)) {
+ if (enabled == null || (a.Enabled == enabled.Value)) {
+ model.AppendValues (cat_iter, true,
+ a.Enabled,
+ String.Format (
+ "<b>{0}</b>\n<small>{1}</small>",
+ GLib.Markup.EscapeText (Catalog.GetString (a.Name)),
+ GLib.Markup.EscapeText (Catalog.GetString (a.Description.Description))),
+ a
+ );
+ any = true;
+ }
+ }
+
+ if (!any) {
+ model.Remove (ref cat_iter);
+ }
}
- }
-
- QueueDraw ();
-
- return base.OnButtonPressEvent (evnt);
- }
-
- protected override bool OnKeyPressEvent (Gdk.EventKey evnt)
- {
- int index = selected_index;
-
- switch (evnt.Key) {
- case Gdk.Key.Up:
- case Gdk.Key.uparrow:
- index--;
- if (index < 0) {
- index = 0;
- }
- break;
- case Gdk.Key.Down:
- case Gdk.Key.downarrow:
- index++;
- if (index > tiles.Count - 1) {
- index = tiles.Count - 1;
- }
- break;
- }
-
- if (index != selected_index) {
- ClearSelection ();
- Select (index);
- return true;
- }
-
- return base.OnKeyPressEvent (evnt);
+ tree_view.ExpandAll ();
+ });
+
+ update_model ();
+ search_entry.Changed += (o, a) => update_model ();
+ filter_combo.Changed += (o, a) => update_model ();
+
+ var tree_scroll = new Gtk.ScrolledWindow () {
+ HscrollbarPolicy = PolicyType.Never
+ };
+ tree_scroll.AddWithViewport (tree_view);
+
+ Spacing = 6;
+ PackStart (hbox, false, false, 0);
+ PackStart (tree_scroll, true, true, 0);
+ ShowAll ();
+ search_entry.InnerEntry.GrabFocus ();
+
+ txt_cell.WrapWidth = 300;
}
-
- private void Select (int index)
+
+ private enum Columns : int {
+ IsAddin,
+ IsEnabled,
+ Name,
+ Addin
+ };
+ }
+
+ internal static class AddinExtensions
+ {
+ public static IEnumerable<Addin> Matching (this IEnumerable<Addin> addins, string search)
{
- if (index >= 0 && index < tiles.Count) {
- selected_index = index;
- tiles[index].Select (true);
- } else {
- ClearSelection ();
- }
-
- if (Parent != null && Parent.IsRealized) {
- Parent.GdkWindow.InvalidateRect (Parent.Allocation, true);
+ search = StringUtil.SearchKey (search);
+ if (String.IsNullOrEmpty (search)) {
+ return addins;
}
-
- QueueResize ();
+
+ return addins.Where (a => a.MatchStrings ().Any (s => {
+ return StringUtil.SearchKey (s).Contains (search) ||
+ StringUtil.SearchKey (Catalog.GetString (s)).Contains (search);
+ }));
}
-
- private void ClearSelection ()
+
+ public static IEnumerable<string> MatchStrings (this Addin a)
{
- if (selected_index >= 0 && selected_index < tiles.Count) {
- tiles[selected_index].Select (false);
- }
-
- selected_index = -1;
+ yield return a.Name;
+ yield return a.Description.Description;
+ yield return a.Description.Category;
}
}
}
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/ConfirmShutdownDialog.cs
index 6a98a31,013a600..ca71490
--- a/src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/ConfirmShutdownDialog.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui.Dialogs/ConfirmShutdownDialog.cs
@@@ -100,9 -99,9 +100,9 @@@ namespace Banshee.Gui.Dialog
if(!ListView.Model.IterNthChild(out iter, i)) {
break;
}
-
+
if(ListView.Model.GetValue(iter, 1) == job) {
- Banshee.Base.ThreadAssist.ProxyToMain(delegate {
+ ThreadAssist.ProxyToMain(delegate {
(ListView.Model as ListStore).Remove(ref iter);
});
break;
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs
index b3724cc,d6223ad..b42fa42
--- a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTile.cs
@@@ -55,9 -55,9 +55,9 @@@ namespace Banshee.Gui.Widget
private uint update_delay_id;
private uint progress_bounce_id;
private object tooltips;
-
+
- Banshee.Widgets.HigMessageDialog cancel_dialog;
+ Hyena.Widgets.HigMessageDialog cancel_dialog;
-
+
public UserJobTile (Job job) : base (3, 2, false)
{
this.job = job;
@@@ -131,8 -131,8 +131,8 @@@
if (ServiceManager.Contains<GtkElementsService> ()) {
parent = ServiceManager.Get<GtkElementsService> ().PrimaryWindow;
}
-
- cancel_dialog = new Hyena.Widgets.HigMessageDialog (parent,
+
- cancel_dialog = new Banshee.Widgets.HigMessageDialog (parent,
++ cancel_dialog = new Hyena.Widgets.HigMessageDialog (parent,
DialogFlags.Modal, MessageType.Question, ButtonsType.None,
job.Title == null
? Catalog.GetString ("Stop Operation")
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs
index edcc920,105018e..31a8bc3
--- a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/UserJobTileHost.cs
@@@ -45,12 -45,12 +45,12 @@@ namespace Banshee.Gui.Widget
private AnimatedVBox box;
private Dictionary<Job, UserJobTile> job_tiles = new Dictionary<Job, UserJobTile> ();
private Dictionary<Job, DateTime> job_start_times = new Dictionary<Job, DateTime> ();
-
+
public UserJobTileHost () : base (0.0f, 0.0f, 1.0f, 1.0f)
{
- Banshee.Base.ThreadAssist.AssertInMainThread ();
+ ThreadAssist.AssertInMainThread ();
LeftPadding = 4;
-
+
box = new AnimatedVBox ();
box.StartPadding = 8;
box.Spacing = 8;
@@@ -79,9 -79,9 +79,9 @@@
if (job == null || job.IsFinished) {
return;
}
-
+
if ((job.DelayShow && job.Progress < 0.33) || !job.DelayShow) {
- Banshee.Base.ThreadAssist.AssertInMainThread ();
+ ThreadAssist.AssertInMainThread ();
UserJobTile tile = new UserJobTile (job);
job_tiles.Add (job, tile);
job_start_times.Add (job, DateTime.Now);
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs
index e1bbdf5,20edfac..fb76d61
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/BansheeActionGroup.cs
@@@ -49,8 -54,8 +49,8 @@@ namespace Banshee.Gu
: this (ServiceManager.Get<InterfaceActionService> (), name)
{
}
-
+
- public BansheeActionGroup (InterfaceActionService action_service, string name) : base (name)
+ public BansheeActionGroup (InterfaceActionService action_service, string name) : base (action_service, name)
{
this.action_service = action_service;
}
@@@ -89,7 -180,38 +89,7 @@@
}
}
}
-
+
- public static void UpdateAction (Gtk.Action action, bool visible_and_sensitive)
- {
- UpdateAction (action, visible_and_sensitive, visible_and_sensitive);
- }
-
- public static void UpdateAction (Gtk.Action action, bool visible, bool sensitive)
- {
- action.Visible = visible;
- action.Sensitive = visible && sensitive;
- }
-
- protected void ShowContextMenu (string menu_name)
- {
- Gtk.Menu menu = Actions.UIManager.GetWidget (menu_name) as Menu;
- if (menu == null || menu.Children.Length == 0) {
- return;
- }
-
- int visible_children = 0;
- foreach (Widget child in menu)
- if (child.Visible)
- visible_children++;
-
- if (visible_children == 0) {
- return;
- }
-
- menu.Show ();
- menu.Popup (null, null, null, 0, Gtk.Global.CurrentEventTime);
- }
-
public InterfaceActionService Actions {
get { return action_service; }
}
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
index 44b0ee8,ff88c29..032a4e6
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/GtkBaseClient.cs
@@@ -108,9 -119,11 +119,12 @@@ namespace Banshee.Gu
Gtk.Window.DefaultIconName = default_icon_name;
ThreadAssist.InitializeMainThread ();
+ ThreadAssist.ProxyToMainHandler = Banshee.ServiceStack.Application.Invoke;
-
+
Gdk.Global.ProgramClass = Application.InternalName;
+ #if HAVE_GLIBSHARP_2_12_7
+ GLib.Global.ApplicationName = "Banshee";
+ #endif
if (ApplicationContext.Debugging) {
GLib.Log.SetLogHandler ("Gtk", GLib.LogLevelFlags.Critical, GLib.Log.PrintTraceLogFunction);
@@@ -208,10 -221,10 +222,10 @@@
mtype = Gtk.MessageType.Error;
break;
}
-
+
- Banshee.Widgets.HigMessageDialog dialog = new Banshee.Widgets.HigMessageDialog (
+ Hyena.Widgets.HigMessageDialog dialog = new Hyena.Widgets.HigMessageDialog (
window, Gtk.DialogFlags.Modal, mtype, Gtk.ButtonsType.Close, entry.Message, entry.Details);
-
+
dialog.Title = String.Empty;
dialog.Run ();
dialog.Destroy ();
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs
index cf4a5c1,a0ac3df..48d8a57
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs
@@@ -52,12 -54,14 +52,12 @@@ namespace Banshee.Gu
private PlaybackActions playback_actions;
private TrackActions track_actions;
private SourceActions source_actions;
-
+
private BansheeActionGroup active_source_actions;
private uint active_source_uiid = 0;
-
- public InterfaceActionService () : base ()
+
+ public InterfaceActionService ()
{
- ui_manager = new UIManager ();
-
ServiceManager.SourceManager.ActiveSourceChanged += OnActiveSourceChanged;
}
@@@ -83,10 -179,10 +83,10 @@@
private void OnActiveSourceChangedGui ()
{
if (active_source_uiid > 0) {
- ui_manager.RemoveUi (active_source_uiid);
+ UIManager.RemoveUi (active_source_uiid);
active_source_uiid = 0;
}
-
+
if (active_source_actions != null) {
RemoveActionGroup (active_source_actions.Name);
active_source_actions = null;
@@@ -135,6 -231,29 +135,32 @@@
}
}
++<<<<<<< HEAD:src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs
++=======
+ public uint AddUiFromFileInCurrentAssembly (string ui_file)
+ {
+ return AddUiFromFile (ui_file, Assembly.GetCallingAssembly ());
+ }
+
+ public uint AddUiFromFile (string ui_file, Assembly assembly)
+ {
+ if (ui_file != null) {
+ using (StreamReader reader = new StreamReader (assembly.GetManifestResourceStream (ui_file))) {
+ return ui_manager.AddUiFromString (reader.ReadToEnd ());
+ }
+ }
+ return 0;
+ }
+
+ public Action this[string actionId] {
+ get { return FindAction (actionId); }
+ }
+
+ public UIManager UIManager {
+ get { return ui_manager; }
+ }
+
++>>>>>>> master:src/Core/Banshee.ThickClient/Banshee.Gui/InterfaceActionService.cs
public GlobalActions GlobalActions {
get { return global_actions; }
}
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
index 824c26f,c0a3d88..4af7a7d
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs
@@@ -135,9 -135,9 +135,9 @@@ namespace Banshee.Gu
private void HandleActiveSourceChanged (SourceEventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
UpdateActions ();
-
+
if (last_source != null) {
last_source.Updated -= HandleActiveSourceUpdated;
}
@@@ -152,10 -152,10 +152,10 @@@
{
UpdateActions ();
}
-
+
private void HandleActiveSourceUpdated (object o, EventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
UpdateActions (true);
});
}
@@@ -409,8 -409,8 +409,8 @@@
if (do_not_ask) {
return true;
}
-
+
- Banshee.Widgets.HigMessageDialog dialog = new Banshee.Widgets.HigMessageDialog (
+ Hyena.Widgets.HigMessageDialog dialog = new Hyena.Widgets.HigMessageDialog (
ServiceManager.Get<GtkElementsService> ("GtkElementsService").PrimaryWindow,
Gtk.DialogFlags.Modal,
Gtk.MessageType.Question,
diff --cc src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
index 374e676,475883f..775f0d4
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/TrackActions.cs
@@@ -142,8 -140,8 +142,8 @@@ namespace Banshee.Gu
new_source.TrackModel.Selection.Changed += HandleSelectionChanged;
current_source = new_source;
}
-
+
- Banshee.Base.ThreadAssist.ProxyToMain (UpdateActions);
+ ThreadAssist.ProxyToMain (UpdateActions);
}
private void HandleActionsChanged (object sender, EventArgs args)
diff --cc src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs
index 838c63e,722abcd..6df7fc5
--- a/src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Library.Gui/ImportDialog.cs
@@@ -31,8 -31,9 +31,11 @@@ using System.Collections.Generic
using Gtk;
using Glade;
+using Hyena;
+
+ using Mono.Unix;
+
+ using Banshee.Configuration.Schema;
using Banshee.Sources;
using Banshee.ServiceStack;
using Banshee.Gui;
diff --cc src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs
index 0b22597,866a6c4..126f132
--- a/src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.SmartPlaylist.Gui/Editor.cs
@@@ -5,10 -5,9 +5,10 @@@ using Glade
using Mono.Unix;
+using Hyena;
using Hyena.Query;
using Hyena.Query.Gui;
-
+
using Banshee.Base;
using Banshee.Query;
using Banshee.ServiceStack;
diff --cc src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs
index 5dbacfd,8e7c30e..f4e32d2
--- a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/FilteredListSourceContents.cs
@@@ -131,9 -130,9 +131,9 @@@ namespace Banshee.Sources.Gu
(action_service.FindAction("BrowserView.BrowserTopAction") as RadioAction).Changed += OnViewModeChanged;
action_service.FindAction("BrowserView.BrowserVisibleAction").Activated += OnToggleBrowser;
}
-
+
ServiceManager.SourceManager.ActiveSourceChanged += delegate {
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
browser_container.Visible = ActiveSourceCanHasBrowser ? BrowserVisible.Get () : false;
});
};
diff --cc src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs
index f166aa1,2e9b945..590620f
--- a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceComboBox.cs
@@@ -46,21 -44,21 +46,21 @@@ namespace Banshee.Sources.Gu
renderer.ParentWidget = this;
PackStart (renderer, true);
SetCellDataFunc (renderer, new CellLayoutDataFunc (SourceRowRenderer.CellDataHandler));
-
+
store = new SourceModel ();
Model = store;
-
- ServiceManager.SourceManager.ActiveSourceChanged += delegate {
+
+ ServiceManager.SourceManager.ActiveSourceChanged += delegate {
- Banshee.Base.ThreadAssist.ProxyToMain (UpdateActiveSource);
+ ThreadAssist.ProxyToMain (UpdateActiveSource);
};
-
+
ServiceManager.SourceManager.SourceUpdated += delegate {
- ThreadAssist.ProxyToMain (QueueDraw);
- Banshee.Base.ThreadAssist.ProxyToMain (QueueDraw);
++ ThreadAssist.ProxyToMain (QueueDraw);
};
-
+
store.Refresh ();
}
-
+
public void UpdateActiveSource ()
{
lock (this) {
diff --cc src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs
index a81a9e7,c61865b..62fcb72
--- a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceModel.cs
@@@ -86,17 -84,17 +86,17 @@@ namespace Banshee.Sources.Gu
ServiceManager.SourceManager.SourceRemoved -= OnSourceRemoved;
base.Dispose ();
}
-
+
private void OnSourceAdded (SourceAddedArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
AddSource (args.Source);
});
}
-
+
private void OnSourceRemoved (SourceEventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
RemoveSource (args.Source);
});
}
@@@ -268,17 -266,17 +268,17 @@@
AddSource (source);
}
}
-
+
private void OnSourceChildSourceAdded (SourceEventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
AddSource (args.Source, FindSource (args.Source.Parent));
});
}
-
+
private void OnSourceChildSourceRemoved (SourceEventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
RemoveSource (args.Source);
});
}
diff --cc src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
index e41e309,a245b42..2586b27
--- a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
@@@ -104,11 -105,11 +106,11 @@@ namespace Banshee.Sources.Gu
private void ConnectEvents ()
{
ServiceManager.SourceManager.ActiveSourceChanged += delegate (SourceEventArgs args) {
- Banshee.Base.ThreadAssist.ProxyToMain (ResetSelection);
+ ThreadAssist.ProxyToMain (ResetSelection);
};
-
+
ServiceManager.SourceManager.SourceUpdated += delegate (SourceEventArgs args) {
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
lock (args.Source) {
TreeIter iter = store.FindSource (args.Source);
if (!TreeIter.Zero.Equals (iter)) {
@@@ -118,13 -119,13 +120,13 @@@
}
});
};
-
+
ServiceManager.PlaybackController.NextSourceChanged += delegate {
- Banshee.Base.ThreadAssist.ProxyToMain (QueueDraw);
+ ThreadAssist.ProxyToMain (QueueDraw);
};
-
+
notify_stage.ActorStep += delegate (Actor<TreeIter> actor) {
- Banshee.Base.ThreadAssist.AssertInMainThread ();
+ ThreadAssist.AssertInMainThread ();
if (!store.IterIsValid (actor.Target)) {
return false;
}
@@@ -335,10 -336,10 +337,10 @@@
TreePath path = store.GetPath (iter);
ExpandRow (path, true);
}
-
+
private void OnSourceUserNotifyUpdated (object o, EventArgs args)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
TreeIter iter = store.FindSource ((Source)o);
if (iter.Equals (TreeIter.Zero)) {
return;
diff --cc src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs
index c729704,6fd148e..7a62e3c
--- a/src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs
+++ b/src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapInfoBar.cs
@@@ -97,10 -96,13 +97,13 @@@ namespace Banshee.Dap.Gu
? Catalog.GetString ("None")
: new Hyena.Query.FileSizeQueryValue (size).ToUserQuery ();
}
-
+
private void OnSourceUpdated (object o, EventArgs args)
{
+ if (source.Sync.Syncing)
+ return;
+
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
try {
UpdateUsage ();
} catch (Exception e) {
diff --cc src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs
index 3a8258d,e487721..dd3395e
--- a/src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs
+++ b/src/Extensions/Banshee.CoverArt/Banshee.CoverArt/CoverArtService.cs
@@@ -91,17 -90,17 +91,17 @@@ namespace Banshee.CoverAr
if (action_service == null || ServiceManager.SourceManager.MusicLibrary == null) {
return false;
}
-
+
Initialize ();
-
+
return true;
}
-
+
private void Initialize ()
- {
+ {
- Banshee.Base.ThreadAssist.AssertInMainThread ();
+ ThreadAssist.AssertInMainThread ();
actions = new ActionGroup ("CoverArt");
-
+
ActionEntry[] action_list = new ActionEntry [] {
new ActionEntry ("CoverArtAction", null,
Catalog.GetString ("_Cover Art"), null,
diff --cc src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs
index aeab42d,c1f1748..4f2084d
--- a/src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs
+++ b/src/Extensions/Banshee.FileSystemQueue/Banshee.FileSystemQueue/FileSystemQueueSource.cs
@@@ -73,25 -73,25 +73,25 @@@ namespace Banshee.FileSystemQueu
Catalog.GetString ("Remove all tracks from the file system queue"),
OnClearFileSystemQueue)
);
-
+
uia_service.GlobalActions.Add (new ToggleActionEntry [] {
new ToggleActionEntry ("ClearFileSystemQueueOnQuitAction", null,
- Catalog.GetString ("Clear on Quit"), null,
- Catalog.GetString ("Clear the file system queue when quitting"),
+ Catalog.GetString ("Clear on Quit"), null,
+ Catalog.GetString ("Clear the file system queue when quitting"),
OnClearFileSystemQueueOnQuit, ClearOnQuitSchema.Get ())
});
-
+
uia_service.UIManager.AddUiFromResource ("GlobalUI.xml");
-
+
Properties.SetString ("ActiveSourceUIResource", "ActiveSourceUI.xml");
Properties.SetString ("GtkActionPath", "/FileSystemQueueContextMenu");
-
+
actions_loaded = true;
-
+
UpdateActions ();
- ServiceManager.SourceManager.ActiveSourceChanged += delegate { Banshee.Base.ThreadAssist.ProxyToMain (UpdateActions); };
+ ServiceManager.SourceManager.ActiveSourceChanged += delegate { ThreadAssist.ProxyToMain (UpdateActions); };
TrackModel.Reloaded += OnTrackModelReloaded;
-
+
Reload ();
play_enqueued = ApplicationContext.CommandLine.Contains ("play-enqueued");
diff --cc src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs
index 8c846f5,dca4ebe..1726a57
--- a/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs
+++ b/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs
@@@ -265,14 -265,14 +265,14 @@@ namespace Banshee.Lastfm.Recommendation
Log.Exception (e);
}
}
-
- private void UpdateForArtist (string artist_name, LastfmData<SimilarArtist> similar_artists,
+
+ private void UpdateForArtist (string artist_name, LastfmData<SimilarArtist> similar_artists,
LastfmData<ArtistTopAlbum> top_albums, LastfmData<ArtistTopTrack> top_tracks)
{
- Banshee.Base.ThreadAssist.ProxyToMain (delegate {
+ ThreadAssist.ProxyToMain (delegate {
album_box.Title = String.Format (album_title_format, artist);
track_box.Title = String.Format (track_title_format, artist);
-
+
similar_artists_view.ClearWidgets ();
ClearBox (album_list);
ClearBox (track_list);
diff --cc src/Libraries/Hyena.Gui/Hyena.Gui/DragDropList.cs
index 4a89dea,5525d8f..d3d297a
--- a/src/Libraries/Hyena.Gui/Hyena.Gui/DragDropList.cs
+++ b/src/Libraries/Hyena.Gui/Hyena.Gui/DragDropList.cs
@@@ -33,8 -33,8 +33,8 @@@ using System.Collections.Generic
using System.Runtime.InteropServices;
using Gtk;
-namespace Banshee.Gui.DragDrop
+namespace Hyena.Gui
- {
+ {
public class DragDropList<T> : List<T>
{
public DragDropList() : base()
diff --cc src/Libraries/Hyena.Gui/Hyena.Widgets/HigMessageDialog.cs
index 15910cc,c945774..338dc8e
--- a/src/Libraries/Hyena.Gui/Hyena.Widgets/HigMessageDialog.cs
+++ b/src/Libraries/Hyena.Gui/Hyena.Widgets/HigMessageDialog.cs
@@@ -1,38 -1,35 +1,37 @@@
-
-/***************************************************************************
- * HigMessageDialog.cs
- ****************************************************************************/
-
-/* THIS FILE IS LICENSED UNDER THE MIT LICENSE AS OUTLINED IMMEDIATELY BELOW:
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
+//
+// HigMessageDialog.cs
+//
+// Authors:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2007 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
-
+
using System;
-namespace Banshee.Widgets
+namespace Hyena.Widgets
{
public class HigMessageDialog : Gtk.Dialog
- {
- private Gtk.AccelGroup accel_group;
+ {
private Gtk.Image image;
private Gtk.VBox label_vbox;
private Gtk.Label message_label;
diff --cc src/Libraries/Hyena.Gui/Makefile.am
index 6ef948d,e458867..ce3f55a
--- a/src/Libraries/Hyena.Gui/Makefile.am
+++ b/src/Libraries/Hyena.Gui/Makefile.am
@@@ -80,8 -86,7 +89,9 @@@ SOURCES =
Hyena.Widgets/AnimatedVBox.cs \
Hyena.Widgets/AnimatedWidget.cs \
Hyena.Widgets/ComplexMenuItem.cs \
+ Hyena.Widgets/GenericToolItem.cs \
+ Hyena.Widgets/HigMessageDialog.cs \
+ Hyena.Widgets/EntryPopup.cs \
Hyena.Widgets/ImageButton.cs \
Hyena.Widgets/MenuButton.cs \
Hyena.Widgets/MessageBar.cs \
diff --cc src/Libraries/Hyena/Hyena.Collections/LruCache.cs
index b644bea,dae70dc..ef80b23
--- a/src/Libraries/Hyena/Hyena.Collections/LruCache.cs
+++ b/src/Libraries/Hyena/Hyena.Collections/LruCache.cs
@@@ -61,15 -58,10 +61,15 @@@ namespace Hyena.Collection
public LruCache () : this (1024)
{
}
-
+
- public LruCache (int maxCount)
+ public LruCache (int maxCount) : this (maxCount, null)
+ {
+ }
+
+ public LruCache (int maxCount, double? minimumHitRatio)
{
max_count = maxCount;
+ minimum_hit_ratio = minimumHitRatio;
cache = new Dictionary<TKey, CacheEntry<TKey, TValue>> ();
}
@@@ -88,9 -80,6 +88,9 @@@
Ref (ref entry);
cache.Add (key, entry);
+ misses++;
+ EnsureMinimumHitRatio ();
-
++
if (Count >= max_count) {
TKey expire = FindOldestEntry ();
ExpireItem (cache[expire].Value);
@@@ -124,24 -113,14 +124,24 @@@
value = entry.Value;
Ref (ref entry);
cache[key] = entry;
+ hits++;
return true;
}
-
+
+ misses++;
+ EnsureMinimumHitRatio ();
value = default (TValue);
return false;
}
}
+ private void EnsureMinimumHitRatio ()
+ {
+ if (minimum_hit_ratio != null && Count >= MaxCount && HitRatio < minimum_hit_ratio) {
+ MaxCount = Count + 1;
+ }
+ }
-
++
private void Ref (ref CacheEntry<TKey, TValue> entry)
{
entry.LastUsed = DateTime.Now;
diff --cc src/Libraries/Hyena/Hyena/UndoManager.cs
index 95d6719,810d4cb..f702a77
--- a/src/Libraries/Hyena/Hyena/UndoManager.cs
+++ b/src/Libraries/Hyena/Hyena/UndoManager.cs
@@@ -124,24 -128,8 +124,24 @@@ namespace Hyen
get { return undo_stack.Count > 0; }
}
- public bool CanRedo {
+ public bool CanRedo {
get { return redo_stack.Count > 0; }
}
+
+ public IUndoAction UndoAction {
+ get {
+ lock (this) {
+ return CanUndo ? undo_stack.Peek () : null;
+ }
+ }
+ }
+
+ public IUndoAction RedoAction {
+ get {
+ lock (this) {
+ return CanRedo ? redo_stack.Peek () : null;
+ }
+ }
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]