[banshee/grid: 343/346] Merged master branch into grid



commit 5026b036e5c89bcd7470fdea27598ed995548ffe
Merge: 24916a2 079af2a
Author: Aaron Bockover <abockover novell com>
Date:   Tue Mar 9 13:33:25 2010 -0500

    Merged master branch into grid

 .gitattributes                                     |    5 +-
 AUTHORS                                            |  132 +-
 Banshee.sln                                        |  115 +-
 MAINTAINERS                                        |    8 +
 Makefile.am                                        |   14 +
 NEWS                                               |  185 +-
 banshee.doap                                       |   22 +-
 bootstrap-bundle                                   |    6 +-
 build/build.environment.mk                         |    7 +-
 build/build.rules.mk                               |    4 +-
 build/bundle/bockbuild/package.py                  |   16 +-
 build/bundle/bockbuild/profile.py                  |   56 +-
 build/bundle/packages.py                           |    8 +-
 build/bundle/packages/banshee.py                   |   55 +-
 build/bundle/packages/cairo.py                     |    2 +-
 build/bundle/packages/fontconfig.py                |    2 +-
 build/bundle/packages/glib.py                      |    2 +-
 build/bundle/packages/gst-plugins-base.py          |    2 +-
 build/bundle/packages/gst-plugins-good.py          |    2 +-
 build/bundle/packages/gstreamer.py                 |    2 +-
 build/bundle/packages/gtk+.py                      |    9 +-
 build/bundle/packages/ige-mac-integration-sharp.py |    3 -
 build/bundle/packages/libglade.py                  |    1 -
 build/bundle/packages/libtheora.py                 |    2 +-
 build/bundle/packages/monobjc.py                   |   61 +
 build/bundle/packages/pango.py                     |    7 +
 .../banshee-1.5.4-ige-mac-integration.patch        |   94 +
 .../packages/patches/mono-runtime-relocation.patch |    6 +-
 build/bundle/packages/patches/monobjc/Makefile     |   30 +
 .../packages/patches/monobjc/PkgConfigGenerator.cs |   39 +
 .../monobjc/nant-disable-native-enable-debug.patch |   29 +
 .../monobjc/remove-executable-path-dllimport.patch |   61 +
 build/bundle/packages/pixman.py                    |    2 +-
 build/bundle/packages/sqlite.py                    |    2 +-
 build/bundle/packages/taglib-sharp.py              |    2 +-
 build/bundle/packages/taglib.py                    |    2 +-
 build/bundle/profile.darwin.py                     |    2 +
 build/bundle/profile.mingw-cross.py                |    5 +-
 build/bundle/skeleton.darwin/Contents/Info.plist   |    6 +-
 .../skeleton.darwin/Contents/Resources/bin/gmcs    |    2 +
 .../Contents/Resources/etc/gtk-2.0/gtkrc           |    7 +
 .../Contents/Resources/etc/gtk-2.0/gtkrc.key.mac   |  120 +
 build/m4/banshee/gdata.m4                          |   17 +
 build/m4/banshee/gnome-sharp.m4                    |    5 -
 build/m4/banshee/gtk-sharp.m4                      |    3 +-
 build/m4/banshee/osx.m4                            |   23 +-
 build/m4/banshee/taglib.m4                         |    2 +-
 build/m4/banshee/webkit.m4                         |    2 +-
 build/m4/shamrock/monodoc.m4                       |    2 +-
 build/osx/README                                   |   61 -
 build/osx/app-bundle-data/Contents/Info.plist      |   12 -
 build/osx/app-bundle-data/Contents/MacOS/banshee   |   43 -
 .../osx/app-bundle-data/Contents/MacOS/gst-inspect |    6 -
 .../osx/app-bundle-data/Contents/MacOS/gst-launch  |    6 -
 .../osx/app-bundle-data/Contents/MacOS/runtime.env |    9 -
 .../Contents/Resources/banshee.icns                |  Bin 165218 -> 0 bytes
 build/osx/make-app-bundle.sh                       |   67 -
 build/osx/make-dmg-bundle.sh                       |    6 +-
 build/osx/release.sh                               |   53 -
 configure.ac                                       |   28 +-
 data/addin-xml-strings.cs                          |    5 +
 data/desktop-files/Makefile.am                     |    5 +-
 .../{common.desktop => common.desktop.in}          |    3 +-
 extras/create-authors                              |   32 +
 {build => extras}/create-contributors-paragraph    |    6 +-
 extras/metrics.py                                  |   49 +
 extras/metrics/Database.cs                         |  136 +
 extras/metrics/Main.cs                             |   47 +
 extras/metrics/Makefile.am                         |   13 +
 extras/metrics/MetaMetrics.cs                      |  173 +
 extras/metrics/Metric.cs                           |  158 +
 extras/metrics/MultiUserSample.cs                  |   84 +
 extras/metrics/fetch-metrics                       |   11 +
 extras/metrics/metrics.csproj                      |   54 +
 extras/perf-analyze-log                            |   39 +-
 libbanshee/banshee-player-private.h                |    1 +
 libbanshee/banshee-player-video.c                  |   28 +-
 libbanshee/libbanshee.cproj                        |    3 +-
 po/POTFILES.in                                     |   17 +-
 po/cs.po                                           | 4574 ++++++---
 po/de.po                                           | 3532 +++++--
 po/en_GB.po                                        | 3446 +++++--
 po/es.po                                           | 2041 +++--
 po/fr.po                                           | 5240 +++++++----
 po/hu.po                                           | 3184 +++++--
 po/it.po                                           |  916 +-
 po/ja.po                                           | 9885 +++++++++++++-------
 po/lt.po                                           | 3077 +++++--
 po/pt.po                                           | 3203 +++++--
 po/pt_BR.po                                        | 3718 +++++---
 po/sl.po                                           | 1401 ++--
 po/sr.po                                           | 3668 +++++---
 po/sr latin po                                     | 3654 +++++---
 po/sv.po                                           |  501 +-
 .../Banshee.GStreamer/Banshee.GStreamer.csproj     |   27 +-
 .../Banshee.GStreamer/PlayerEngine.cs              |   10 +
 .../Banshee.GStreamer/Banshee.GStreamer/Service.cs |   16 +-
 src/Backends/Banshee.Gio/Banshee.Gio.csproj        |   39 +-
 .../Banshee.Gio/Banshee.IO.Gio/Directory.cs        |    4 +-
 src/Backends/Banshee.Gnome/Banshee.Gnome.csproj    |   36 +-
 .../Banshee.GnomeBackend/GnomeService.cs           |    4 +-
 src/Backends/Banshee.Hal/Banshee.Hal.csproj        |   28 +-
 .../Banshee.NowPlaying.X11.csproj                  |   27 +-
 src/Backends/Banshee.Osx/Banshee.Osx.addin.xml     |    2 +-
 src/Backends/Banshee.Osx/Banshee.Osx.csproj        |   98 +
 .../Banshee.Osx/Banshee.OsxBackend/OsxService.cs   |  132 +-
 src/Backends/Banshee.Osx/Makefile.am               |   17 +-
 .../OsxIntegration.Framework/AppleEvent.cs         |   41 +
 .../OsxIntegration.Framework/ApplicationEvents.cs  |  219 +
 .../Banshee.Osx/OsxIntegration.Framework/Carbon.cs |  692 ++
 .../OsxIntegration.Framework/CoreFoundation.cs     |   95 +
 .../OsxIntegration.Framework/HIToolbox.cs          |  713 ++
 .../OsxIntegration.Framework/NavDialog.cs          |  513 +
 .../Banshee.Osx/OsxIntegration.Ige/IgeMacMenu.cs   |   74 +
 .../OsxIntegration.Ige/IgeMacMenuGroup.cs          |   54 +
 .../Resources/osx-ui-actions-layout.xml            |   10 -
 .../Banshee.Unix/Banshee.IO.Unix/Directory.cs      |   39 +-
 src/Backends/Banshee.Unix/Banshee.Unix.csproj      |   30 +-
 src/Clients/Beroe/Beroe.csproj                     |   28 +-
 src/Clients/Booter/Booter.csproj                   |   37 +-
 src/Clients/Booter/Booter/Entry.cs                 |    2 +-
 src/Clients/Booter/banshee-1.darwin.in             |   16 +-
 src/Clients/Booter/banshee-1.linux.in              |    2 +-
 src/Clients/Halie/Halie.csproj                     |   34 +-
 src/Clients/Halie/Halie/Client.cs                  |   11 +
 src/Clients/Muinshee/Muinshee.csproj               |   48 +-
 src/Clients/Muinshee/Muinshee/BaseDialog.cs        |    6 +-
 src/Clients/Muinshee/Muinshee/PlayerInterface.cs   |   15 +
 src/Clients/Nereid/Nereid.csproj                   |   46 +-
 src/Clients/Nereid/Nereid/PlayerInterface.cs       |   81 +-
 src/Clients/Nereid/Nereid/ViewContainer.cs         |   11 +-
 .../Banshee.CollectionIndexer.csproj               |   20 +-
 src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs |   66 +-
 .../Banshee.Core/Banshee.Base/FileNamePattern.cs   |  149 +-
 src/Core/Banshee.Core/Banshee.Base/PathPattern.cs  |  188 +
 src/Core/Banshee.Core/Banshee.Base/SafeUri.cs      |   18 +
 .../Banshee.Base/Tests/CoverArtSpecTests.cs        |   50 +-
 .../Banshee.Core/Banshee.Collection/TrackInfo.cs   |   25 +-
 .../Banshee.Configuration/SchemaEntry.cs           |   15 +
 .../XmlConfigurationClient.cs                      |   15 +-
 src/Core/Banshee.Core/Banshee.Core.csproj          |   56 +-
 .../Banshee.IO/DirectoryScannerPipelineElement.cs  |   22 +-
 .../Banshee.Streaming/StreamRatingTagger.cs        |   39 +-
 .../Banshee.Core/Banshee.Streaming/StreamTagger.cs |   18 +-
 src/Core/Banshee.Core/Makefile.am                  |    1 +
 src/Core/Banshee.Core/Resources/contributors.xml   |    9 +-
 src/Core/Banshee.Core/Resources/translators.xml    |   13 +-
 .../DatabaseTrackInfo.cs                           |   18 +-
 .../DatabaseTrackListModel.cs                      |   19 +-
 .../DatabaseTrackModelCache.cs                     |    9 +-
 .../IDatabaseTrackModelCache.cs                    |    3 +-
 .../Banshee.Collection.Database/RandomBy.cs        |   43 +-
 .../Banshee.Collection.Database/RandomByAlbum.cs   |    9 +-
 .../Banshee.Collection.Database/RandomByArtist.cs  |    9 +-
 .../Banshee.Collection.Database/RandomByOff.cs     |   60 +
 .../Banshee.Collection.Database/RandomByRating.cs  |    9 +-
 .../Banshee.Collection.Database/RandomByScore.cs   |    9 +-
 .../Banshee.Collection.Database/RandomBySlot.cs    |    2 +-
 .../Banshee.Collection.Database/RandomByTrack.cs   |    9 +-
 .../Banshee.Collection.Database/Shuffler.cs        |  113 +-
 .../Banshee.Collection/RescanPipeline.cs           |   75 +-
 .../DatabaseConfigurationClient.cs                 |   14 +-
 .../Banshee.Database/BansheeDbConnection.cs        |    4 +
 .../Banshee.Database/BansheeDbFormatMigrator.cs    |   84 +-
 .../Banshee.Database/SortKeyUpdater.cs             |    2 +-
 .../Banshee.Equalizer/EqualizerManager.cs          |  315 +-
 .../Banshee.Equalizer/EqualizerSetting.cs          |  168 +-
 .../Banshee.Library/LibrarySchema.cs               |    7 +
 .../Banshee.Library/LibrarySource.cs               |   13 +-
 .../Banshee.Library/MusicFileNamePattern.cs        |    2 +-
 .../Banshee.Library/MusicLibrarySource.cs          |   16 +-
 .../Banshee.Library/Tests/FileNamePatternTests.cs  |   12 +-
 .../Banshee.MediaEngine/PlayerEngine.cs            |    5 +
 .../Banshee.MediaEngine/PlayerEngineService.cs     |   26 +-
 .../Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs  |   15 +-
 .../Banshee.Metadata/SaveTrackMetadataJob.cs       |    2 +-
 .../Banshee.Metrics/BansheeMetrics.cs              |  305 +
 .../Banshee.Metrics/Configuration.cs               |   85 +
 .../IPlaybackController.cs                         |    2 +-
 .../IPlaybackControllerService.cs                  |    2 +-
 .../PlaybackControllerService.cs                   |   27 +-
 .../Banshee.Playlists.Formats/PlaylistParser.cs    |    3 +-
 .../Banshee.Preferences/PreferenceService.cs       |   13 +-
 .../Banshee.Services/Banshee.Query/BansheeQuery.cs |  113 +-
 .../Banshee.Services/Banshee.Services.addin.xml    |   12 +
 src/Core/Banshee.Services/Banshee.Services.csproj  |   84 +-
 .../Banshee.Sources/PrimarySource.cs               |   17 +-
 .../Banshee.Services/Banshee.Sources/Source.cs     |    4 +
 src/Core/Banshee.Services/Makefile.am              |    4 +-
 .../Banshee.Collection.Gui/ArtworkManager.cs       |   87 +-
 .../Banshee.Collection.Gui/BaseTrackListView.cs    |   17 +-
 .../Banshee.Collection.Gui/ColumnCellAlbum.cs      |    2 +-
 .../ColumnCellCreativeCommons.cs                   |   36 +-
 .../ColumnCellStatusIndicator.cs                   |   14 +-
 .../Banshee.Collection.Gui/ColumnCellTrack.cs      |    1 -
 .../Banshee.Collection.Gui/CoverArtEditor.cs       |    5 +-
 .../DefaultColumnController.cs                     |   18 +
 .../Banshee.Collection.Gui/TrackFilterListView.cs  |    2 +-
 .../Banshee.Collection.Gui/XmlColumnController.cs  |   10 +-
 .../EqualizerPresetComboBox.cs                     |   73 +-
 .../Banshee.Equalizer.Gui/EqualizerView.cs         |   30 +-
 .../Banshee.Equalizer.Gui/EqualizerWindow.cs       |   36 +-
 .../Banshee.Gui.Dialogs/BansheeDialog.cs           |   13 +-
 .../Banshee.Gui.Dialogs/ConfirmShutdownDialog.cs   |   49 +-
 .../Banshee.Gui.Dialogs/ErrorListDialog.cs         |  125 +-
 .../Banshee.Gui.Dialogs/GladeWindow.cs             |   81 -
 .../Banshee.Gui.Dialogs/ImageFileChooserDialog.cs  |    5 +-
 .../Banshee.Gui.Dialogs/OpenLocationDialog.cs      |   41 +-
 .../Banshee.Gui.Dialogs/SeekDialog.cs              |   20 +-
 .../Banshee.Gui.TrackEditor/StatisticsPage.cs      |    4 +
 .../Banshee.Gui.Widgets/ClassicTrackInfoDisplay.cs |    2 +
 .../Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs   |    3 +
 .../Banshee.Gui.Widgets/NextButton.cs              |    8 +-
 .../Banshee.Gui.Widgets/TrackInfoDisplay.cs        |   68 +-
 .../Banshee.Gui/BaseClientWindow.cs                |    2 +-
 .../Banshee.Gui/GtkBaseClient.cs                   |   14 +
 .../Banshee.Gui/IDisableKeybindings.cs}            |   16 +-
 .../Banshee.Gui/PlaybackActions.cs                 |    2 +-
 .../Banshee.Gui/PlaybackShuffleActions.cs          |  134 +-
 .../Banshee.Gui/TrackActions.cs                    |   51 +-
 .../Banshee.Library.Gui/ImportDialog.cs            |   97 +-
 .../ProfileComboBoxConfigurable.cs                 |    5 +-
 .../DefaultPreferenceWidgets.cs                    |   19 +-
 .../Banshee.Preferences.Gui/NotebookPage.cs        |   12 +-
 .../Banshee.Preferences.Gui/PreferenceDialog.cs    |   11 +-
 .../Banshee.SmartPlaylist.Gui/Editor.cs            |   91 +-
 .../Banshee.Sources.Gui/LazyLoadSourceContents.cs  |    6 +-
 .../Banshee.Sources.Gui/SourceRowRenderer.cs       |   47 +-
 .../Banshee.Sources.Gui/SourceView.cs              |   48 +-
 .../Banshee.ThickClient/Banshee.ThickClient.csproj |   30 +-
 src/Core/Banshee.ThickClient/Makefile.am           |    4 +-
 .../Resources/banshee-dialogs.glade                |  618 --
 .../Resources/core-ui-actions-layout.xml           |    3 +
 src/Core/Banshee.Widgets/Banshee.Widgets.csproj    |   38 +-
 .../Banshee.Widgets/DictionaryComboBox.cs          |   16 +-
 .../Banshee.Widgets/DiscUsageDisplay.cs            |    2 +-
 .../Banshee.Widgets/Banshee.Widgets/SearchEntry.cs |    5 +-
 .../Banshee.Widgets/StreamPositionLabel.cs         |    1 +
 src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod.csproj   |   57 +-
 .../Banshee.Dap.Ipod/IpodTrackInfo.cs              |    3 +
 .../Banshee.Dap.MassStorage.addin.xml              |    3 +
 .../Banshee.Dap.MassStorage.csproj                 |   44 +-
 .../Banshee.Dap.MassStorage/AndroidDevice.cs       |   21 +-
 .../Banshee.Dap.MassStorage/KeyValueParser.cs      |    7 +-
 .../Banshee.Dap.MassStorage/MaemoDevice.cs         |  151 +
 .../Banshee.Dap.MassStorage/MassStorageDevice.cs   |    2 +-
 .../Banshee.Dap.MassStorage/MassStorageSource.cs   |   63 +-
 .../Banshee.Dap.MassStorage/WebOSDevice.cs         |    2 +-
 src/Dap/Banshee.Dap.MassStorage/Makefile.am        |    1 +
 .../128x128/devices/phone-google-nexus-one.png     |  Bin 0 -> 15611 bytes
 .../128x128/devices/phone-nokia-n900.png           |  Bin 0 -> 7561 bytes
 .../16x16/devices/phone-google-nexus-one.png       |  Bin 0 -> 3260 bytes
 .../ThemeIcons/16x16/devices/phone-nokia-n900.png  |  Bin 0 -> 676 bytes
 .../ThemeIcons/16x16/devices/phone-palm-pre.png    |  Bin 0 -> 606 bytes
 .../22x22/devices/phone-google-nexus-one.png       |  Bin 0 -> 3625 bytes
 .../ThemeIcons/22x22/devices/phone-nokia-n900.png  |  Bin 0 -> 892 bytes
 .../ThemeIcons/22x22/devices/phone-palm-pre.png    |  Bin 0 -> 939 bytes
 .../ThemeIcons/24x24/devices/phone-nokia-n900.png  |  Bin 0 -> 940 bytes
 .../ThemeIcons/24x24/devices/phone-palm-pre.png    |  Bin 0 -> 996 bytes
 .../256x256/devices/phone-google-nexus-one.png     |  Bin 0 -> 47522 bytes
 .../ThemeIcons/256x256/devices/phone-palm-pre.png  |  Bin 0 -> 33375 bytes
 .../32x32/devices/phone-google-nexus-one.png       |  Bin 0 -> 4142 bytes
 .../ThemeIcons/32x32/devices/phone-nokia-n900.png  |  Bin 0 -> 1323 bytes
 .../ThemeIcons/32x32/devices/phone-palm-pre.png    |  Bin 0 -> 1618 bytes
 .../48x48/devices/phone-google-nexus-one.png       |  Bin 0 -> 5463 bytes
 .../ThemeIcons/48x48/devices/phone-nokia-n900.png  |  Bin 0 -> 1962 bytes
 .../ThemeIcons/48x48/devices/phone-palm-pre.png    |  Bin 0 -> 2964 bytes
 .../scalable/devices/phone-nokia-n900.svg          | 2810 ++++++
 .../ThemeIcons/scalable/devices/phone-palm-pre.svg |10063 ++++++++++++++++++++
 src/Dap/Banshee.Dap.Mtp/Banshee.Dap.Mtp.csproj     |   41 +-
 .../Banshee.Dap.Mtp/MtpTrackInfo.cs                |    1 +
 src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapActions.cs  |    2 +-
 .../Banshee.Dap.Gui/DapPropertiesDisplay.cs        |    3 +-
 .../Banshee.Dap.Gui/LibrarySyncOptions.cs          |    4 +-
 src/Dap/Banshee.Dap/Banshee.Dap.csproj             |   48 +-
 src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs  |   20 +
 src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs       |   15 +-
 src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs         |   41 +-
 .../Banshee.AudioCd/Banshee.AudioCd.csproj         |   47 +-
 .../Banshee.Audiobook/Banshee.Audiobook.csproj     |   38 +-
 .../Banshee.Audiobook/AudiobookFileNamePattern.cs  |    2 +-
 .../Banshee.Audiobook/AudiobookLibrarySource.cs    |    2 +-
 .../ThemeIcons/16x16/categories/audiobook.png      |  Bin 0 -> 584 bytes
 .../ThemeIcons/22x22/categories/audiobook.png      |  Bin 0 -> 780 bytes
 .../ThemeIcons/48x48/categories/audiobook.png      |  Bin 0 -> 1420 bytes
 .../ThemeIcons/scalable/categories/audiobook.svg   |   83 +
 .../Banshee.BooScript/Banshee.BooScript.csproj     |   27 +-
 .../Banshee.Bookmarks/Banshee.Bookmarks.csproj     |   52 +-
 src/Extensions/Banshee.Bpm/Banshee.Bpm.csproj      |   52 +-
 .../Banshee.CoverArt/Banshee.CoverArt.csproj       |   44 +-
 .../Banshee.CoverArt/CoverArtService.cs            |    1 +
 src/Extensions/Banshee.Daap/Banshee.Daap.csproj    |   45 +-
 .../Banshee.Daap/DaapPlaylistSource.cs             |    4 +
 .../Banshee.Daap/Banshee.Daap/DaapSource.cs        |    4 +
 src/Extensions/Banshee.Daap/Daap/Client.cs         |    3 +-
 .../Banshee.Emusic/Banshee.Emusic.csproj           |   46 +-
 src/Extensions/Banshee.Emusic/Makefile.am          |    6 +-
 .../Banshee.FileSystemQueue.csproj                 |   38 +-
 .../FileSystemQueueSource.cs                       |    7 +-
 .../Banshee.InternetArchive.csproj                 |   41 +-
 .../Banshee.InternetArchive/DetailsSource.cs       |   26 +-
 .../Banshee.InternetArchive/DetailsView.cs         |   12 +-
 .../Banshee.InternetRadio.csproj                   |   49 +-
 .../Banshee.Lastfm.Radio/LastfmActions.cs          |    1 -
 .../Banshee.Lastfm.Radio/StationEditor.cs          |   90 +-
 .../Banshee.Lastfm/Banshee.Lastfm.csproj           |   32 +-
 src/Extensions/Banshee.Lastfm/Makefile.am          |    1 -
 .../Banshee.Lastfm/Resources/lastfm.glade          |  130 -
 .../Banshee.LibraryWatcher.csproj                  |   27 +-
 .../LibraryWatcherService.cs                       |   11 +
 .../Banshee.MiniMode/Banshee.MiniMode.addin.xml    |    4 +-
 .../Banshee.MiniMode/Banshee.MiniMode.csproj       |   33 +-
 .../Banshee.MiniMode/MiniModeWindow.cs             |  196 +-
 src/Extensions/Banshee.MiniMode/Makefile.am        |    4 +-
 .../Banshee.MiniMode/Resources/minimode.glade      |  337 -
 .../Banshee.Moblin/Banshee.Moblin.csproj           |   16 +-
 .../Banshee.Moblin/Banshee.Moblin/MoblinService.cs |   17 +-
 .../Banshee.MultimediaKeys.csproj                  |   36 +-
 .../Banshee.NotificationArea.csproj                |   47 +-
 .../Banshee.NotificationArea/Makefile.am           |   12 +-
 .../Notifications/Notification.cs                  |    4 +
 .../Notifications/Notifications.cs                 |    3 +
 .../Banshee.NowPlaying/Banshee.NowPlaying.csproj   |   31 +-
 .../Banshee.NowPlaying/OverlayWindow.cs            |    2 +-
 .../Banshee.NowPlaying/XOverlayVideoDisplay.cs     |    1 +
 .../Banshee.PlayQueue/Banshee.PlayQueue.csproj     |   54 +-
 .../Banshee.PlayQueue/HeaderWidget.cs              |   58 +-
 .../Banshee.PlayQueue/PlayQueueSource.cs           |   75 +-
 .../Banshee.PlayQueue/PlayQueueTrackListModel.cs   |   26 +
 .../Banshee.PlayerMigration.csproj                 |   35 +-
 .../Banshee.Podcasting.Data/PodcastSource.cs       |    8 +-
 .../Banshee.Podcasting.Gui/ColumnCellPodcast.cs    |   26 +
 .../Banshee.Podcasting/Banshee.Podcasting.csproj   |   41 +-
 .../Banshee.Podcasting/PodcastService.cs           |    3 +-
 .../Banshee.RemoteAudio/RemoteSpeakersComboBox.cs  |    1 +
 .../Banshee.Sample/Banshee.Sample.csproj           |   27 +-
 .../Banshee.SqlDebugConsole.csproj                 |   27 +-
 .../Banshee.Torrent/Banshee.Torrent.csproj         |   18 +-
 .../Banshee.Wikipedia/Banshee.Wikipedia.csproj     |   34 +-
 .../Banshee.YouTube.Data/DataFetch.cs              |  162 +
 .../Banshee.YouTube.Data/YouTubeData.cs            |   92 +
 .../Banshee.YouTube.Gui/VideoStreamTile.cs         |  245 +
 .../Banshee.YouTube.Gui/YouTubeTile.cs             |  164 +
 .../Banshee.YouTube/Banshee.YouTube.addin.xml      |   23 +
 .../Banshee.YouTube/Banshee.YouTube.csproj         |  102 +
 .../Banshee.YouTube/ContextPage.cs}                |   39 +-
 .../Banshee.YouTube/Banshee.YouTube/YouTubePane.cs |  245 +
 src/Extensions/Banshee.YouTube/Makefile.am         |   19 +
 src/Extensions/Makefile.am                         |    3 +-
 .../Hyena.Data.Gui/ListView/ListView_Header.cs     |    5 +
 .../Hyena.Data.Gui/ListView/ListView_Rendering.cs  |   18 +-
 src/Libraries/Hyena.Gui/Hyena.Gui.csproj           |   17 +-
 src/Libraries/Hyena.Gui/Hyena.Gui/GtkUtilities.cs  |   31 +-
 .../Hyena.Gui/Hyena.Gui/PixbufImageSurface.cs      |   19 +-
 .../Hyena.Gui/Hyena.Widgets/AccordionPane.cs       |   93 -
 .../Hyena.Gui/Hyena.Widgets/MenuButton.cs          |   18 +-
 .../Hyena.Gui/Hyena.Widgets/MessageBar.cs          |    3 +-
 .../Hyena.Gui/Hyena.Widgets/PulsingButton.cs       |    2 +-
 .../Hyena.Gui/Hyena.Widgets/RatingEntry.cs         |    3 +-
 .../Hyena.Gui/Hyena.Widgets/RoundedFrame.cs        |    3 +-
 .../Hyena.Gui/Hyena.Widgets/SegmentedBar.cs        |    3 +-
 src/Libraries/Hyena.Gui/Hyena.Widgets/WrapLabel.cs |    1 +
 .../Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs  |   76 +-
 .../Hyena.Data.Sqlite/HyenaSqliteConnection.cs     |    7 +
 .../Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs    |   51 +-
 .../Hyena/Hyena.Data.Sqlite/SqliteModelProvider.cs |    5 +
 .../Hyena/Hyena.Data.Sqlite/SqliteUtils.cs         |   40 +-
 src/Libraries/Hyena/Hyena.Json/IJsonCollection.cs  |    1 +
 src/Libraries/Hyena/Hyena.Json/JsonArray.cs        |   23 +-
 src/Libraries/Hyena/Hyena.Json/JsonObject.cs       |   23 +-
 src/Libraries/Hyena/Hyena.Json/Serializer.cs       |  155 +
 .../Hyena/Hyena.Json/Tests/SerializerTests.cs      |  169 +
 src/Libraries/Hyena/Hyena.Json/Tokenizer.cs        |    3 +-
 src/Libraries/Hyena/Hyena.Metrics/DbSampleStore.cs |   57 +
 src/Libraries/Hyena/Hyena.Metrics/HttpPoster.cs    |   73 +
 src/Libraries/Hyena/Hyena.Metrics/ISampleStore.cs  |   38 +
 .../Hyena/Hyena.Metrics/MemorySampleStore.cs       |   52 +
 src/Libraries/Hyena/Hyena.Metrics/Metric.cs        |   84 +
 .../Hyena/Hyena.Metrics/MetricsCollection.cs       |  112 +
 src/Libraries/Hyena/Hyena.Metrics/Sample.cs        |   67 +
 .../Hyena/Hyena.Metrics/Tests/MetricsTests.cs      |   76 +
 .../Hyena/Hyena.Query/ExactStringQueryValue.cs     |    6 +-
 .../ExactUriStringQueryValue.cs}                   |   22 +-
 .../Hyena/Hyena.Query/Tests/QueryTests.cs          |   24 +-
 .../Hyena/Hyena.Query/TimeSpanQueryValue.cs        |    2 +-
 src/Libraries/Hyena/Hyena.csproj                   |   48 +-
 src/Libraries/Hyena/Hyena/ApplicationContext.cs    |    2 +
 src/Libraries/Hyena/Hyena/CryptoUtil.cs            |    5 +-
 src/Libraries/Hyena/Hyena/DateTimeUtil.cs          |   14 +-
 src/Libraries/Hyena/Hyena/PlatformDetection.cs     |   96 +
 .../Hyena/Hyena/Tests/DateTimeUtilTests.cs         |   77 +
 src/Libraries/Hyena/Makefile.am                    |   14 +-
 src/Libraries/Lastfm.Gui/Lastfm.Gui.csproj         |   20 +-
 src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs      |    2 +-
 src/Libraries/Lastfm/Lastfm.csproj                 |   30 +-
 src/Libraries/Lastfm/Lastfm/LastfmRequest.cs       |    8 +-
 src/Libraries/Migo/Migo.Syndication/RssParser.cs   |    9 +-
 src/Libraries/Migo/Migo.csproj                     |   35 +-
 .../Mono.Data.Sqlite/Mono.Data.Sqlite.csproj       |   27 +-
 .../Mono.Data.Sqlite/SQLiteConvert.cs              |    6 +-
 src/Libraries/Mono.Media/Mono.Media.csproj         |   20 +-
 src/Libraries/Mtp/Mtp.csproj                       |   20 +-
 src/Libraries/Mtp/Mtp/Album.cs                     |   31 +-
 src/Libraries/Mtp/Mtp/Folder.cs                    |   82 +-
 src/Libraries/Mtp/Mtp/MtpDevice.cs                 |   22 +-
 src/Libraries/Mtp/Mtp/Playlist.cs                  |   20 +-
 src/Libraries/MusicBrainz/MusicBrainz.csproj       |   20 +-
 407 files changed, 59692 insertions(+), 21003 deletions(-)
