mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
commit
dfd5d7251d
@ -29,6 +29,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -37,6 +39,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -24,6 +24,8 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -33,6 +35,8 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -29,6 +29,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -37,6 +39,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -23,6 +23,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@ -32,6 +34,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -22,6 +22,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -30,6 +32,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -46,8 +46,6 @@ namespace Wabbajack.Common
|
||||
|
||||
private static readonly Subject<string> LoggerSubj = new Subject<string>();
|
||||
public static IObservable<string> LogMessages => LoggerSubj;
|
||||
private static readonly Subject<(string Message, int Progress)> StatusSubj = new Subject<(string Message, int Progress)>();
|
||||
public static IObservable<(string Message, int Progress)> StatusUpdates => StatusSubj;
|
||||
|
||||
private static readonly string[] Suffix = {"B", "KB", "MB", "GB", "TB", "PB", "EB"}; // Longs run out around EB
|
||||
|
||||
@ -78,10 +76,7 @@ namespace Wabbajack.Common
|
||||
|
||||
public static void Status(string msg, int progress = 0)
|
||||
{
|
||||
if (WorkQueue.CurrentQueue != null)
|
||||
WorkQueue.CurrentQueue.Report(msg, progress);
|
||||
else
|
||||
StatusSubj.OnNext((msg, progress));
|
||||
WorkQueue.CurrentQueue?.Report(msg, progress);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -461,7 +456,7 @@ namespace Wabbajack.Common
|
||||
}
|
||||
}
|
||||
|
||||
public static List<TR> PMap<TI, TR>(this IEnumerable<TI> coll, WorkQueue queue, StatusUpdateTracker updateTracker,
|
||||
public static TR[] PMap<TI, TR>(this IEnumerable<TI> coll, WorkQueue queue, StatusUpdateTracker updateTracker,
|
||||
Func<TI, TR> f)
|
||||
{
|
||||
var cnt = 0;
|
||||
@ -487,7 +482,7 @@ namespace Wabbajack.Common
|
||||
}
|
||||
|
||||
|
||||
public static List<TR> PMap<TI, TR>(this IEnumerable<TI> coll, WorkQueue queue,
|
||||
public static TR[] PMap<TI, TR>(this IEnumerable<TI> coll, WorkQueue queue,
|
||||
Func<TI, TR> f)
|
||||
{
|
||||
var colllst = coll.ToList();
|
||||
@ -524,7 +519,7 @@ namespace Wabbajack.Common
|
||||
if (t.IsFaulted)
|
||||
throw t.Exception;
|
||||
return t.Result;
|
||||
}).ToList();
|
||||
}).ToArray();
|
||||
}
|
||||
|
||||
public static void PMap<TI>(this IEnumerable<TI> coll, WorkQueue queue, Action<TI> f)
|
||||
|
@ -23,6 +23,8 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -31,6 +33,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -18,10 +18,10 @@ namespace Wabbajack.Common
|
||||
internal static bool WorkerThread => CurrentQueue != null;
|
||||
[ThreadStatic] internal static WorkQueue CurrentQueue;
|
||||
|
||||
private static readonly Subject<CPUStatus> _Status = new Subject<CPUStatus>();
|
||||
private readonly Subject<CPUStatus> _Status = new Subject<CPUStatus>();
|
||||
public IObservable<CPUStatus> Status => _Status;
|
||||
|
||||
public static List<Thread> Threads { get; private set; }
|
||||
public List<Thread> Threads { get; private set; }
|
||||
|
||||
public WorkQueue(int threadCount = 0)
|
||||
{
|
||||
|
@ -11,7 +11,6 @@ namespace Wabbajack.Lib
|
||||
public abstract class ABatchProcessor : IBatchProcessor
|
||||
{
|
||||
public WorkQueue Queue { get; private set; }
|
||||
private bool _configured = false;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
@ -44,17 +43,21 @@ namespace Wabbajack.Lib
|
||||
|
||||
private Thread _processorThread { get; set; }
|
||||
|
||||
private int _configured;
|
||||
private int _started;
|
||||
|
||||
protected void ConfigureProcessor(int steps, int threads = 0)
|
||||
{
|
||||
if (_configured)
|
||||
if (1 == Interlocked.CompareExchange(ref _configured, 1, 1))
|
||||
{
|
||||
throw new InvalidDataException("Can't configure a processor twice");
|
||||
}
|
||||
Queue = new WorkQueue(threads);
|
||||
UpdateTracker = new StatusUpdateTracker(steps);
|
||||
Queue.Status.Subscribe(_queueStatus);
|
||||
UpdateTracker.Progress.Subscribe(_percentCompleted);
|
||||
UpdateTracker.StepName.Subscribe(_textStatus);
|
||||
VFS = new Context(Queue) { UpdateTracker = UpdateTracker };
|
||||
_configured = true;
|
||||
}
|
||||
|
||||
public static int RecommendQueueSize(string folder)
|
||||
@ -77,13 +80,14 @@ namespace Wabbajack.Lib
|
||||
protected abstract bool _Begin();
|
||||
public Task<bool> Begin()
|
||||
{
|
||||
_isRunning.OnNext(true);
|
||||
var _tcs = new TaskCompletionSource<bool>();
|
||||
if (_processorThread != null)
|
||||
if (1 == Interlocked.CompareExchange(ref _started, 1, 1))
|
||||
{
|
||||
throw new InvalidDataException("Can't start the processor twice");
|
||||
}
|
||||
|
||||
_isRunning.OnNext(true);
|
||||
var _tcs = new TaskCompletionSource<bool>();
|
||||
|
||||
_processorThread = new Thread(() =>
|
||||
{
|
||||
try
|
||||
|
@ -39,7 +39,7 @@ namespace Wabbajack.Lib
|
||||
|
||||
public bool ShowReportWhenFinished { get; set; } = true;
|
||||
|
||||
public List<Archive> SelectedArchives = new List<Archive>();
|
||||
public ICollection<Archive> SelectedArchives = new List<Archive>();
|
||||
public List<Directive> InstallDirectives = new List<Directive>();
|
||||
public List<RawSourceFile> AllFiles = new List<RawSourceFile>();
|
||||
public ModList ModList = new ModList();
|
||||
|
@ -246,7 +246,7 @@ namespace Wabbajack.Lib
|
||||
{
|
||||
GameType = GameRegistry.Games.Values.First(f => f.MO2Name == MO2Ini.General.gameName).Game,
|
||||
WabbajackVersion = WabbajackVersion,
|
||||
Archives = SelectedArchives,
|
||||
Archives = SelectedArchives.ToList(),
|
||||
ModManager = ModManager.MO2,
|
||||
Directives = InstallDirectives,
|
||||
Name = ModListName ?? MO2Profile,
|
||||
|
@ -195,7 +195,7 @@ namespace Wabbajack.Lib
|
||||
Readme = ModListReadme ?? "",
|
||||
Image = ModListImage ?? "",
|
||||
Website = ModListWebsite ?? "",
|
||||
Archives = SelectedArchives,
|
||||
Archives = SelectedArchives.ToList(),
|
||||
ModManager = ModManager.Vortex,
|
||||
Directives = InstallDirectives,
|
||||
GameType = Game
|
||||
|
@ -23,6 +23,8 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -31,6 +33,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -30,6 +30,8 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -38,6 +40,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -30,6 +30,8 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -38,6 +40,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -29,6 +29,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -37,6 +39,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -373,7 +373,7 @@ namespace Wabbajack.VirtualFileSystem
|
||||
public ImmutableDictionary<string, ImmutableStack<VirtualFile>> ByName { get; set; }
|
||||
public ImmutableDictionary<string, VirtualFile> ByRootPath { get; }
|
||||
|
||||
public IndexRoot Integrate(List<VirtualFile> files)
|
||||
public IndexRoot Integrate(ICollection<VirtualFile> files)
|
||||
{
|
||||
Utils.Log($"Integrating {files.Count} files");
|
||||
var allFiles = AllFiles.Concat(files).GroupBy(f => f.Name).Select(g => g.Last()).ToImmutableList();
|
||||
|
@ -22,6 +22,8 @@
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
@ -30,6 +32,8 @@
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<NoWarn>CS1998</NoWarn>
|
||||
<WarningsAsErrors>CS4014</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
@ -1,22 +0,0 @@
|
||||
<Window x:Class="Wabbajack.DownloadWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Wabbajack"
|
||||
Style="{StaticResource {x:Type Window}}" Icon="../Resources/Icons/wabbajack.ico" WindowStyle="ToolWindow"
|
||||
mc:Ignorable="d"
|
||||
Title="Downloading Modlist" Height="200" Width="800">
|
||||
<StackPanel Margin="20">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock FontSize="30" Margin="0, 10">Downloading:</TextBlock>
|
||||
<TextBlock FontSize="30" Margin="10, 10" Text="{Binding DownloadName}"></TextBlock>
|
||||
</StackPanel>
|
||||
<ProgressBar Margin="0, 10" Minimum="0" Maximum="100" Height="20" Value="{Binding DownloadProgress}"></ProgressBar>
|
||||
<StackPanel HorizontalAlignment="Right">
|
||||
<Button>
|
||||
<TextBlock TextAlignment="Center" FontSize="20" Width="100">Cancel</TextBlock>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Window>
|
@ -1,102 +0,0 @@
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using Wabbajack.Common;
|
||||
using Wabbajack.Lib;
|
||||
using Wabbajack.Lib.Downloaders;
|
||||
|
||||
namespace Wabbajack
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for DownloadWindow.xaml
|
||||
/// </summary>
|
||||
public partial class DownloadWindow : Window
|
||||
{
|
||||
public enum WindowResult
|
||||
{
|
||||
Undefined,
|
||||
Completed,
|
||||
Canceled
|
||||
}
|
||||
|
||||
public WindowResult Result { get; internal set; } = WindowResult.Undefined;
|
||||
|
||||
public DownloadWindow(string url, string name, long size, string destination)
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = new DownloadWindowViewModel(this, url, name, size, destination);
|
||||
}
|
||||
}
|
||||
|
||||
public class DownloadWindowViewModel : ViewModel
|
||||
{
|
||||
|
||||
private readonly string _destination;
|
||||
private readonly DownloadWindow _parent;
|
||||
private long _size;
|
||||
|
||||
public DownloadWindowViewModel(DownloadWindow parent, string url, string name, long size, string destination)
|
||||
{
|
||||
_parent = parent;
|
||||
_url = url;
|
||||
_downloadName = name;
|
||||
_destination = destination;
|
||||
_size = size;
|
||||
|
||||
Start();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
_downloadThread = new Thread(() =>
|
||||
{
|
||||
var state = DownloadDispatcher.ResolveArchive(_url);
|
||||
state.Download(new Archive {Name = _downloadName, Size = _size}, _destination);
|
||||
_destination.FileHash();
|
||||
|
||||
|
||||
_parent.Result = DownloadWindow.WindowResult.Completed;
|
||||
_parent.Dispatcher.Invoke(() => _parent.Close());
|
||||
});
|
||||
_downloadThread.Start();
|
||||
}
|
||||
|
||||
public void Cancel()
|
||||
{
|
||||
if (_downloadThread != null && _downloadThread.IsAlive)
|
||||
{
|
||||
_downloadThread.Abort();
|
||||
}
|
||||
|
||||
File.Delete(_destination);
|
||||
_parent.Result = DownloadWindow.WindowResult.Canceled;
|
||||
}
|
||||
|
||||
|
||||
private int _downloadProgress;
|
||||
|
||||
|
||||
public int DownloadProgress
|
||||
{
|
||||
get => _downloadProgress;
|
||||
set => RaiseAndSetIfChanged(ref _downloadProgress, value);
|
||||
}
|
||||
|
||||
private string _url;
|
||||
public string Url
|
||||
{
|
||||
get => _url;
|
||||
set => RaiseAndSetIfChanged(ref _url, value);
|
||||
}
|
||||
|
||||
|
||||
private string _downloadName;
|
||||
private Thread _downloadThread;
|
||||
|
||||
public string DownloadName
|
||||
{
|
||||
get => _downloadName;
|
||||
set => RaiseAndSetIfChanged(ref _downloadName, value);
|
||||
}
|
||||
}
|
||||
}
|
@ -219,9 +219,6 @@
|
||||
</Compile>
|
||||
<Compile Include="Converters\IsNotNullVisibilityConverter.cs" />
|
||||
<Compile Include="Extensions\ReactiveUIExt.cs" />
|
||||
<Compile Include="Views\DownloadWindow.xaml.cs">
|
||||
<DependentUpon>DownloadWindow.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="View Models\ModeSelectionVM.cs" />
|
||||
<Compile Include="Views\Common\FilePicker.xaml.cs">
|
||||
<DependentUpon>FilePicker.xaml</DependentUpon>
|
||||
@ -290,10 +287,6 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\DownloadWindow.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\Common\FilePicker.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
|
Loading…
Reference in New Issue
Block a user