public PodcastSource () : base (Catalog.GetString ("Podcasts"), "PodcastLibrary", 51)
{
TrackExternalObjectHandler = GetPodcastInfoObject;
TrackArtworkIdHandler = GetTrackArtworkId;
MediaTypes = TrackMediaAttributes.Podcast;
NotMediaTypes = TrackMediaAttributes.AudioBook;
SyncCondition = "(substr(CoreTracks.Uri, 0, 4) != 'http' AND CoreTracks.PlayCount = 0)";
TrackModel.Reloaded += OnReloaded;
Properties.SetString ("Icon.Name", "podcast");
Properties.Set<string> ("SearchEntryDescription", Catalog.GetString ("Search your podcasts"));
Properties.Set<string> ("TrackPropertiesActionLabel", Catalog.GetString ("Episode Properties"));
Properties.SetString ("ActiveSourceUIResource", "ActiveSourceUI.xml");
Properties.Set<bool> ("ActiveSourceUIResourcePropagate", true);
Properties.Set<System.Reflection.Assembly> ("ActiveSourceUIResource.Assembly", typeof(PodcastSource).Assembly);
Properties.SetString ("GtkActionPath", "/PodcastSourcePopup");
Properties.Set<ISourceContents> ("Nereid.SourceContents", new LazyLoadSourceContents<PodcastSourceContents> ());
Properties.Set<bool> ("Nereid.SourceContentsPropagate", true);
Properties.SetString ("TrackView.ColumnControllerXml", String.Format (@"
<column-controller>
<add-all-defaults />
<column modify-default=""IndicatorColumn"">
<renderer type=""Banshee.Podcasting.Gui.ColumnCellPodcastStatusIndicator"" />
</column>
<remove-default column=""TrackColumn"" />
<remove-default column=""DiscColumn"" />
<remove-default column=""ComposerColumn"" />
<remove-default column=""ArtistColumn"" />
<column modify-default=""AlbumColumn"">
<title>{0}</title>
<long-title>{0}</long-title>
<sort-key>PodcastTitle</sort-key>
<renderer property=""ExternalObject.PodcastTitle""/>
</column>
<column modify-default=""DurationColumn"">
<visible>false</visible>
</column>
<column>
<visible>false</visible>
<title>{4}</title>
<renderer type=""Hyena.Data.Gui.ColumnCellText"" property=""ExternalObject.Description"" />
<sort-key>Description</sort-key>
</column>
<column>
<visible>false</visible>
<title>{2}</title>
<renderer type=""Banshee.Podcasting.Gui.ColumnCellYesNo"" property=""ExternalObject.IsNew"" />
<sort-key>IsNew</sort-key>
</column>
<column>
<visible>false</visible>
<title>{3}</title>
<renderer type=""Banshee.Podcasting.Gui.ColumnCellYesNo"" property=""ExternalObject.IsDownloaded"" />
<sort-key>IsDownloaded</sort-key>
</column>
<column>
<visible>true</visible>
<title>{1}</title>
<renderer type=""Banshee.Podcasting.Gui.ColumnCellPublished"" property=""ExternalObject.PublishedDate"" />
<sort-key>PublishedDate</sort-key>
</column>
<sort-column direction=""desc"">published_date</sort-column>
</column-controller>
",
Catalog.GetString ("Podcast"), Catalog.GetString ("Published"), Catalog.GetString ("New"),
Catalog.GetString ("Downloaded"), Catalog.GetString ("Description")
));
}