---
diff --cc bootstrap-bundle
index 9dacdc4,bc9b3ee..e130c1c
--- a/bootstrap-bundle
+++ b/bootstrap-bundle
@@@ -36,7 -36,7 +36,8 @@@ popd &>/dev/nul
  source "$envfile"
  
  CONFIGURE_ARGS="
--	--disable-mtp
++	--disable-mtp \
++	--disable-podcast \
  	--disable-daap
  	--disable-ipod
  	--disable-boo
diff --cc src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs
index 9735356,716fad0..dd99cc7
--- a/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellAlbum.cs
@@@ -216,110 -135,44 +216,110 @@@ namespace Banshee.Collection.Gu
                  PangoCairoHelper.ShowLayout (context.Context, layout);
              }
  
 -            // Render the first line, resetting the state
 -            layout.SetText (album.DisplayTitle);
 -            layout.FontDescription.Weight = Pango.Weight.Bold;
 -            layout.FontDescription.Size = old_size;
 -            layout.FontDescription.Style = Pango.Style.Normal;
 +            layout.FontDescription.Size = normal_size;
 +        }
 +
 +        public override Size Measure (Size available)
 +        {
 +            var widget = ParentLayout.View;
 +
 +            using (var layout = new Pango.Layout (widget.PangoContext) {
 +                    FontDescription = widget.PangoContext.FontDescription.Copy ()
 +                }) {
 +                layout.FontDescription.Weight = Pango.Weight.Bold;
 +                first_line_allocation.Height = layout.FontDescription.MeasureTextHeight (widget.PangoContext);
 +
 +                layout.FontDescription.Weight = Pango.Weight.Normal;
 +                layout.FontDescription.Size = (int)(layout.FontDescription.Size * Pango.Scale.Small);
 +                layout.FontDescription.Style = Pango.Style.Italic;
 +                second_line_allocation.Height = layout.FontDescription.MeasureTextHeight (widget.PangoContext);
 +            }
 +
 +            double width, height;
 +            double text_height = first_line_allocation.Height + second_line_allocation.Height;
 +
 +            if (IsGridLayout) {
 +                width = ImageSize + Padding.X;
 +                height = ImageSize + ImageSpacing + TextSpacing + text_height + Padding.Y;
 +            } else {
 +                double list_text_height = text_height + TextSpacing;
 +                width = ImageSize + ImageSpacing + Padding.Y;
 +                height = (list_text_height < ImageSize ? ImageSize : list_text_height) + Padding.X;
 +            }
 +
 +            return new Size (Math.Round (width), Math.Round (height));
 +        }
  
 -            layout.SetText (album.DisplayTitle);
 +        protected void InvalidateImage ()
 +        {
 +            var damage = image_allocation;
 +            damage.Offset (inner_allocation);
 +            Invalidate (damage);
 +        }
  
 -            context.Context.MoveTo (x, y);
 -            text_color.A = 1;
 -            context.Context.Color = text_color;
 -            PangoCairoHelper.ShowLayout (context.Context, layout);
 +        protected virtual void RenderImageSurface (CellContext context, Rect allocation, ImageSurface imageSurface)
 +        {
 +            ArtworkRenderer.RenderThumbnail (context.Context,
 +                imageSurface, false,
 +                allocation.X, allocation.Y, allocation.Width, allocation.Height,
 +                true, context.Theme.Context.Radius,
 +                imageSurface == null, new Color (0.8, 0.8, 0.8));
          }
  
 -        public int ComputeRowHeight (Widget widget)
 +        protected virtual bool HandleBoundObject (out ImageSurface image, out string [] lines)
          {
 -            int height;
 -            int text_w, text_h;
 +            image = null;
 +            lines = null;
 +
 +            var album = BoundObject as AlbumInfo;
 +            if (album == null) {
 +                if (BoundObject == null) {
 +                    return false;
 +                };
 +
 +                throw new InvalidCastException ("ColumnCellAlbum can only bind to AlbumInfo objects");
 +            }
  
 -            Pango.Layout layout = new Pango.Layout (widget.PangoContext);
 -            layout.FontDescription = widget.PangoContext.FontDescription.Copy ();
 +            lines = new [] { album.DisplayTitle, album.DisplayArtistName };
 +            image = artwork_manager != null
 +                ? artwork_manager.LookupScaleSurface (album.ArtworkId, (int)ImageSize, true)
 +                : null;
  
 -            layout.FontDescription.Weight = Pango.Weight.Bold;
 -            layout.SetText ("W");
 -            layout.GetPixelSize (out text_w, out text_h);
 -            height = text_h;
 +            return true;
 +        }
 +
 +        public override void CursorEnterEvent ()
 +        {
 +            prelight_in = true;
 +            stage.AddOrReset (this);
 +        }
  
 -            layout.FontDescription.Weight = Pango.Weight.Normal;
 -            layout.FontDescription.Size = (int)(layout.FontDescription.Size * Pango.Scale.Small);
 -            layout.FontDescription.Style = Pango.Style.Italic;
 -            layout.SetText ("W");
 -            layout.GetPixelSize (out text_w, out text_h);
 -            height += text_h;
 +        public override void CursorLeaveEvent ()
 +        {
 +            prelight_in = false;
 +            stage.AddOrReset (this);
 +        }
  
 -            layout.FontDescription.Dispose ();
 -            layout.Dispose ();
 +#if false
 +#region Accessibility
  
 -            return (height < image_size ? image_size : height) + 6;
 +        private class ColumnCellAlbumAccessible : ColumnCellAccessible
 +        {
 +            public ColumnCellAlbumAccessible (object bound_object, ColumnCellAlbum cell, ICellAccessibleParent parent)
 +                : base (bound_object, cell as ColumnCell, parent)
 +            {
 +                var bound_album_info = (AlbumInfo)bound_object;
 +                Name = String.Format ("{0} - {1}", bound_album_info.DisplayTitle, bound_album_info.DisplayArtistName);
 +            }
 +        }
