mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
169 lines
5.8 KiB
C#
169 lines
5.8 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.CollectionExperience
|
|
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
|
|
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
|
|
|
|
using Microsoft.Iris;
|
|
using Microsoft.Zune.Configuration;
|
|
using Microsoft.Zune.Util;
|
|
using System.Collections;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class CollectionExperience : Experience
|
|
{
|
|
private ArrayListDataSet _nodes;
|
|
private Node _music;
|
|
private Node _videos;
|
|
private Node _photos;
|
|
private Node _podcasts;
|
|
private Node _channels;
|
|
private Node _applications;
|
|
private Node _radio;
|
|
private Node _downloads;
|
|
private bool _isDevice;
|
|
|
|
public CollectionExperience(Frame frameOwner)
|
|
: base(frameOwner, StringId.IDS_COLLECTION_PIVOT, SQMDataId.CollectionClicks)
|
|
{
|
|
}
|
|
|
|
public CollectionExperience(Frame frameOwner, bool isDevice)
|
|
: base(frameOwner, StringId.IDS_DEVICE_PIVOT, SQMDataId.DeviceClicks)
|
|
=> this._isDevice = isDevice;
|
|
|
|
public override IList NodesList
|
|
{
|
|
get
|
|
{
|
|
if (this._nodes == null)
|
|
{
|
|
this._nodes = new ArrayListDataSet(this);
|
|
this._nodes.Add(Music);
|
|
this._nodes.Add(Videos);
|
|
this._nodes.Add(Photos);
|
|
this._nodes.Add(Podcasts);
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eChannels))
|
|
this._nodes.Add(Channels);
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eRadio))
|
|
this._nodes.Add(Radio);
|
|
this.UpdateApplicationPivot();
|
|
}
|
|
return _nodes;
|
|
}
|
|
}
|
|
|
|
public Node Music
|
|
{
|
|
get
|
|
{
|
|
if (this._music == null)
|
|
this._music = new Node(this, StringId.IDS_MUSIC_PIVOT, this._isDevice ? "Device\\Music" : "Collection\\Music\\Default", this._isDevice ? SQMDataId.DeviceMusicClicks : SQMDataId.CollectionMusicClicks);
|
|
return this._music;
|
|
}
|
|
}
|
|
|
|
public Node Videos
|
|
{
|
|
get
|
|
{
|
|
if (this._videos == null)
|
|
this._videos = new Node(this, StringId.IDS_VIDEO_PIVOT, this._isDevice ? "Device\\Videos" : "Collection\\Videos\\Default", this._isDevice ? SQMDataId.DeviceVideoClicks : SQMDataId.CollectionVideoClicks);
|
|
return this._videos;
|
|
}
|
|
}
|
|
|
|
public Node Photos
|
|
{
|
|
get
|
|
{
|
|
if (this._photos == null)
|
|
this._photos = new Node(this, StringId.IDS_PICTURES_PIVOT, this._isDevice ? "Device\\Photos" : "Collection\\Photos", this._isDevice ? SQMDataId.DevicePicturesClicks : SQMDataId.CollectionPicturesClicks);
|
|
return this._photos;
|
|
}
|
|
}
|
|
|
|
public Node Podcasts
|
|
{
|
|
get
|
|
{
|
|
if (this._podcasts == null)
|
|
this._podcasts = new Node(this, StringId.IDS_PODCASTS_PIVOT, this._isDevice ? "Device\\Podcasts" : "Collection\\Podcasts", this._isDevice ? SQMDataId.DevicePodcastsClicks : SQMDataId.CollectionPodcastsClicks);
|
|
return this._podcasts;
|
|
}
|
|
}
|
|
|
|
public Node Channels
|
|
{
|
|
get
|
|
{
|
|
if (this._channels == null)
|
|
this._channels = new Node(this, StringId.IDS_CHANNELS_PIVOT, this._isDevice ? "Device\\Channels" : "Collection\\Channels", this._isDevice ? SQMDataId.DeviceChannelsClicks : SQMDataId.CollectionChannelsClicks);
|
|
return this._channels;
|
|
}
|
|
}
|
|
|
|
public Node Applications
|
|
{
|
|
get
|
|
{
|
|
if (this._applications == null)
|
|
this._applications = new Node(this, StringId.IDS_APPS_PIVOT, this._isDevice ? "Device\\Applications" : "Collection\\Applications", SQMDataId.Invalid);
|
|
return this._applications;
|
|
}
|
|
}
|
|
|
|
public Node Radio
|
|
{
|
|
get
|
|
{
|
|
if (this._radio == null)
|
|
this._radio = new Node(this, StringId.IDS_RADIO_PIVOT, this._isDevice ? "Device\\Radio" : "Collection\\Radio", SQMDataId.Invalid);
|
|
return this._radio;
|
|
}
|
|
}
|
|
|
|
public Node Downloads
|
|
{
|
|
get
|
|
{
|
|
if (this._downloads == null)
|
|
this._downloads = new Node(this, StringId.IDS_DOWNLOADS_PIVOT, "Collection\\Downloads", SQMDataId.MarketplaceDownloadsClicks);
|
|
return this._downloads;
|
|
}
|
|
}
|
|
|
|
public void UpdateApplicationPivot()
|
|
{
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eGames) && ClientConfiguration.Shell.ShowApplicationPivot)
|
|
{
|
|
if (this.NodesList.Contains(Applications))
|
|
return;
|
|
this.NodesList.Add(Applications);
|
|
}
|
|
else
|
|
{
|
|
if (!this.NodesList.Contains(Applications))
|
|
return;
|
|
this.NodesList.Remove(Applications);
|
|
}
|
|
}
|
|
|
|
public void UpdateDownloadPivot(bool show)
|
|
{
|
|
int nodeIndex = this.GetNodeIndex(this.Downloads);
|
|
bool flag = nodeIndex != -1;
|
|
if (show == flag)
|
|
return;
|
|
this.Downloads.Available = show;
|
|
if (show)
|
|
this.NodesList.Add(Downloads);
|
|
else
|
|
this.NodesList.RemoveAt(nodeIndex);
|
|
}
|
|
|
|
public override string DefaultUIPath => "Collection\\Default";
|
|
}
|
|
}
|