mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
176 lines
5.4 KiB
C#
176 lines
5.4 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.MainFrame
|
|
// 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.Util;
|
|
using System.Collections;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class MainFrame : Frame
|
|
{
|
|
private ArrayListDataSet _experiences;
|
|
private QuickplayExperience _quickplay;
|
|
private CollectionExperience _collection;
|
|
private DeviceExperience _device;
|
|
private MarketplaceExperience _marketplace;
|
|
private SocialExperience _social;
|
|
private TestExperience _test;
|
|
private DiscExperience _disc;
|
|
|
|
public MainFrame(IModelItemOwner owner)
|
|
: base(owner)
|
|
{
|
|
}
|
|
|
|
public override IList ExperiencesList
|
|
{
|
|
get
|
|
{
|
|
if (this._experiences == null)
|
|
{
|
|
this._experiences = new ArrayListDataSet(this);
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eQuickplay))
|
|
this._experiences.Add(Quickplay);
|
|
this._experiences.Add(Collection);
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eMarketplace))
|
|
this._experiences.Add(Marketplace);
|
|
if (FeatureEnablement.IsFeatureEnabled(Features.eSocial))
|
|
this._experiences.Add(Social);
|
|
}
|
|
return _experiences;
|
|
}
|
|
}
|
|
|
|
public QuickplayExperience Quickplay
|
|
{
|
|
get
|
|
{
|
|
if (this._quickplay == null)
|
|
this._quickplay = new QuickplayExperience(this);
|
|
return this._quickplay;
|
|
}
|
|
}
|
|
|
|
public CollectionExperience Collection
|
|
{
|
|
get
|
|
{
|
|
if (this._collection == null)
|
|
this._collection = new CollectionExperience(this);
|
|
return this._collection;
|
|
}
|
|
}
|
|
|
|
public MarketplaceExperience Marketplace
|
|
{
|
|
get
|
|
{
|
|
if (this._marketplace == null)
|
|
this._marketplace = new MarketplaceExperience(this);
|
|
return this._marketplace;
|
|
}
|
|
}
|
|
|
|
public SocialExperience Social
|
|
{
|
|
get
|
|
{
|
|
if (this._social == null)
|
|
this._social = new SocialExperience(this);
|
|
return this._social;
|
|
}
|
|
}
|
|
|
|
public DeviceExperience Device
|
|
{
|
|
get
|
|
{
|
|
if (this._device == null)
|
|
{
|
|
this._device = new DeviceExperience(this);
|
|
this._device.UpdateShowDevice();
|
|
}
|
|
return this._device;
|
|
}
|
|
}
|
|
|
|
public TestExperience Test
|
|
{
|
|
get
|
|
{
|
|
if (this._test == null)
|
|
this._test = new TestExperience(this);
|
|
return this._test;
|
|
}
|
|
}
|
|
|
|
public DiscExperience Disc
|
|
{
|
|
get
|
|
{
|
|
if (this._disc == null)
|
|
{
|
|
this._disc = new DiscExperience(this);
|
|
IList experiencesList = this.ExperiencesList;
|
|
if (experiencesList == null || experiencesList[experiencesList.Count - 1] != this._disc)
|
|
this._disc.Available = false;
|
|
}
|
|
return this._disc;
|
|
}
|
|
}
|
|
|
|
internal void ShowDevice(bool show)
|
|
{
|
|
IList experiencesList = this.ExperiencesList;
|
|
int index = experiencesList.Count - 1;
|
|
bool flag = experiencesList[index] == this.Device || index > 0 && experiencesList[index - 1] == this.Device;
|
|
if (show == flag)
|
|
return;
|
|
this.Device.Available = show;
|
|
if (show)
|
|
{
|
|
if (experiencesList[index] == this.Disc)
|
|
experiencesList.Insert(index, Device);
|
|
else
|
|
experiencesList.Add(Device);
|
|
}
|
|
else
|
|
experiencesList.Remove(Device);
|
|
}
|
|
|
|
internal void ShowDisc(bool show)
|
|
{
|
|
IList experiencesList = this.ExperiencesList;
|
|
int index = experiencesList.Count - 1;
|
|
bool flag = experiencesList[index] == this.Disc;
|
|
if (show == flag)
|
|
return;
|
|
this.Disc.Available = show;
|
|
if (show)
|
|
experiencesList.Add(Disc);
|
|
else
|
|
experiencesList.RemoveAt(index);
|
|
}
|
|
|
|
internal void ShowTest(bool show)
|
|
{
|
|
IList experiencesList = this.ExperiencesList;
|
|
bool flag = experiencesList.Contains(Test);
|
|
int index = experiencesList.Count - 1;
|
|
while (index >= 0 && (experiencesList[index] == this.Disc || experiencesList[index] == this.Device))
|
|
--index;
|
|
if (show == flag)
|
|
return;
|
|
this.Test.Available = show;
|
|
if (show)
|
|
experiencesList.Insert(index + 1, Test);
|
|
else
|
|
experiencesList.Remove(Test);
|
|
}
|
|
}
|
|
}
|