- 
++        
 +        public override Atk.Object GetAccessible (ICellAccessibleParent parent)
 +        {
 +            return new ColumnCellAlbumAccessible (BoundObject, this, parent);
          }
 +
 +#endregion
 +#endif
 +
      }
  }
diff --cc src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj
index 2f093f8,05379f0..68eb029
--- a/src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj
+++ b/src/Core/Banshee.ThickClient/Banshee.ThickClient.csproj
@@@ -1,4 -1,4 +1,4 @@@
--<?xml version="1.0" encoding="utf-8"?>
++<?xml version="1.0" encoding="utf-8"?>
  <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="3.5">
    <PropertyGroup>
      <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@@ -11,33 -11,25 +11,25 @@@
      <SchemaVersion>2.0</SchemaVersion>
      <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
      <Optimize>true</Optimize>
 +    <OutputPath>..\..\..\bin</OutputPath>
      <ErrorReport>prompt</ErrorReport>
      <WarningLevel>4</WarningLevel>
 -    <ReleaseVersion>1.3</ReleaseVersion>
 -    <RootNamespace>Banshee.ThickClient</RootNamespace>
 +    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-     <ReleaseVersion>1.3</ReleaseVersion>
-     <RootNamespace>Banshee.ThickClient</RootNamespace>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
      <DebugSymbols>true</DebugSymbols>
      <DebugType>full</DebugType>
 -    <WarningLevel>4</WarningLevel>
 -    <Optimize>false</Optimize>
 -    <OutputPath>..\..\..\bin</OutputPath>
 +    <CustomCommands>
 +      <CustomCommands>
 +        <Command type="Build" command="make" workingdir="${SolutionDir}" />
 +        <Command type="Execute" command="make run" workingdir="${SolutionDir}" />
 +      </CustomCommands>
 +    </CustomCommands>
