private void UpdateSourceContents(Source source) { if (source == null) { return; } // Connect the source models to the views if possible ISourceContents contents = source.GetProperty <ISourceContents> ("Nereid.SourceContents", source.GetInheritedProperty <bool> ("Nereid.SourceContentsPropagate")); view_container.ClearHeaderWidget(); view_container.ClearFooter(); if (contents != null) { if (view_container.Content != contents) { view_container.Content = contents; } view_container.Content.SetSource(source); view_container.Show(); } else if (source is ITrackModelSource) { view_container.Content = composite_view; view_container.Content.SetSource(source); view_container.Show(); } else if (source is Hyena.Data.IObjectListModel) { if (object_view == null) { object_view = new ObjectListSourceContents(); } view_container.Content = object_view; view_container.Content.SetSource(source); view_container.Show(); } else { view_container.Hide(); } // Associate the view with the model if (view_container.Visible && view_container.Content is ITrackModelSourceContents) { ITrackModelSourceContents track_content = view_container.Content as ITrackModelSourceContents; source.Properties.Set <IListView <TrackInfo> > ("Track.IListView", track_content.TrackView); } var title_widget = source.Properties.Get <Widget> ("Nereid.SourceContents.TitleWidget"); if (title_widget != null) { Hyena.Log.WarningFormat("Nereid.SourceContents.TitleWidget is no longer used (from {0})", source.Name); } Widget header_widget = null; if (source.Properties.Contains("Nereid.SourceContents.HeaderWidget")) { header_widget = source.Properties.Get <Widget> ("Nereid.SourceContents.HeaderWidget"); } if (header_widget != null) { view_container.SetHeaderWidget(header_widget); } Widget footer_widget = null; if (source.Properties.Contains("Nereid.SourceContents.FooterWidget")) { footer_widget = source.Properties.Get <Widget> ("Nereid.SourceContents.FooterWidget"); } if (footer_widget != null) { view_container.SetFooter(footer_widget); } }
private void UpdateSourceContents(Source source) { if (source == null) { return; } // Connect the source models to the views if possible ISourceContents contents = source.GetProperty <ISourceContents> ("Nereid.SourceContents", source.GetInheritedProperty <bool> ("Nereid.SourceContentsPropagate")); bool remove_margins = false; view_container.ClearFooter(); if (contents != null) { if (view_container.Content != contents) { view_container.Content = contents; } view_container.Content.SetSource(source); view_container.Show(); remove_margins = contents is Cubano.NowPlaying.NowPlayingInterface || contents.GetType().FullName == "Banshee.NowPlaying.NowPlayingInterface"; } else if (source is ITrackModelSource) { view_container.Content = composite_view; view_container.Content.SetSource(source); view_container.Show(); } else if (source is Hyena.Data.IObjectListModel) { if (object_view == null) { object_view = new ObjectListSourceContents(); } view_container.Content = object_view; view_container.Content.SetSource(source); view_container.Show(); } else { view_container.Hide(); } // Associate the view with the model if (view_container.Visible && view_container.Content is ITrackModelSourceContents) { ITrackModelSourceContents track_content = view_container.Content as ITrackModelSourceContents; source.Properties.Set <IListView <TrackInfo> > ("Track.IListView", track_content.TrackView); } header.Visible = source.Properties.Contains("Nereid.SourceContents.HeaderVisible") ? source.Properties.Get <bool> ("Nereid.SourceContents.HeaderVisible") : true; Widget footer_widget = null; if (source.Properties.Contains("Nereid.SourceContents.FooterWidget")) { footer_widget = source.Properties.Get <Widget> ("Nereid.SourceContents.FooterWidget"); } if (footer_widget != null) { view_container.SetFooter(footer_widget); } ConfigureMargins(remove_margins); }