mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
86 lines
2.4 KiB
C#
86 lines
2.4 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.NewComplexSyncGroup
|
|
// 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 System.Collections;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class NewComplexSyncGroup : SyncGroup
|
|
{
|
|
private string _title;
|
|
private int _id;
|
|
private bool _isActive;
|
|
private SyncCategory _type;
|
|
|
|
public NewComplexSyncGroup(SyncGroupList parentList, int id)
|
|
: base(parentList)
|
|
{
|
|
this._id = id;
|
|
this._isActive = true;
|
|
this.UpdateInfo();
|
|
}
|
|
|
|
public override string Title => this._title;
|
|
|
|
public override int ID => this._id;
|
|
|
|
public override SyncCategory Type => this._type;
|
|
|
|
public override long Size => -1;
|
|
|
|
public override int Count => -1;
|
|
|
|
public override SyncGroupState State => SyncGroupState.Pending;
|
|
|
|
public override bool IsActive
|
|
{
|
|
get => this._isActive;
|
|
set
|
|
{
|
|
if (this._isActive == value)
|
|
return;
|
|
this._isActive = value;
|
|
this.FirePropertyChanged(nameof(IsActive));
|
|
}
|
|
}
|
|
|
|
public override bool IsVisible => true;
|
|
|
|
public override bool IsComplex => true;
|
|
|
|
public override void CommitChanges()
|
|
{
|
|
if (this.IsActive)
|
|
this.ParentList.Device.AddSyncRule(new MediaIdAndType[1]
|
|
{
|
|
new MediaIdAndType(this.ID, MediaType.Playlist)
|
|
});
|
|
else
|
|
this.CancelChanges();
|
|
}
|
|
|
|
public override void CancelChanges() => Shell.DeleteMedia(new List<MediaIdAndType>(1)
|
|
{
|
|
new MediaIdAndType(this.ID, MediaType.Playlist)
|
|
}, false);
|
|
|
|
public override void DataUpdated()
|
|
{
|
|
}
|
|
|
|
public override void DataEdited() => this.UpdateInfo();
|
|
|
|
private void UpdateInfo()
|
|
{
|
|
this._title = PlaylistManager.GetPlaylistName(this.ID);
|
|
this.FirePropertyChanged("Title");
|
|
this._type = UIDeviceList.MapMediaTypeToSyncCategory(PlaylistManager.GetAutoPlaylistSchema(this.ID));
|
|
this.FirePropertyChanged("Type");
|
|
}
|
|
}
|
|
}
|