-     <OutputPath>bin\Debug</OutputPath>
-     <WarningLevel>4</WarningLevel>
-     <Optimize>false</Optimize>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Windows|AnyCPU' ">
      <DebugSymbols>true</DebugSymbols>
      <DebugType>full</DebugType>
      <PlatformTarget>x86</PlatformTarget>
-     <OutputPath>bin\Windows</OutputPath>
--    <WarningLevel>4</WarningLevel>
--    <Optimize>false</Optimize>
 -    <OutputPath>..\..\..\bin</OutputPath>
    </PropertyGroup>
    <ItemGroup>
      <ProjectReference Include="..\..\Libraries\Hyena.Gui\Hyena.Gui.csproj">
@@@ -73,53 -66,40 +65,46 @@@
      <Reference Include="System.Core">
        <RequiredTargetFramework>3.5</RequiredTargetFramework>
      </Reference>
 -    <Reference Include="System" />
 -    <Reference Include="Mono.Cairo" />
 -    <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
 -    <Reference Include="System.Xml" />
 -    <Reference Include="System.Data" />
 -    <Reference Include="Mono.Addins, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756">
 -      <HintPath>..\..\..\bin\Mono.Addins.dll</HintPath>
 +    <Reference Include="ICSharpCode.SharpZipLib">
 +      <HintPath>..\..\..\winbin\ICSharpCode.SharpZipLib.dll</HintPath>
      </Reference>
 -    <Reference Include="Mono.Addins.Gui, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756">
 -      <HintPath>..\..\..\bin\Mono.Addins.Gui.dll</HintPath>
 +    <Reference Include="Mono.Addins">
 +      <HintPath>..\..\..\winbin\Mono.Addins.dll</HintPath>
      </Reference>
 -    <Reference Include="Mono.Addins.Setup, Version=0.4.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756">
 -      <HintPath>..\..\..\bin\Mono.Addins.Setup.dll</HintPath>
 +    <Reference Include="Mono.Addins.Gui">
 +      <HintPath>..\..\..\winbin\Mono.Addins.Gui.dll</HintPath>
      </Reference>
 -    <Reference Include="NDesk.DBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099">
 -      <HintPath>..\..\..\bin\NDesk.DBus.dll</HintPath>
 +    <Reference Include="Mono.Addins.Setup">
 +      <HintPath>..\..\..\winbin\Mono.Addins.Setup.dll</HintPath>
      </Reference>
 -    <Reference Include="NDesk.DBus.GLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6716e4f9b2ed099">
 -      <HintPath>..\..\..\bin\NDesk.DBus.GLib.dll</HintPath>
 +    <Reference Include="Mono.Posix">
 +      <HintPath>..\..\..\winbin\Mono.Posix.dll</HintPath>
      </Reference>
 -    <Reference Include="taglib-sharp, Version=2.0.3.6, Culture=neutral, PublicKeyToken=db62eba44689b5b0">
 -      <HintPath>..\..\..\bin\taglib-sharp.dll</HintPath>
 +    <Reference Include="Mono.Security">
 +      <HintPath>..\..\..\winbin\Mono.Security.dll</HintPath>
      </Reference>
 -    <Reference Include="ICSharpCode.SharpZipLib">
 -      <HintPath>..\..\..\bin\ICSharpCode.SharpZipLib.dll</HintPath>
 +    <Reference Include="MonoPosixHelper">
 +      <HintPath>..\..\..\winbin\MonoPosixHelper.dll</HintPath>
      </Reference>
 -    <Reference Include="Mono.Posix">
 -      <HintPath>..\..\..\bin\Mono.Posix.dll</HintPath>
 +    <Reference Include="NDesk.DBus">
 +      <HintPath>..\..\..\winbin\NDesk.DBus.dll</HintPath>
      </Reference>
 -    <Reference Include="Mono.Security">
 -      <HintPath>..\..\..\bin\Mono.Security.dll</HintPath>
 +    <Reference Include="NDesk.DBus.GLib">
 +      <HintPath>..\..\..\winbin\NDesk.DBus.GLib.dll</HintPath>
 +    </Reference>
 +    <Reference Include="taglib-sharp">
 +      <HintPath>..\..\..\winbin\taglib-sharp.dll</HintPath>
      </Reference>
