mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
81 lines
3.1 KiB
C#
81 lines
3.1 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.DeleteSubscriptionDownloadsDialog
|
|
// 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.Shell;
|
|
using Microsoft.Zune.Util;
|
|
using System;
|
|
using UIXControls;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class DeleteSubscriptionDownloadsDialog : DialogHelper
|
|
{
|
|
private Command m_delete;
|
|
private string m_title;
|
|
private bool m_enabled;
|
|
|
|
public static void ShowDialog()
|
|
{
|
|
string subscriptionDirectory = ZuneApplication.Service2.GetSubscriptionDirectory();
|
|
if (string.IsNullOrEmpty(subscriptionDirectory))
|
|
MessageBox.Show(Shell.LoadString(StringId.IDS_ACCOUNT_CLEAR_SUB_FAIL_TITLE), Shell.LoadString(StringId.IDS_ACCOUNT_CLEAR_SUB_NO_DIRECTORY), null);
|
|
else
|
|
new DeleteSubscriptionDownloadsDialog(subscriptionDirectory).Show();
|
|
}
|
|
|
|
public Command Delete => this.m_delete;
|
|
|
|
public bool Enabled
|
|
{
|
|
get => this.m_enabled;
|
|
private set
|
|
{
|
|
if (this.m_enabled == value)
|
|
return;
|
|
this.Delete.Available = value;
|
|
this.Cancel.Available = value;
|
|
this.m_enabled = value;
|
|
this.FirePropertyChanged(nameof(Enabled));
|
|
}
|
|
}
|
|
|
|
public string Title => this.m_title;
|
|
|
|
protected DeleteSubscriptionDownloadsDialog(string subscriptionDirectory)
|
|
: base("res://ZuneShellResources!ManagementAccount.uix#DeleteSubscriptionDownloadsDialogContentUI")
|
|
{
|
|
this.m_enabled = true;
|
|
this.m_title = Shell.LoadString(StringId.IDS_ACCOUNT_CLEAR_SUBSCRIPTION_TITLE);
|
|
this.Description = string.Format(Shell.LoadString(StringId.IDS_ACCOUNT_CLEAR_SUBSCRIPTION_CONFIRM), subscriptionDirectory);
|
|
this.m_delete = new Command(this, Shell.LoadString(StringId.IDS_DIALOG_OK), new EventHandler(this.OnDeleteInvoked));
|
|
this.Cancel.Invoked += new EventHandler(this.OnCancel);
|
|
}
|
|
|
|
private void OnCancel(object sender, EventArgs args) => this.Hide();
|
|
|
|
private void OnDeleteInvoked(object sender, EventArgs args)
|
|
{
|
|
if (!this.Enabled)
|
|
return;
|
|
this.Enabled = false;
|
|
ZuneApplication.Service2.DeleteSubscriptionDownloads(new AsyncCompleteHandler(this.OnDeleteComplete));
|
|
}
|
|
|
|
private void OnDeleteComplete(HRESULT hr) => Application.DeferredInvoke(new DeferredInvokeHandler(this.DeferredDeleteCompleteEvent), hr);
|
|
|
|
private void DeferredDeleteCompleteEvent(object arg)
|
|
{
|
|
this.Enabled = true;
|
|
HRESULT hresult = (HRESULT)arg;
|
|
this.Hide();
|
|
if (!hresult.IsError)
|
|
return;
|
|
Shell.ShowErrorDialog(hresult.Int, StringId.IDS_ACCOUNT_CLEAR_SUB_FAIL_TITLE, StringId.IDS_ACCOUNT_CLEAR_SUB_FAIL_MESSAGE);
|
|
}
|
|
}
|
|
}
|