wabbajack/Wabbajack/View Models/ModeSelectionWindowVM.cs

41 lines
1.3 KiB
C#
Raw Normal View History

2019-10-20 11:26:42 +00:00
using Alphaleonis.Win32.Filesystem;
2019-11-02 23:23:11 +00:00
using ReactiveUI.Fody.Helpers;
2019-10-20 11:26:42 +00:00
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wabbajack.Common;
using Wabbajack.Lib;
using Wabbajack.Lib.ModListRegistry;
namespace Wabbajack.UI
{
2019-11-02 20:55:14 +00:00
public class ModeSelectionWindowVM : ViewModel
2019-10-20 11:26:42 +00:00
{
2019-11-02 20:55:14 +00:00
public ObservableCollection<ModlistMetadata> ModLists { get; } = new ObservableCollection<ModlistMetadata>(ModlistMetadata.LoadFromGithub());
2019-10-20 11:26:42 +00:00
2019-11-02 23:23:11 +00:00
[Reactive]
public ModlistMetadata SelectedModList { get; set; }
2019-10-22 12:05:57 +00:00
2019-11-02 23:23:11 +00:00
[Reactive]
public bool CanInstall { get; set; }
2019-10-20 11:26:42 +00:00
internal string Download()
{
if (!Directory.Exists(Consts.ModListDownloadFolder))
Directory.CreateDirectory(Consts.ModListDownloadFolder);
2019-10-28 13:27:04 +00:00
string dest = Path.Combine(Consts.ModListDownloadFolder, SelectedModList.Links.MachineURL + ExtensionManager.Extension);
2019-10-20 11:26:42 +00:00
2019-10-20 19:30:39 +00:00
var window = new DownloadWindow(SelectedModList.Links.Download, SelectedModList.Title, dest);
2019-10-20 11:26:42 +00:00
window.ShowDialog();
if (window.Result == DownloadWindow.WindowResult.Completed)
return dest;
return null;
}
}
}