-     <Reference Include="Mono.Posix" />
-     <Reference Include="Mono.Posix" />
-     <Reference Include="Mono.Posix">
-       <HintPath>..\..\..\winbin\Mono.Posix.dll</HintPath>
-     </Reference>
    </ItemGroup>
    <ItemGroup>
 +    <Reference Include="System" />
-     <Reference Include="Mono.Posix">
-       <HintPath>..\..\..\winbin\Mono.Posix.dll</HintPath>
-     </Reference>
++    <Reference Include="Mono.Posix" />
 +    <Reference Include="Mono.Cairo" />
 +    <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
 +    <Reference Include="System.Xml" />
 +    <Reference Include="taglib-sharp, Version=2.0.3.1, Culture=neutral, PublicKeyToken=db62eba44689b5b0" />
 +  </ItemGroup>
 +  <ItemGroup>
      <EmbeddedResource Include="Resources\browser-album-cover.png">
        <LogicalName>browser-album-cover.png</LogicalName>
      </EmbeddedResource>
@@@ -132,12 -112,9 +117,10 @@@
      <EmbeddedResource Include="Resources\core-ui-actions-layout.xml">
        <LogicalName>core-ui-actions-layout.xml</LogicalName>
      </EmbeddedResource>
 -    <EmbeddedResource Include="Banshee.ThickClient.addin.xml">
 -      <LogicalName>Banshee.ThickClient.addin.xml</LogicalName>
 +    <EmbeddedResource Include="Resources\banshee-dialogs.glade">
 +      <LogicalName>banshee-dialogs.glade</LogicalName>
      </EmbeddedResource>
-     <EmbeddedResource Include="Banshee.ThickClient.addin.xml">
-       <LogicalName>Banshee.ThickClient.addin.xml</LogicalName>
-     </EmbeddedResource>
++    <EmbeddedResource Include="Banshee.ThickClient.addin.xml" />
      <EmbeddedResource Include="Resources\banshee-logo.png">
        <LogicalName>banshee-logo.png</LogicalName>
      </EmbeddedResource>
@@@ -292,10 -268,9 +275,6 @@@
      <Compile Include="Banshee.ContextPane\ContextPageManager.cs" />
      <Compile Include="Banshee.ContextPane\ContextPane.cs" />
      <Compile Include="Banshee.Query.Gui\PlaybackErrorQueryValueEntry.cs" />
-     <Compile Include="Banshee.Gui.Widgets\CoverArtDisplay.cs" />
-     <Compile Include="Banshee.CairoGlyphs\BansheeLineLogo.cs" />
--    <Compile Include="Banshee.Collection.Gui\CoverArtEditor.cs" />
--    <Compile Include="Banshee.Collection.Gui\SearchableListView.cs" />
 -    <Compile Include="Banshee.Gui.Widgets\CoverArtDisplay.cs" />
    </ItemGroup>
    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    <ProjectExtensions>
diff --cc src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs
index d898fa2,86884e6..162d3b9
--- a/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs
+++ b/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/ColumnCellPodcast.cs
@@@ -143,5 -143,31 +143,31 @@@ namespace Banshee.Podcasting.Gu
              context.Context.Color = text_color;
              PangoCairoHelper.ShowLayout (context.Context, layout);
          }
 -
++        
+         public int ComputeRowHeight (Widget widget)
+         {
+             int height;
+             int text_w, text_h;
+ 
+             Pango.Layout layout = new Pango.Layout (widget.PangoContext);
+             layout.FontDescription = widget.PangoContext.FontDescription.Copy ();
+ 
+             layout.FontDescription.Weight = Pango.Weight.Bold;
+             layout.SetText ("W");
+             layout.GetPixelSize (out text_w, out text_h);
+             height = text_h;
+ 
+             layout.FontDescription.Weight = Pango.Weight.Normal;
+             layout.FontDescription.Size = (int)(layout.FontDescription.Size * Pango.Scale.Small);
+             layout.FontDescription.Style = Pango.Style.Italic;
+             layout.SetText ("W");
+             layout.GetPixelSize (out text_w, out text_h);
+             height += text_h;
+ 
+             layout.FontDescription.Dispose ();
+             layout.Dispose ();
+ 
+             return (height < image_size ? image_size : height) + 6;
+         }
      }
  }
diff --cc src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
index f15e8ee,806f91e..09ca433
--- a/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
+++ b/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
@@@ -118,26 -104,20 +119,27 @@@ namespace Hyena.Data.Gu
                  PaintHeader (damage);
              }
  
-             if (HasFocus) {
-                 Theme.DrawFrameBorderFocused (cairo_context, Allocation);
-             } else {
-                 Theme.DrawFrameBorder (cairo_context, Allocation);
-             }
- 
              if (Model != null) {
 -                PaintRows (damage);
 +                // FIXME: ViewLayout will never be null in
 +                // the future, PaintList will go away
 +                if (ViewLayout == null) {
 +                    PaintList (damage);
 +                } else {
 +                    PaintView ((Rect)damage);
 +                }
              }
  
+             // Focused frame border is bolder than BorderWidth,
+             // draw it after the rows to avoid visual artifacts.
 -            if (HasFocus)
++            if (HasFocus) {
+                 Theme.DrawFrameBorderFocused (cairo_context, Allocation);
 -            else
++            } else {
+                 Theme.DrawFrameBorder (cairo_context, Allocation);
++            }
+ 
              PaintDraggingColumn (damage);
  
-             ((IDisposable)cairo_context.Target).Dispose ();
-             ((IDisposable)cairo_context).Dispose ();
+             CairoExtensions.DisposeContext (cairo_context);
  
              return true;
          }
diff --cc src/Libraries/Hyena.Gui/Hyena.Gui.csproj
index 23702cf,c2a41a0..83753c8
--- a/src/Libraries/Hyena.Gui/Hyena.Gui.csproj
+++ b/src/Libraries/Hyena.Gui/Hyena.Gui.csproj
@@@ -1,4 -1,4 +1,4 @@@
--<?xml version="1.0" encoding="utf-8"?>
++<?xml version="1.0" encoding="utf-8"?>
  <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"; ToolsVersion="3.5">
    <PropertyGroup>
      <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@@ -15,46 -15,31 +15,38 @@@
      <NoStdLib>False</NoStdLib>
      <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
      <Optimize>true</Optimize>
 +    <OutputPath>..\..\..\bin</OutputPath>
      <ErrorReport>prompt</ErrorReport>
      <WarningLevel>4</WarningLevel>
 -    <ReleaseVersion>1.3</ReleaseVersion>
 -    <RootNamespace>Hyena.Gui</RootNamespace>
 +    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
      <DebugSymbols>true</DebugSymbols>
--    <DebugType>full</DebugType>
 -    <WarningLevel>4</WarningLevel>
 -    <Optimize>false</Optimize>
 -    <OutputPath>..\..\..\bin</OutputPath>
++    <DebugType>Full</DebugType>
 +    <CustomCommands>
 +      <CustomCommands>
 +        <Command type="Build" command="make" workingdir="${SolutionDir}" />
 +        <Command type="Execute" command="make run" workingdir="${SolutionDir}" />
 +      </CustomCommands>
 +    </CustomCommands>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Windows|AnyCPU' ">
      <DebugSymbols>true</DebugSymbols>
--    <DebugType>full</DebugType>
++    <DebugType>Full</DebugType>
      <PlatformTarget>x86</PlatformTarget>
-     <OutputPath>bin\Windows</OutputPath>
--    <WarningLevel>4</WarningLevel>
--    <Optimize>false</Optimize>
 -    <OutputPath>..\..\..\bin</OutputPath>
 -    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    </PropertyGroup>
    <ItemGroup>
 -    <Reference Include="System" />
 -    <Reference Include="System.Core">
 +    <Reference Include="ICSharpCode.SharpZipLib">
 +      <HintPath>..\..\..\winbin\ICSharpCode.SharpZipLib.dll</HintPath>
      </Reference>
 +    <Reference Include="Mono.Posix">
 +      <HintPath>..\..\..\winbin\Mono.Posix.dll</HintPath>
 +    </Reference>
 +    <Reference Include="MonoPosixHelper">
 +      <HintPath>..\..\..\winbin\MonoPosixHelper.dll</HintPath>
 +    </Reference>
 +    <Reference Include="System" />
 +    <Reference Include="System.Core" />
      <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
      <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
      <Reference Include="Mono.Cairo" />
@@@ -171,17 -162,8 +163,15 @@@
      <Compile Include="Hyena.Data.Gui\Accessibility\ListViewAccessible_Selection.cs" />
      <Compile Include="Hyena.Data.Gui\Accessibility\ColumnCellTextAccessible.cs" />
      <Compile Include="Hyena.Data.Gui\Accessibility\ColumnHeaderCellTextAccessible.cs" />
--    <Compile Include="Hyena.Widgets\EntryPopup.cs" />
--    <Compile Include="Hyena.Widgets\SimpleTable.cs" />
 +    <Compile Include="Hyena.Gui\PangoExtensions.cs" />
 +    <Compile Include="Hyena.Data.Gui\DataViewLayout.cs" />
 +    <Compile Include="Hyena.Data.Gui\DataViewLayoutGrid.cs" />
 +    <Compile Include="Hyena.Gui\CairoDamageDebugger.cs" />
 +    <Compile Include="Hyena.Data.Gui\DataViewChild.cs" />
 +    <Compile Include="Hyena.Gui.Canvas\Rect.cs" />
 +    <Compile Include="Hyena.Gui.Canvas\Size.cs" />
 +    <Compile Include="Hyena.Gui.Canvas\Thickness.cs" />
 +    <Compile Include="Hyena.Gui.Canvas\Point.cs" />
    </ItemGroup>
    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    <ProjectExtensions>



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