1.0-dev18 (prerelease 1 completed)
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace VDownload.Core.EventArgs
|
||||
{
|
||||
public class DownloadTaskEndedSuccessfullyEventArgs : System.EventArgs
|
||||
{
|
||||
#region CONSTRUCTORS
|
||||
|
||||
public DownloadTaskEndedSuccessfullyEventArgs(TimeSpan elapsedTime)
|
||||
{
|
||||
ElapsedTime = elapsedTime;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region PROPERTIES
|
||||
|
||||
public TimeSpan ElapsedTime { get; private set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace VDownload.Core.EventArgs
|
||||
{
|
||||
public class DownloadTaskEndedUnsuccessfullyEventArgs : System.EventArgs
|
||||
{
|
||||
#region CONSTRUCTORS
|
||||
|
||||
public DownloadTaskEndedUnsuccessfullyEventArgs(Exception exception)
|
||||
{
|
||||
Exception = exception;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region PROPERTIES
|
||||
|
||||
public Exception Exception { get; private set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace VDownload.Core.EventArgs
|
||||
{
|
||||
public class DownloadTaskScheduledEventArgs : System.EventArgs
|
||||
{
|
||||
#region CONSTRUCTORS
|
||||
|
||||
public DownloadTaskScheduledEventArgs(DateTime scheduledFor)
|
||||
{
|
||||
ScheduledFor = scheduledFor;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region PROPERTIES
|
||||
|
||||
public DateTime ScheduledFor { get; private set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using VDownload.Core.Enums;
|
||||
|
||||
namespace VDownload.Core.EventArgs
|
||||
{
|
||||
public class DownloadTaskStatusChangedEventArgs : System.EventArgs
|
||||
{
|
||||
#region CONSTRUCTORS
|
||||
|
||||
public DownloadTaskStatusChangedEventArgs(DownloadTaskStatus status)
|
||||
{
|
||||
Status = status;
|
||||
}
|
||||
|
||||
public DownloadTaskStatusChangedEventArgs(DownloadTaskStatus status, DateTime scheduledFor)
|
||||
{
|
||||
Status = status;
|
||||
ScheduledFor = scheduledFor;
|
||||
}
|
||||
|
||||
public DownloadTaskStatusChangedEventArgs(DownloadTaskStatus status, double progress)
|
||||
{
|
||||
Status = status;
|
||||
if (Status == DownloadTaskStatus.Downloading)
|
||||
{
|
||||
DownloadingProgress = progress;
|
||||
}
|
||||
else if (Status == DownloadTaskStatus.Processing)
|
||||
{
|
||||
ProcessingProgress = progress;
|
||||
}
|
||||
}
|
||||
|
||||
public DownloadTaskStatusChangedEventArgs(DownloadTaskStatus status, TimeSpan elapsedTime)
|
||||
{
|
||||
Status = status;
|
||||
ElapsedTime = elapsedTime;
|
||||
}
|
||||
|
||||
public DownloadTaskStatusChangedEventArgs(DownloadTaskStatus status, Exception exception)
|
||||
{
|
||||
Status = status;
|
||||
Exception = exception;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region PROPERTIES
|
||||
|
||||
public DownloadTaskStatus Status { get; private set; }
|
||||
public DateTime ScheduledFor { get; private set; }
|
||||
public double DownloadingProgress { get; private set; }
|
||||
public double ProcessingProgress { get; private set; }
|
||||
public TimeSpan ElapsedTime { get; private set; }
|
||||
public Exception Exception { get; private set; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -26,7 +26,6 @@ namespace VDownload.Core.Services
|
||||
{ "default_video_extension", (int)VideoFileExtension.MP4 },
|
||||
{ "default_audio_extension", (int)AudioFileExtension.MP3 },
|
||||
{ "custom_media_location", false },
|
||||
{ "custom_temp_location", false },
|
||||
{ "max_active_video_task", 5 },
|
||||
{ "replace_output_file_if_exists", false },
|
||||
{ "remove_task_when_successfully_ended", false },
|
||||
|
||||
@@ -27,6 +27,7 @@ namespace VDownload.Core.Structs
|
||||
Schedule = schedule;
|
||||
|
||||
Status = DownloadTaskStatus.Idle;
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status);
|
||||
CancellationTokenSource = new CancellationTokenSource();
|
||||
}
|
||||
|
||||
@@ -44,14 +45,9 @@ namespace VDownload.Core.Structs
|
||||
public OutputFile File { get; set; }
|
||||
public double Schedule { get; set; }
|
||||
public DownloadTaskStatus Status { get; private set; }
|
||||
public DownloadTaskStatusChangedEventArgs LastStatusChangedEventArgs { get; private set; }
|
||||
public CancellationTokenSource CancellationTokenSource { get; private set; }
|
||||
|
||||
public DateTime ScheduledFor { get; private set; }
|
||||
public double DownloadingProgress { get; private set; }
|
||||
public double ProcessingProgress { get; private set; }
|
||||
public TimeSpan ElapsedTime { get; private set; }
|
||||
public Exception Exception { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -60,30 +56,35 @@ namespace VDownload.Core.Structs
|
||||
|
||||
public async Task Run(bool delayWhenOnMeteredConnection)
|
||||
{
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
StatusChanged.Invoke(this, new DownloadTaskStatusChangedEventArgs(Status));
|
||||
|
||||
CancellationTokenSource = new CancellationTokenSource();
|
||||
|
||||
if (Schedule > 0)
|
||||
{
|
||||
ScheduledFor = DateTime.Now.AddMinutes(Schedule);
|
||||
DateTime scheduleFor = DateTime.Now.AddMinutes(Schedule);
|
||||
Status = DownloadTaskStatus.Scheduled;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
while (DateTime.Now < ScheduledFor && !CancellationTokenSource.Token.IsCancellationRequested) await Task.Delay(100);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, scheduleFor);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
while (DateTime.Now < scheduleFor && !CancellationTokenSource.Token.IsCancellationRequested)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
}
|
||||
|
||||
Status = DownloadTaskStatus.Queued;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
await DownloadTasksCollectionManagement.WaitInQueue(delayWhenOnMeteredConnection, CancellationTokenSource.Token);
|
||||
|
||||
if (!CancellationTokenSource.Token.IsCancellationRequested)
|
||||
{
|
||||
DownloadingProgress = 0;
|
||||
Status = DownloadTaskStatus.Downloading;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, 0);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
|
||||
StorageFolder tempFolder;
|
||||
if ((bool)Config.GetValue("custom_temp_location") && StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_temp_location"))
|
||||
if (StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_temp_location"))
|
||||
{
|
||||
tempFolder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("custom_temp_location");
|
||||
}
|
||||
@@ -112,7 +113,8 @@ namespace VDownload.Core.Structs
|
||||
session.Dispose();
|
||||
|
||||
Status = DownloadTaskStatus.Finalizing;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
|
||||
StorageFile outputFile = await File.Create();
|
||||
|
||||
@@ -121,16 +123,16 @@ namespace VDownload.Core.Structs
|
||||
|
||||
taskStopwatch.Stop();
|
||||
|
||||
ElapsedTime = taskStopwatch.Elapsed;
|
||||
Status = DownloadTaskStatus.EndedSuccessfully;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, taskStopwatch.Elapsed);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
endedWithError = true;
|
||||
Exception = ex;
|
||||
Status = DownloadTaskStatus.EndedUnsuccessfully;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, ex);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -143,24 +145,24 @@ namespace VDownload.Core.Structs
|
||||
}
|
||||
else
|
||||
{
|
||||
Exception = new OperationCanceledException(CancellationTokenSource.Token);
|
||||
Status = DownloadTaskStatus.EndedUnsuccessfully;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, new OperationCanceledException(CancellationTokenSource.Token));
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
}
|
||||
}
|
||||
|
||||
private void DownloadingProgressChanged(object sender, ProgressChangedEventArgs e)
|
||||
{
|
||||
DownloadingProgress = e.Progress;
|
||||
Status = DownloadTaskStatus.Downloading;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, e.Progress);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
}
|
||||
|
||||
private void ProcessingProgressChanged(object sender, ProgressChangedEventArgs e)
|
||||
{
|
||||
ProcessingProgress = e.Progress;
|
||||
Status = DownloadTaskStatus.Processing;
|
||||
StatusChanged.Invoke(this, System.EventArgs.Empty);
|
||||
LastStatusChangedEventArgs = new DownloadTaskStatusChangedEventArgs(Status, e.Progress);
|
||||
StatusChanged.Invoke(this, LastStatusChangedEventArgs);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -169,7 +171,7 @@ namespace VDownload.Core.Structs
|
||||
|
||||
#region EVENT
|
||||
|
||||
public event EventHandler StatusChanged;
|
||||
public event EventHandler<DownloadTaskStatusChangedEventArgs> StatusChanged;
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -128,11 +128,9 @@
|
||||
<Compile Include="Enums\VideoFileExtension.cs" />
|
||||
<Compile Include="Enums\VideoSource.cs" />
|
||||
<Compile Include="Enums\DownloadTaskStatus.cs" />
|
||||
<Compile Include="EventArgs\DownloadTaskEndedUnsuccessfullyEventArgs.cs" />
|
||||
<Compile Include="EventArgs\DownloadTaskEndedSuccessfullyEventArgs.cs" />
|
||||
<Compile Include="EventArgs\DownloadTaskScheduledEventArgs.cs" />
|
||||
<Compile Include="EventArgs\ProgressChangedEventArgs.cs" />
|
||||
<Compile Include="EventArgs\DownloadTasksAddingRequestedEventArgs.cs" />
|
||||
<Compile Include="EventArgs\DownloadTaskStatusChangedEventArgs.cs" />
|
||||
<Compile Include="EventArgs\ProgressChangedEventArgs.cs" />
|
||||
<Compile Include="EventArgs\PlaylistSearchSuccessedEventArgs.cs" />
|
||||
<Compile Include="EventArgs\SubscriptionLoadSuccessedEventArgs.cs" />
|
||||
<Compile Include="EventArgs\VideoSearchSuccessedEventArgs.cs" />
|
||||
|
||||
@@ -35,14 +35,13 @@ namespace VDownload
|
||||
protected override async void OnLaunched(LaunchActivatedEventArgs e)
|
||||
{
|
||||
// Rebuild configuration file
|
||||
//Config.Rebuild();
|
||||
Config.SetDefault();
|
||||
Config.Rebuild();
|
||||
|
||||
// Delete temp on start
|
||||
if ((bool)Config.GetValue("delete_temp_on_start"))
|
||||
{
|
||||
IReadOnlyList<IStorageItem> tempItems;
|
||||
if ((bool)Config.GetValue("custom_temp_location") && StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_temp_location"))
|
||||
if (StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_temp_location"))
|
||||
tempItems = await (await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("custom_temp_location")).GetItemsAsync();
|
||||
else
|
||||
tempItems = await ApplicationData.Current.TemporaryFolder.GetItemsAsync();
|
||||
|
||||
12
VDownload/Assets/Icons/ActiveTasksNumberDark.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1470 1470"><g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M800,650L800,1116.67" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:100px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M583.333,900L800,1116.67L1016.67,900" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:100px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M683.333,250L416.667,250C361.433,250 316.667,294.767 316.667,350L316.667,1316.67C316.667,1371.9 361.433,1416.67 416.667,1416.67L1183.33,1416.67C1238.57,1416.67 1283.33,1371.9 1283.33,1316.67L1283.33,350C1283.33,294.767 1238.57,250 1183.33,250L916.667,250" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:100px;stroke-linecap:butt;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M916.667,350L683.333,350L683.333,166.667C683.333,102.233 735.567,50 800,50C864.433,50 916.667,102.233 916.667,166.667L916.667,350Z" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:100px;stroke-linecap:butt;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
12
VDownload/Assets/Icons/ActiveTasksNumberLight.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1470 1470"><g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M800,650L800,1116.67" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:100px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M583.333,900L800,1116.67L1016.67,900" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:100px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M683.333,250L416.667,250C361.433,250 316.667,294.767 316.667,350L316.667,1316.67C316.667,1371.9 361.433,1416.67 416.667,1416.67L1183.33,1416.67C1238.57,1416.67 1283.33,1371.9 1283.33,1316.67L1283.33,350C1283.33,294.767 1238.57,250 1183.33,250L916.667,250" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:100px;stroke-linecap:butt;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-65,0)">
|
||||
<path d="M916.667,350L683.333,350L683.333,166.667C683.333,102.233 735.567,50 800,50C864.433,50 916.667,102.233 916.667,166.667L916.667,350Z" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:100px;stroke-linecap:butt;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
3
VDownload/Assets/Icons/CustomMediaLocationDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M283.333,266.667C201.083,266.667 133.333,334.417 133.333,416.667L133.333,1183.33C133.333,1265.58 201.083,1333.33 283.333,1333.33L1316.67,1333.33C1398.92,1333.33 1466.67,1265.58 1466.67,1183.33L1466.67,583.333C1466.67,501.083 1398.92,433.333 1316.67,433.333L801.432,433.333L652.474,309.18C652.452,309.18 652.431,309.18 652.409,309.18C619.47,281.737 577.972,266.667 535.091,266.667L283.333,266.667ZM283.333,366.667L535.091,366.667C554.61,366.667 573.419,373.512 588.411,386.003L751.302,521.745C760.292,529.236 771.632,533.338 783.333,533.333L1316.67,533.333C1344.88,533.333 1366.67,555.117 1366.67,583.333L1366.67,1183.33C1366.67,1211.55 1344.88,1233.33 1316.67,1233.33L283.333,1233.33C255.117,1233.33 233.333,1211.55 233.333,1183.33L233.333,416.667C233.333,388.45 255.117,366.667 283.333,366.667ZM952.279,600.911C905.24,600.314 857.963,617.555 821.94,652.734L800,674.219L778.06,652.799C742.034,617.64 694.808,600.392 647.786,600.977C600.765,601.561 553.952,619.964 518.815,655.99C448.51,728.026 449.972,844.933 522.005,915.234L765.104,1152.47C784.4,1171.28 815.6,1171.28 834.896,1152.47L1078.06,915.169C1150.07,844.889 1151.49,728.031 1081.25,655.99C1046.12,619.944 999.317,601.509 952.279,600.911ZM648.958,700.326C670.184,700.068 691.529,708.075 708.203,724.349L765.104,779.818C784.4,798.618 815.6,798.618 834.896,779.818L891.797,724.349C891.819,724.327 891.84,724.306 891.862,724.284C908.539,707.997 929.829,700.06 951.042,700.326C972.254,700.592 993.369,709.093 1009.63,725.781C1042.2,759.145 1041.57,811.055 1008.2,843.62L800,1046.81L591.797,843.62C558.43,811.055 557.803,759.21 590.365,725.846C590.365,725.825 590.365,725.803 590.365,725.781C606.627,709.107 627.733,700.583 648.958,700.326Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
3
VDownload/Assets/Icons/CustomMediaLocationLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M283.333,266.667C201.083,266.667 133.333,334.417 133.333,416.667L133.333,1183.33C133.333,1265.58 201.083,1333.33 283.333,1333.33L1316.67,1333.33C1398.92,1333.33 1466.67,1265.58 1466.67,1183.33L1466.67,583.333C1466.67,501.083 1398.92,433.333 1316.67,433.333L801.432,433.333L652.474,309.18C652.452,309.18 652.431,309.18 652.409,309.18C619.47,281.737 577.972,266.667 535.091,266.667L283.333,266.667ZM283.333,366.667L535.091,366.667C554.61,366.667 573.419,373.512 588.411,386.003L751.302,521.745C760.292,529.236 771.632,533.338 783.333,533.333L1316.67,533.333C1344.88,533.333 1366.67,555.117 1366.67,583.333L1366.67,1183.33C1366.67,1211.55 1344.88,1233.33 1316.67,1233.33L283.333,1233.33C255.117,1233.33 233.333,1211.55 233.333,1183.33L233.333,416.667C233.333,388.45 255.117,366.667 283.333,366.667ZM952.279,600.911C905.24,600.314 857.963,617.555 821.94,652.734L800,674.219L778.06,652.799C742.034,617.64 694.808,600.392 647.786,600.977C600.765,601.561 553.952,619.964 518.815,655.99C448.51,728.026 449.972,844.933 522.005,915.234L765.104,1152.47C784.4,1171.28 815.6,1171.28 834.896,1152.47L1078.06,915.169C1150.07,844.889 1151.49,728.031 1081.25,655.99C1046.12,619.944 999.317,601.509 952.279,600.911ZM648.958,700.326C670.184,700.068 691.529,708.075 708.203,724.349L765.104,779.818C784.4,798.618 815.6,798.618 834.896,779.818L891.797,724.349C891.819,724.327 891.84,724.306 891.862,724.284C908.539,707.997 929.829,700.06 951.042,700.326C972.254,700.592 993.369,709.093 1009.63,725.781C1042.2,759.145 1041.57,811.055 1008.2,843.62L800,1046.81L591.797,843.62C558.43,811.055 557.803,759.21 590.365,725.846C590.365,725.825 590.365,725.803 590.365,725.781C606.627,709.107 627.733,700.583 648.958,700.326Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
3
VDownload/Assets/Icons/DefaultAudioExtensionDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M416.667,133.333C334.417,133.333 266.667,201.083 266.667,283.333L266.667,1316.67C266.667,1398.92 334.417,1466.67 416.667,1466.67L1183.33,1466.67C1265.58,1466.67 1333.33,1398.92 1333.33,1316.67L1333.33,616.667C1333.33,603.412 1328.06,590.687 1318.68,581.315L885.352,147.982C875.98,138.609 863.255,133.336 850,133.333L416.667,133.333ZM416.667,233.333L800,233.333L800,516.667C800,598.917 867.75,666.667 950,666.667L1233.33,666.667L1233.33,1316.67C1233.33,1344.88 1211.55,1366.67 1183.33,1366.67L416.667,1366.67C388.45,1366.67 366.667,1344.88 366.667,1316.67L366.667,283.333C366.667,255.117 388.45,233.333 416.667,233.333ZM900,304.036L1162.63,566.667L950,566.667C921.783,566.667 900,544.883 900,516.667L900,304.036ZM829.753,766.862C824.415,767.445 819.232,769.313 814.648,772.396C805.515,778.596 800,788.933 800,800L800,1080.53C780.333,1071.93 757.733,1066.67 733.333,1066.67C659.7,1066.67 600,1111.43 600,1166.67C600,1221.9 659.7,1266.67 733.333,1266.67C806.967,1266.67 866.667,1221.9 866.667,1166.67L866.667,949.219L987.63,997.656C997.93,1001.79 1009.55,1000.47 1018.69,994.271C1027.85,988.071 1033.33,977.733 1033.33,966.667L1033.33,911.784C1033.33,870.651 1008.64,834.245 970.443,818.945L845.703,769.01C840.57,766.96 835.09,766.279 829.753,766.862Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
VDownload/Assets/Icons/DefaultAudioExtensionLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M416.667,133.333C334.417,133.333 266.667,201.083 266.667,283.333L266.667,1316.67C266.667,1398.92 334.417,1466.67 416.667,1466.67L1183.33,1466.67C1265.58,1466.67 1333.33,1398.92 1333.33,1316.67L1333.33,616.667C1333.33,603.412 1328.06,590.687 1318.68,581.315L885.352,147.982C875.98,138.609 863.255,133.336 850,133.333L416.667,133.333ZM416.667,233.333L800,233.333L800,516.667C800,598.917 867.75,666.667 950,666.667L1233.33,666.667L1233.33,1316.67C1233.33,1344.88 1211.55,1366.67 1183.33,1366.67L416.667,1366.67C388.45,1366.67 366.667,1344.88 366.667,1316.67L366.667,283.333C366.667,255.117 388.45,233.333 416.667,233.333ZM900,304.036L1162.63,566.667L950,566.667C921.783,566.667 900,544.883 900,516.667L900,304.036ZM829.753,766.862C824.415,767.445 819.232,769.313 814.648,772.396C805.515,778.596 800,788.933 800,800L800,1080.53C780.333,1071.93 757.733,1066.67 733.333,1066.67C659.7,1066.67 600,1111.43 600,1166.67C600,1221.9 659.7,1266.67 733.333,1266.67C806.967,1266.67 866.667,1221.9 866.667,1166.67L866.667,949.219L987.63,997.656C997.93,1001.79 1009.55,1000.47 1018.69,994.271C1027.85,988.071 1033.33,977.733 1033.33,966.667L1033.33,911.784C1033.33,870.651 1008.64,834.245 970.443,818.945L845.703,769.01C840.57,766.96 835.09,766.279 829.753,766.862Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
VDownload/Assets/Icons/DefaultMediaTypeDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1600"><g transform="matrix(1.23077,0,0,1.23077,-204.462,-187.385)">
|
||||
<path d="M350,200C249.341,200 166.667,282.674 166.667,383.333L166.667,1216.67C166.667,1317.33 249.341,1400 350,1400L1283.33,1400C1383.99,1400 1466.67,1317.33 1466.67,1216.67L1466.67,383.333C1466.67,282.674 1383.99,200 1283.33,200L350,200ZM350,300L1283.33,300C1329.94,300 1366.67,336.726 1366.67,383.333L1366.67,1216.67C1366.67,1263.27 1329.94,1300 1283.33,1300L350,1300C303.392,1300 266.667,1263.27 266.667,1216.67L266.667,383.333C266.667,336.726 303.392,300 350,300ZM366.667,350C348.267,350 333.333,364.933 333.333,383.333L333.333,416.667C333.333,435.067 348.267,450 366.667,450L400,450C418.4,450 433.333,435.067 433.333,416.667L433.333,383.333C433.333,364.933 418.4,350 400,350L366.667,350ZM1233.33,350C1214.93,350 1200,364.933 1200,383.333L1200,416.667C1200,435.067 1214.93,450 1233.33,450L1266.67,450C1285.07,450 1300,435.067 1300,416.667L1300,383.333C1300,364.933 1285.07,350 1266.67,350L1233.33,350ZM683.333,533.398C668.77,533.398 654.043,537.201 640.951,544.922C615.478,559.97 600,587.195 600,616.732L600,983.398C600,1012.87 615.401,1039.96 640.885,1055.01C666.823,1070.43 697.284,1070.78 723.503,1056.38L1056.84,873.047L1056.9,872.982C1083.33,858.401 1100,830.405 1100,800.065C1100,769.725 1083.33,741.665 1056.9,727.083L1056.84,727.018L723.438,543.685L723.372,543.62C710.907,536.807 697.1,533.398 683.333,533.398ZM366.667,550C348.267,550 333.333,564.933 333.333,583.333L333.333,616.667C333.333,635.067 348.267,650 366.667,650L400,650C418.4,650 433.333,635.067 433.333,616.667L433.333,583.333C433.333,564.933 418.4,550 400,550L366.667,550ZM1233.33,550C1214.93,550 1200,564.933 1200,583.333L1200,616.667C1200,635.067 1214.93,650 1233.33,650L1266.67,650C1285.07,650 1300,635.067 1300,616.667L1300,583.333C1300,564.933 1285.07,550 1266.67,550L1233.33,550ZM700,644.857L982.096,800L700,955.208L700,644.857ZM366.667,750C348.267,750 333.333,764.933 333.333,783.333L333.333,816.667C333.333,835.067 348.267,850 366.667,850L400,850C418.4,850 433.333,835.067 433.333,816.667L433.333,783.333C433.333,764.933 418.4,750 400,750L366.667,750ZM1233.33,750C1214.93,750 1200,764.933 1200,783.333L1200,816.667C1200,835.067 1214.93,850 1233.33,850L1266.67,850C1285.07,850 1300,835.067 1300,816.667L1300,783.333C1300,764.933 1285.07,750 1266.67,750L1233.33,750ZM366.667,950C348.267,950 333.333,964.933 333.333,983.333L333.333,1016.67C333.333,1035.07 348.267,1050 366.667,1050L400,1050C418.4,1050 433.333,1035.07 433.333,1016.67L433.333,983.333C433.333,964.933 418.4,950 400,950L366.667,950ZM1233.33,950C1214.93,950 1200,964.933 1200,983.333L1200,1016.67C1200,1035.07 1214.93,1050 1233.33,1050L1266.67,1050C1285.07,1050 1300,1035.07 1300,1016.67L1300,983.333C1300,964.933 1285.07,950 1266.67,950L1233.33,950ZM366.667,1150C348.267,1150 333.333,1164.93 333.333,1183.33L333.333,1216.67C333.333,1235.07 348.267,1250 366.667,1250L400,1250C418.4,1250 433.333,1235.07 433.333,1216.67L433.333,1183.33C433.333,1164.93 418.4,1150 400,1150L366.667,1150ZM1233.33,1150C1214.93,1150 1200,1164.93 1200,1183.33L1200,1216.67C1200,1235.07 1214.93,1250 1233.33,1250L1266.67,1250C1285.07,1250 1300,1235.07 1300,1216.67L1300,1183.33C1300,1164.93 1285.07,1150 1266.67,1150L1233.33,1150Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
3
VDownload/Assets/Icons/DefaultMediaTypeLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1600"><g transform="matrix(1.23077,0,0,1.23077,-204.462,-187.385)">
|
||||
<path d="M350,200C249.341,200 166.667,282.674 166.667,383.333L166.667,1216.67C166.667,1317.33 249.341,1400 350,1400L1283.33,1400C1383.99,1400 1466.67,1317.33 1466.67,1216.67L1466.67,383.333C1466.67,282.674 1383.99,200 1283.33,200L350,200ZM350,300L1283.33,300C1329.94,300 1366.67,336.726 1366.67,383.333L1366.67,1216.67C1366.67,1263.27 1329.94,1300 1283.33,1300L350,1300C303.392,1300 266.667,1263.27 266.667,1216.67L266.667,383.333C266.667,336.726 303.392,300 350,300ZM366.667,350C348.267,350 333.333,364.933 333.333,383.333L333.333,416.667C333.333,435.067 348.267,450 366.667,450L400,450C418.4,450 433.333,435.067 433.333,416.667L433.333,383.333C433.333,364.933 418.4,350 400,350L366.667,350ZM1233.33,350C1214.93,350 1200,364.933 1200,383.333L1200,416.667C1200,435.067 1214.93,450 1233.33,450L1266.67,450C1285.07,450 1300,435.067 1300,416.667L1300,383.333C1300,364.933 1285.07,350 1266.67,350L1233.33,350ZM683.333,533.398C668.77,533.398 654.043,537.201 640.951,544.922C615.478,559.97 600,587.195 600,616.732L600,983.398C600,1012.87 615.401,1039.96 640.885,1055.01C666.823,1070.43 697.284,1070.78 723.503,1056.38L1056.84,873.047L1056.9,872.982C1083.33,858.401 1100,830.405 1100,800.065C1100,769.725 1083.33,741.665 1056.9,727.083L1056.84,727.018L723.438,543.685L723.372,543.62C710.907,536.807 697.1,533.398 683.333,533.398ZM366.667,550C348.267,550 333.333,564.933 333.333,583.333L333.333,616.667C333.333,635.067 348.267,650 366.667,650L400,650C418.4,650 433.333,635.067 433.333,616.667L433.333,583.333C433.333,564.933 418.4,550 400,550L366.667,550ZM1233.33,550C1214.93,550 1200,564.933 1200,583.333L1200,616.667C1200,635.067 1214.93,650 1233.33,650L1266.67,650C1285.07,650 1300,635.067 1300,616.667L1300,583.333C1300,564.933 1285.07,550 1266.67,550L1233.33,550ZM700,644.857L982.096,800L700,955.208L700,644.857ZM366.667,750C348.267,750 333.333,764.933 333.333,783.333L333.333,816.667C333.333,835.067 348.267,850 366.667,850L400,850C418.4,850 433.333,835.067 433.333,816.667L433.333,783.333C433.333,764.933 418.4,750 400,750L366.667,750ZM1233.33,750C1214.93,750 1200,764.933 1200,783.333L1200,816.667C1200,835.067 1214.93,850 1233.33,850L1266.67,850C1285.07,850 1300,835.067 1300,816.667L1300,783.333C1300,764.933 1285.07,750 1266.67,750L1233.33,750ZM366.667,950C348.267,950 333.333,964.933 333.333,983.333L333.333,1016.67C333.333,1035.07 348.267,1050 366.667,1050L400,1050C418.4,1050 433.333,1035.07 433.333,1016.67L433.333,983.333C433.333,964.933 418.4,950 400,950L366.667,950ZM1233.33,950C1214.93,950 1200,964.933 1200,983.333L1200,1016.67C1200,1035.07 1214.93,1050 1233.33,1050L1266.67,1050C1285.07,1050 1300,1035.07 1300,1016.67L1300,983.333C1300,964.933 1285.07,950 1266.67,950L1233.33,950ZM366.667,1150C348.267,1150 333.333,1164.93 333.333,1183.33L333.333,1216.67C333.333,1235.07 348.267,1250 366.667,1250L400,1250C418.4,1250 433.333,1235.07 433.333,1216.67L433.333,1183.33C433.333,1164.93 418.4,1150 400,1150L366.667,1150ZM1233.33,1150C1214.93,1150 1200,1164.93 1200,1183.33L1200,1216.67C1200,1235.07 1214.93,1250 1233.33,1250L1266.67,1250C1285.07,1250 1300,1235.07 1300,1216.67L1300,1183.33C1300,1164.93 1285.07,1150 1266.67,1150L1233.33,1150Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
3
VDownload/Assets/Icons/DefaultVideoExtensionDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M416.667,133.333C334.417,133.333 266.667,201.083 266.667,283.333L266.667,1316.67C266.667,1398.92 334.417,1466.67 416.667,1466.67L1183.33,1466.67C1265.58,1466.67 1333.33,1398.92 1333.33,1316.67L1333.33,616.667C1333.33,603.412 1328.06,590.687 1318.68,581.315L885.352,147.982C875.98,138.609 863.255,133.336 850,133.333L416.667,133.333ZM416.667,233.333L800,233.333L800,516.667C800,598.917 867.75,666.667 950,666.667L1233.33,666.667L1233.33,1316.67C1233.33,1344.88 1211.55,1366.67 1183.33,1366.67L416.667,1366.67C388.45,1366.67 366.667,1344.88 366.667,1316.67L366.667,283.333C366.667,255.117 388.45,233.333 416.667,233.333ZM900,304.036L1162.63,566.667L950,566.667C921.783,566.667 900,544.883 900,516.667L900,304.036ZM650,733.398C635.437,733.398 620.71,737.201 607.617,744.922C582.145,759.97 566.667,787.13 566.667,816.667L566.667,1183.33C566.667,1212.77 582.052,1239.89 607.487,1254.95C633.437,1270.4 663.932,1270.79 690.169,1256.38L1023.5,1072.98L1023.57,1072.98C1050,1058.4 1066.67,1030.34 1066.67,1000C1066.67,969.66 1050,941.6 1023.57,927.018L1023.5,927.018L690.104,743.62L690.039,743.62C677.572,736.804 663.766,733.398 650,733.398ZM666.667,844.792L948.828,1000L666.667,1155.21L666.667,844.792ZM641.992,1168.68C642.039,1168.66 642.076,1168.71 642.122,1168.68L641.992,1168.75L641.992,1168.68Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
VDownload/Assets/Icons/DefaultVideoExtensionLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M416.667,133.333C334.417,133.333 266.667,201.083 266.667,283.333L266.667,1316.67C266.667,1398.92 334.417,1466.67 416.667,1466.67L1183.33,1466.67C1265.58,1466.67 1333.33,1398.92 1333.33,1316.67L1333.33,616.667C1333.33,603.412 1328.06,590.687 1318.68,581.315L885.352,147.982C875.98,138.609 863.255,133.336 850,133.333L416.667,133.333ZM416.667,233.333L800,233.333L800,516.667C800,598.917 867.75,666.667 950,666.667L1233.33,666.667L1233.33,1316.67C1233.33,1344.88 1211.55,1366.67 1183.33,1366.67L416.667,1366.67C388.45,1366.67 366.667,1344.88 366.667,1316.67L366.667,283.333C366.667,255.117 388.45,233.333 416.667,233.333ZM900,304.036L1162.63,566.667L950,566.667C921.783,566.667 900,544.883 900,516.667L900,304.036ZM650,733.398C635.437,733.398 620.71,737.201 607.617,744.922C582.145,759.97 566.667,787.13 566.667,816.667L566.667,1183.33C566.667,1212.77 582.052,1239.89 607.487,1254.95C633.437,1270.4 663.932,1270.79 690.169,1256.38L1023.5,1072.98L1023.57,1072.98C1050,1058.4 1066.67,1030.34 1066.67,1000C1066.67,969.66 1050,941.6 1023.57,927.018L1023.5,927.018L690.104,743.62L690.039,743.62C677.572,736.804 663.766,733.398 650,733.398ZM666.667,844.792L948.828,1000L666.667,1155.21L666.667,844.792ZM641.992,1168.68C642.039,1168.66 642.076,1168.71 642.122,1168.68L641.992,1168.75L641.992,1168.68Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1405 1405"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M800,133.333C690.138,133.333 600,223.471 600,333.333L250,333.333C249.764,333.33 249.529,333.328 249.293,333.328C221.861,333.328 199.288,355.901 199.288,383.333C199.288,410.765 221.861,433.338 249.293,433.338C249.529,433.338 249.764,433.337 250,433.333L333.333,433.333L333.333,1283.33C333.333,1384.43 415.567,1466.67 516.667,1466.67L854.427,1466.67C825.927,1437.03 801.687,1403.43 782.487,1366.67L516.667,1366.67C470.733,1366.67 433.333,1329.27 433.333,1283.33L433.333,433.333L1166.67,433.333L1166.67,733.333C1201.13,733.333 1234.5,737.778 1266.67,745.378L1266.67,433.333L1350,433.333C1350.24,433.337 1350.47,433.338 1350.71,433.338C1378.14,433.338 1400.71,410.765 1400.71,383.333C1400.71,355.901 1378.14,333.328 1350.71,333.328C1350.47,333.328 1350.24,333.33 1350,333.333L1000,333.333C1000,223.471 909.862,133.333 800,133.333ZM800,233.333C855.805,233.333 900,277.529 900,333.333L700,333.333C700,277.529 744.196,233.333 800,233.333ZM682.552,599.284C655.148,599.712 632.94,622.595 633.333,650L633.333,1150C633.33,1150.24 633.328,1150.47 633.328,1150.71C633.328,1178.14 655.901,1200.71 683.333,1200.71C710.765,1200.71 733.338,1178.14 733.338,1150.71C733.338,1150.47 733.337,1150.24 733.333,1150L733.333,650C733.337,649.761 733.338,649.522 733.338,649.283C733.338,621.851 710.765,599.278 683.333,599.278C683.073,599.278 682.813,599.28 682.552,599.284ZM916.667,600C889.033,600 866.667,622.367 866.667,650L866.667,854.427C896.3,825.927 929.9,801.687 966.667,782.487L966.667,650C966.667,622.367 944.3,600 916.667,600ZM1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1000,966.667C1008.52,966.667 1017.05,969.916 1023.57,976.432L1166.67,1119.53L1309.77,976.432C1322.8,963.399 1343.87,963.399 1356.9,976.432C1369.93,989.466 1369.93,1010.53 1356.9,1023.57L1213.8,1166.67L1356.9,1309.77C1369.93,1322.8 1369.93,1343.87 1356.9,1356.9C1350.4,1363.4 1341.87,1366.67 1333.33,1366.67C1324.8,1366.67 1316.27,1363.4 1309.77,1356.9L1166.67,1213.8L1023.57,1356.9C1017.07,1363.4 1008.53,1366.67 1000,1366.67C991.467,1366.67 982.932,1363.4 976.432,1356.9C963.399,1343.87 963.399,1322.8 976.432,1309.77L1119.53,1166.67L976.432,1023.57C963.399,1010.53 963.399,989.466 976.432,976.432C982.949,969.916 991.475,966.667 1000,966.667Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1405 1405"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M800,133.333C690.138,133.333 600,223.471 600,333.333L250,333.333C249.764,333.33 249.529,333.328 249.293,333.328C221.861,333.328 199.288,355.901 199.288,383.333C199.288,410.765 221.861,433.338 249.293,433.338C249.529,433.338 249.764,433.337 250,433.333L333.333,433.333L333.333,1283.33C333.333,1384.43 415.567,1466.67 516.667,1466.67L854.427,1466.67C825.927,1437.03 801.687,1403.43 782.487,1366.67L516.667,1366.67C470.733,1366.67 433.333,1329.27 433.333,1283.33L433.333,433.333L1166.67,433.333L1166.67,733.333C1201.13,733.333 1234.5,737.778 1266.67,745.378L1266.67,433.333L1350,433.333C1350.24,433.337 1350.47,433.338 1350.71,433.338C1378.14,433.338 1400.71,410.765 1400.71,383.333C1400.71,355.901 1378.14,333.328 1350.71,333.328C1350.47,333.328 1350.24,333.33 1350,333.333L1000,333.333C1000,223.471 909.862,133.333 800,133.333ZM800,233.333C855.805,233.333 900,277.529 900,333.333L700,333.333C700,277.529 744.196,233.333 800,233.333ZM682.552,599.284C655.148,599.712 632.94,622.595 633.333,650L633.333,1150C633.33,1150.24 633.328,1150.47 633.328,1150.71C633.328,1178.14 655.901,1200.71 683.333,1200.71C710.765,1200.71 733.338,1178.14 733.338,1150.71C733.338,1150.47 733.337,1150.24 733.333,1150L733.333,650C733.337,649.761 733.338,649.522 733.338,649.283C733.338,621.851 710.765,599.278 683.333,599.278C683.073,599.278 682.813,599.28 682.552,599.284ZM916.667,600C889.033,600 866.667,622.367 866.667,650L866.667,854.427C896.3,825.927 929.9,801.687 966.667,782.487L966.667,650C966.667,622.367 944.3,600 916.667,600ZM1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1000,966.667C1008.52,966.667 1017.05,969.916 1023.57,976.432L1166.67,1119.53L1309.77,976.432C1322.8,963.399 1343.87,963.399 1356.9,976.432C1369.93,989.466 1369.93,1010.53 1356.9,1023.57L1213.8,1166.67L1356.9,1309.77C1369.93,1322.8 1369.93,1343.87 1356.9,1356.9C1350.4,1363.4 1341.87,1366.67 1333.33,1366.67C1324.8,1366.67 1316.27,1363.4 1309.77,1356.9L1166.67,1213.8L1023.57,1356.9C1017.07,1363.4 1008.53,1366.67 1000,1366.67C991.467,1366.67 982.932,1363.4 976.432,1356.9C963.399,1343.87 963.399,1322.8 976.432,1309.77L1119.53,1166.67L976.432,1023.57C963.399,1010.53 963.399,989.466 976.432,976.432C982.949,969.916 991.475,966.667 1000,966.667Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1330 1330"> <g transform="matrix(1,0,0,1,-135,-135)">
|
||||
<path d="M800,133.333C683.056,133.333 585.68,220.714 569.336,333.333L341.276,333.333C338.437,332.848 335.562,332.608 332.682,332.617C330.194,332.671 327.713,332.91 325.26,333.333L216.667,333.333C216.431,333.33 216.195,333.328 215.96,333.328C188.528,333.328 165.955,355.901 165.955,383.333C165.955,410.765 188.528,433.338 215.96,433.338C216.195,433.338 216.431,433.337 216.667,433.333L287.956,433.333L371.875,1300.98C380.911,1394.53 460.393,1466.67 554.362,1466.67L1045.57,1466.67C1139.55,1466.67 1219.03,1394.54 1228.06,1300.98L1312.04,433.333L1383.33,433.333C1383.57,433.337 1383.81,433.338 1384.04,433.338C1411.47,433.338 1434.05,410.765 1434.05,383.333C1434.05,355.901 1411.47,333.328 1384.04,333.328C1383.81,333.328 1383.57,333.33 1383.33,333.333L1274.81,333.333C1269.5,332.473 1264.09,332.473 1258.79,333.333L1030.66,333.333C1014.32,220.714 916.944,133.333 800,133.333ZM800,233.333C862.639,233.333 914.026,275.605 928.711,333.333L671.289,333.333C685.974,275.605 737.361,233.333 800,233.333ZM388.346,433.333L1211.59,433.333L1128.52,1291.34C1124.35,1334.51 1088.93,1366.67 1045.57,1366.67L554.362,1366.67C511.065,1366.67 475.583,1334.45 471.419,1291.34L388.346,433.333ZM682.552,599.284C655.148,599.712 632.94,622.595 633.333,650L633.333,1150C633.33,1150.24 633.328,1150.47 633.328,1150.71C633.328,1178.14 655.901,1200.71 683.333,1200.71C710.765,1200.71 733.338,1178.14 733.338,1150.71C733.338,1150.47 733.337,1150.24 733.333,1150L733.333,650C733.337,649.761 733.338,649.522 733.338,649.283C733.338,621.851 710.765,599.278 683.333,599.278C683.073,599.278 682.813,599.28 682.552,599.284ZM915.885,599.284C888.481,599.712 866.274,622.595 866.667,650L866.667,1150C866.663,1150.24 866.662,1150.47 866.662,1150.71C866.662,1178.14 889.235,1200.71 916.667,1200.71C944.099,1200.71 966.672,1178.14 966.672,1150.71C966.672,1150.47 966.67,1150.24 966.667,1150L966.667,650C966.67,649.761 966.672,649.522 966.672,649.283C966.672,621.851 944.099,599.278 916.667,599.278C916.406,599.278 916.146,599.28 915.885,599.284Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1330 1330"> <g transform="matrix(1,0,0,1,-135,-135)">
|
||||
<path d="M800,133.333C683.056,133.333 585.68,220.714 569.336,333.333L341.276,333.333C338.437,332.848 335.562,332.608 332.682,332.617C330.194,332.671 327.713,332.91 325.26,333.333L216.667,333.333C216.431,333.33 216.195,333.328 215.96,333.328C188.528,333.328 165.955,355.901 165.955,383.333C165.955,410.765 188.528,433.338 215.96,433.338C216.195,433.338 216.431,433.337 216.667,433.333L287.956,433.333L371.875,1300.98C380.911,1394.53 460.393,1466.67 554.362,1466.67L1045.57,1466.67C1139.55,1466.67 1219.03,1394.54 1228.06,1300.98L1312.04,433.333L1383.33,433.333C1383.57,433.337 1383.81,433.338 1384.04,433.338C1411.47,433.338 1434.05,410.765 1434.05,383.333C1434.05,355.901 1411.47,333.328 1384.04,333.328C1383.81,333.328 1383.57,333.33 1383.33,333.333L1274.81,333.333C1269.5,332.473 1264.09,332.473 1258.79,333.333L1030.66,333.333C1014.32,220.714 916.944,133.333 800,133.333ZM800,233.333C862.639,233.333 914.026,275.605 928.711,333.333L671.289,333.333C685.974,275.605 737.361,233.333 800,233.333ZM388.346,433.333L1211.59,433.333L1128.52,1291.34C1124.35,1334.51 1088.93,1366.67 1045.57,1366.67L554.362,1366.67C511.065,1366.67 475.583,1334.45 471.419,1291.34L388.346,433.333ZM682.552,599.284C655.148,599.712 632.94,622.595 633.333,650L633.333,1150C633.33,1150.24 633.328,1150.47 633.328,1150.71C633.328,1178.14 655.901,1200.71 683.333,1200.71C710.765,1200.71 733.338,1178.14 733.338,1150.71C733.338,1150.47 733.337,1150.24 733.333,1150L733.333,650C733.337,649.761 733.338,649.522 733.338,649.283C733.338,621.851 710.765,599.278 683.333,599.278C683.073,599.278 682.813,599.28 682.552,599.284ZM915.885,599.284C888.481,599.712 866.274,622.595 866.667,650L866.667,1150C866.663,1150.24 866.662,1150.47 866.662,1150.71C866.662,1178.14 889.235,1200.71 916.667,1200.71C944.099,1200.71 966.672,1178.14 966.672,1150.71C966.672,1150.47 966.67,1150.24 966.667,1150L966.667,650C966.67,649.761 966.672,649.522 966.672,649.283C966.672,621.851 944.099,599.278 916.667,599.278C916.406,599.278 916.146,599.28 915.885,599.284Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
3
VDownload/Assets/Icons/EditingAlgorithmDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1600"><g transform="matrix(1.11651,0,0,1.11651,-114.651,-186.605)">
|
||||
<path d="M283.333,233.333C182.233,233.333 100,315.6 100,416.667L100,1183.33C100,1284.4 182.233,1366.67 283.333,1366.67L733.333,1366.67C733.333,1330.87 741.718,1297.03 756.185,1266.67L283.333,1266.67C237.4,1266.67 200,1229.3 200,1183.33L200,416.667C200,370.7 237.4,333.333 283.333,333.333L1316.67,333.333C1362.6,333.333 1400,370.7 1400,416.667L1400,701.693C1418.73,704.393 1437.12,711.141 1453.32,723.307C1479.05,742.607 1494.56,770.5 1498.83,800L1500,800L1500,416.667C1500,315.6 1417.77,233.333 1316.67,233.333L283.333,233.333ZM283.333,400C264.933,400 250,414.933 250,433.333L250,466.667C250,485.067 264.933,500 283.333,500L316.667,500C335.067,500 350,485.067 350,466.667L350,433.333C350,414.933 335.067,400 316.667,400L283.333,400ZM483.333,400C464.933,400 450,414.933 450,433.333L450,466.667C450,485.067 464.933,500 483.333,500L516.667,500C535.067,500 550,485.067 550,466.667L550,433.333C550,414.933 535.067,400 516.667,400L483.333,400ZM683.333,400C664.933,400 650,414.933 650,433.333L650,466.667C650,485.067 664.933,500 683.333,500L716.667,500C735.067,500 750,485.067 750,466.667L750,433.333C750,414.933 735.067,400 716.667,400L683.333,400ZM883.333,400C864.933,400 850,414.933 850,433.333L850,466.667C850,485.067 864.933,500 883.333,500L916.667,500C935.067,500 950,485.067 950,466.667L950,433.333C950,414.933 935.067,400 916.667,400L883.333,400ZM1083.33,400C1064.93,400 1050,414.933 1050,433.333L1050,466.667C1050,485.067 1064.93,500 1083.33,500L1116.67,500C1135.07,500 1150,485.067 1150,466.667L1150,433.333C1150,414.933 1135.07,400 1116.67,400L1083.33,400ZM1283.33,400C1264.93,400 1250,414.933 1250,433.333L1250,466.667C1250,485.067 1264.93,500 1283.33,500L1316.67,500C1335.07,500 1350,485.067 1350,466.667L1350,433.333C1350,414.933 1335.07,400 1316.67,400L1283.33,400ZM1386.2,765.625C1369.3,764.93 1353.15,772.857 1343.36,786.654L1158.98,1032.42L955.273,784.896C945.741,772.99 931.267,766.078 916.016,766.146C888.67,766.271 866.239,788.805 866.239,816.15C866.239,827.969 870.429,839.413 878.06,848.438L1097.2,1114.78L1025.72,1210.03C1007.54,1203.65 987.694,1200 966.667,1200C915.278,1200 870.405,1221.07 841.797,1253.26C813.189,1285.44 800,1326.39 800,1366.67C800,1406.94 813.189,1447.89 841.797,1480.08C870.405,1512.26 915.278,1533.33 966.667,1533.33C1018.06,1533.33 1062.93,1512.26 1091.54,1480.08C1120.14,1447.89 1133.33,1406.94 1133.33,1366.67C1133.33,1333.5 1123.82,1300.16 1104.69,1271.35L1162.57,1194.21L1227.41,1273.05C1209.06,1301.47 1200,1334.16 1200,1366.67C1200,1406.94 1213.19,1447.89 1241.8,1480.08C1270.4,1512.26 1315.28,1533.33 1366.67,1533.33C1418.06,1533.33 1462.93,1512.26 1491.54,1480.08C1520.14,1447.89 1533.33,1406.94 1533.33,1366.67C1533.33,1326.39 1520.14,1285.44 1491.54,1253.26C1462.93,1221.07 1418.06,1200 1366.67,1200C1344.9,1200 1324.42,1203.94 1305.73,1210.74L1224.35,1111.91L1423.31,846.68C1430.33,837.839 1434.15,826.876 1434.15,815.588C1434.15,788.931 1412.83,766.72 1386.2,765.625ZM283.333,1100C264.933,1100 250,1114.93 250,1133.33L250,1166.67C250,1185.07 264.933,1200 283.333,1200L316.667,1200C335.067,1200 350,1185.07 350,1166.67L350,1133.33C350,1114.93 335.067,1100 316.667,1100L283.333,1100ZM483.333,1100C464.933,1100 450,1114.93 450,1133.33L450,1166.67C450,1185.07 464.933,1200 483.333,1200L516.667,1200C535.067,1200 550,1185.07 550,1166.67L550,1133.33C550,1114.93 535.067,1100 516.667,1100L483.333,1100ZM683.333,1100C664.933,1100 650,1114.93 650,1133.33L650,1166.67C650,1185.07 664.933,1200 683.333,1200L716.667,1200C735.067,1200 750,1185.07 750,1166.67L750,1133.33C750,1114.93 735.067,1100 716.667,1100L683.333,1100ZM966.667,1300C979.861,1300 989.903,1302.06 997.852,1305.53C1003.13,1312.89 1010.31,1318.67 1018.62,1322.27C1027.7,1333.76 1033.33,1349.82 1033.33,1366.67C1033.33,1384.72 1027.08,1402.11 1016.8,1413.67C1006.52,1425.24 993.056,1433.33 966.667,1433.33C940.278,1433.33 926.817,1425.24 916.536,1413.67C906.256,1402.11 900,1384.72 900,1366.67C900,1348.61 906.256,1331.23 916.536,1319.66C926.817,1308.1 940.278,1300 966.667,1300ZM1366.67,1300C1393.06,1300 1406.52,1308.1 1416.8,1319.66C1427.08,1331.23 1433.33,1348.61 1433.33,1366.67C1433.33,1384.72 1427.08,1402.11 1416.8,1413.67C1406.52,1425.24 1393.06,1433.33 1366.67,1433.33C1340.28,1433.33 1326.82,1425.24 1316.54,1413.67C1306.26,1402.11 1300,1384.72 1300,1366.67C1300,1349.41 1305.81,1332.89 1315.3,1321.35C1322.81,1317.95 1329.37,1312.74 1334.38,1306.18C1342.54,1302.35 1352.73,1300 1366.67,1300Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
3
VDownload/Assets/Icons/EditingAlgorithmLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 1600"><g transform="matrix(1.11651,0,0,1.11651,-114.651,-186.605)">
|
||||
<path d="M283.333,233.333C182.233,233.333 100,315.6 100,416.667L100,1183.33C100,1284.4 182.233,1366.67 283.333,1366.67L733.333,1366.67C733.333,1330.87 741.718,1297.03 756.185,1266.67L283.333,1266.67C237.4,1266.67 200,1229.3 200,1183.33L200,416.667C200,370.7 237.4,333.333 283.333,333.333L1316.67,333.333C1362.6,333.333 1400,370.7 1400,416.667L1400,701.693C1418.73,704.393 1437.12,711.141 1453.32,723.307C1479.05,742.607 1494.56,770.5 1498.83,800L1500,800L1500,416.667C1500,315.6 1417.77,233.333 1316.67,233.333L283.333,233.333ZM283.333,400C264.933,400 250,414.933 250,433.333L250,466.667C250,485.067 264.933,500 283.333,500L316.667,500C335.067,500 350,485.067 350,466.667L350,433.333C350,414.933 335.067,400 316.667,400L283.333,400ZM483.333,400C464.933,400 450,414.933 450,433.333L450,466.667C450,485.067 464.933,500 483.333,500L516.667,500C535.067,500 550,485.067 550,466.667L550,433.333C550,414.933 535.067,400 516.667,400L483.333,400ZM683.333,400C664.933,400 650,414.933 650,433.333L650,466.667C650,485.067 664.933,500 683.333,500L716.667,500C735.067,500 750,485.067 750,466.667L750,433.333C750,414.933 735.067,400 716.667,400L683.333,400ZM883.333,400C864.933,400 850,414.933 850,433.333L850,466.667C850,485.067 864.933,500 883.333,500L916.667,500C935.067,500 950,485.067 950,466.667L950,433.333C950,414.933 935.067,400 916.667,400L883.333,400ZM1083.33,400C1064.93,400 1050,414.933 1050,433.333L1050,466.667C1050,485.067 1064.93,500 1083.33,500L1116.67,500C1135.07,500 1150,485.067 1150,466.667L1150,433.333C1150,414.933 1135.07,400 1116.67,400L1083.33,400ZM1283.33,400C1264.93,400 1250,414.933 1250,433.333L1250,466.667C1250,485.067 1264.93,500 1283.33,500L1316.67,500C1335.07,500 1350,485.067 1350,466.667L1350,433.333C1350,414.933 1335.07,400 1316.67,400L1283.33,400ZM1386.2,765.625C1369.3,764.93 1353.15,772.857 1343.36,786.654L1158.98,1032.42L955.273,784.896C945.741,772.99 931.267,766.078 916.016,766.146C888.67,766.271 866.239,788.805 866.239,816.15C866.239,827.969 870.429,839.413 878.06,848.438L1097.2,1114.78L1025.72,1210.03C1007.54,1203.65 987.694,1200 966.667,1200C915.278,1200 870.405,1221.07 841.797,1253.26C813.189,1285.44 800,1326.39 800,1366.67C800,1406.94 813.189,1447.89 841.797,1480.08C870.405,1512.26 915.278,1533.33 966.667,1533.33C1018.06,1533.33 1062.93,1512.26 1091.54,1480.08C1120.14,1447.89 1133.33,1406.94 1133.33,1366.67C1133.33,1333.5 1123.82,1300.16 1104.69,1271.35L1162.57,1194.21L1227.41,1273.05C1209.06,1301.47 1200,1334.16 1200,1366.67C1200,1406.94 1213.19,1447.89 1241.8,1480.08C1270.4,1512.26 1315.28,1533.33 1366.67,1533.33C1418.06,1533.33 1462.93,1512.26 1491.54,1480.08C1520.14,1447.89 1533.33,1406.94 1533.33,1366.67C1533.33,1326.39 1520.14,1285.44 1491.54,1253.26C1462.93,1221.07 1418.06,1200 1366.67,1200C1344.9,1200 1324.42,1203.94 1305.73,1210.74L1224.35,1111.91L1423.31,846.68C1430.33,837.839 1434.15,826.876 1434.15,815.588C1434.15,788.931 1412.83,766.72 1386.2,765.625ZM283.333,1100C264.933,1100 250,1114.93 250,1133.33L250,1166.67C250,1185.07 264.933,1200 283.333,1200L316.667,1200C335.067,1200 350,1185.07 350,1166.67L350,1133.33C350,1114.93 335.067,1100 316.667,1100L283.333,1100ZM483.333,1100C464.933,1100 450,1114.93 450,1133.33L450,1166.67C450,1185.07 464.933,1200 483.333,1200L516.667,1200C535.067,1200 550,1185.07 550,1166.67L550,1133.33C550,1114.93 535.067,1100 516.667,1100L483.333,1100ZM683.333,1100C664.933,1100 650,1114.93 650,1133.33L650,1166.67C650,1185.07 664.933,1200 683.333,1200L716.667,1200C735.067,1200 750,1185.07 750,1166.67L750,1133.33C750,1114.93 735.067,1100 716.667,1100L683.333,1100ZM966.667,1300C979.861,1300 989.903,1302.06 997.852,1305.53C1003.13,1312.89 1010.31,1318.67 1018.62,1322.27C1027.7,1333.76 1033.33,1349.82 1033.33,1366.67C1033.33,1384.72 1027.08,1402.11 1016.8,1413.67C1006.52,1425.24 993.056,1433.33 966.667,1433.33C940.278,1433.33 926.817,1425.24 916.536,1413.67C906.256,1402.11 900,1384.72 900,1366.67C900,1348.61 906.256,1331.23 916.536,1319.66C926.817,1308.1 940.278,1300 966.667,1300ZM1366.67,1300C1393.06,1300 1406.52,1308.1 1416.8,1319.66C1427.08,1331.23 1433.33,1348.61 1433.33,1366.67C1433.33,1384.72 1427.08,1402.11 1416.8,1413.67C1406.52,1425.24 1393.06,1433.33 1366.67,1433.33C1340.28,1433.33 1326.82,1425.24 1316.54,1413.67C1306.26,1402.11 1300,1384.72 1300,1366.67C1300,1349.41 1305.81,1332.89 1315.3,1321.35C1322.81,1317.95 1329.37,1312.74 1334.38,1306.18C1342.54,1302.35 1352.73,1300 1366.67,1300Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
3
VDownload/Assets/Icons/FilenameTemplateDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-114,-130)">
|
||||
<path d="M650,133.333C649.764,133.33 649.529,133.328 649.293,133.328C621.861,133.328 599.288,155.901 599.288,183.333C599.288,210.765 621.861,233.338 649.293,233.338C649.529,233.338 649.764,233.337 650,233.333L733.333,233.333L733.333,1366.67L650,1366.67C649.764,1366.66 649.529,1366.66 649.293,1366.66C621.861,1366.66 599.288,1389.24 599.288,1416.67C599.288,1444.1 621.861,1466.67 649.293,1466.67C649.529,1466.67 649.764,1466.67 650,1466.67L775.13,1466.67C780.498,1467.55 785.974,1467.55 791.341,1466.67L916.667,1466.67C916.902,1466.67 917.138,1466.67 917.374,1466.67C944.806,1466.67 967.379,1444.1 967.379,1416.67C967.379,1389.24 944.806,1366.66 917.374,1366.66C917.138,1366.66 916.902,1366.66 916.667,1366.67L833.333,1366.67L833.333,233.333L916.667,233.333C916.902,233.337 917.138,233.338 917.374,233.338C944.806,233.338 967.379,210.765 967.379,183.333C967.379,155.901 944.806,133.328 917.374,133.328C917.138,133.328 916.902,133.33 916.667,133.333L650,133.333ZM350,333.333C230.935,333.333 133.333,430.935 133.333,550L133.333,1050C133.333,1169.07 230.935,1266.67 350,1266.67L666.667,1266.67L666.667,1166.67L350,1166.67C284.998,1166.67 233.333,1115 233.333,1050L233.333,550C233.333,484.998 284.998,433.333 350,433.333L666.667,433.333L666.667,333.333L350,333.333ZM900,333.333L900,433.333L1216.67,433.333C1281.67,433.333 1333.33,484.998 1333.33,550L1333.33,1050C1333.33,1115 1281.67,1166.67 1216.67,1166.67L900,1166.67L900,1266.67L1216.67,1266.67C1335.73,1266.67 1433.33,1169.07 1433.33,1050L1433.33,550C1433.33,430.935 1335.73,333.333 1216.67,333.333L900,333.333Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
3
VDownload/Assets/Icons/FilenameTemplateLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-114,-130)">
|
||||
<path d="M650,133.333C649.764,133.33 649.529,133.328 649.293,133.328C621.861,133.328 599.288,155.901 599.288,183.333C599.288,210.765 621.861,233.338 649.293,233.338C649.529,233.338 649.764,233.337 650,233.333L733.333,233.333L733.333,1366.67L650,1366.67C649.764,1366.66 649.529,1366.66 649.293,1366.66C621.861,1366.66 599.288,1389.24 599.288,1416.67C599.288,1444.1 621.861,1466.67 649.293,1466.67C649.529,1466.67 649.764,1466.67 650,1466.67L775.13,1466.67C780.498,1467.55 785.974,1467.55 791.341,1466.67L916.667,1466.67C916.902,1466.67 917.138,1466.67 917.374,1466.67C944.806,1466.67 967.379,1444.1 967.379,1416.67C967.379,1389.24 944.806,1366.66 917.374,1366.66C917.138,1366.66 916.902,1366.66 916.667,1366.67L833.333,1366.67L833.333,233.333L916.667,233.333C916.902,233.337 917.138,233.338 917.374,233.338C944.806,233.338 967.379,210.765 967.379,183.333C967.379,155.901 944.806,133.328 917.374,133.328C917.138,133.328 916.902,133.33 916.667,133.333L650,133.333ZM350,333.333C230.935,333.333 133.333,430.935 133.333,550L133.333,1050C133.333,1169.07 230.935,1266.67 350,1266.67L666.667,1266.67L666.667,1166.67L350,1166.67C284.998,1166.67 233.333,1115 233.333,1050L233.333,550C233.333,484.998 284.998,433.333 350,433.333L666.667,433.333L666.667,333.333L350,333.333ZM900,333.333L900,433.333L1216.67,433.333C1281.67,433.333 1333.33,484.998 1333.33,550L1333.33,1050C1333.33,1115 1281.67,1166.67 1216.67,1166.67L900,1166.67L900,1266.67L1216.67,1266.67C1335.73,1266.67 1433.33,1169.07 1433.33,1050L1433.33,550C1433.33,430.935 1335.73,333.333 1216.67,333.333L900,333.333Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
3
VDownload/Assets/Icons/LastMediaLocationDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M283.333,266.667C201.083,266.667 133.333,334.417 133.333,416.667L133.333,1183.33C133.333,1265.58 201.083,1333.33 283.333,1333.33L1316.67,1333.33C1398.92,1333.33 1466.67,1265.58 1466.67,1183.33L1466.67,583.333C1466.67,501.083 1398.92,433.333 1316.67,433.333L801.432,433.333L652.474,309.18C652.452,309.18 652.431,309.18 652.409,309.18C619.47,281.737 577.972,266.667 535.091,266.667L283.333,266.667ZM283.333,366.667L535.091,366.667C554.61,366.667 573.419,373.512 588.411,386.003L751.302,521.745C760.292,529.236 771.632,533.338 783.333,533.333L1316.67,533.333C1344.88,533.333 1366.67,555.117 1366.67,583.333L1366.67,1183.33C1366.67,1211.55 1344.88,1233.33 1316.67,1233.33L283.333,1233.33C255.117,1233.33 233.333,1211.55 233.333,1183.33L233.333,416.667C233.333,388.45 255.117,366.667 283.333,366.667ZM815.885,632.617C788.481,633.045 766.274,655.928 766.667,683.333L766.667,762.63L710.612,706.576C701.2,696.883 688.25,691.407 674.74,691.406C647.312,691.413 624.747,713.984 624.747,741.411C624.747,754.919 630.22,767.867 639.909,777.279L695.964,833.333L616.667,833.333C616.431,833.33 616.195,833.328 615.96,833.328C588.528,833.328 565.955,855.901 565.955,883.333C565.955,910.765 588.528,933.338 615.96,933.338C616.195,933.338 616.431,933.337 616.667,933.333L695.964,933.333L639.909,989.388C630.092,998.813 624.536,1011.85 624.536,1025.46C624.536,1052.89 647.109,1075.46 674.541,1075.46C688.15,1075.46 701.187,1069.91 710.612,1060.09L766.667,1004.04L766.667,1083.33C766.663,1083.57 766.662,1083.81 766.662,1084.04C766.662,1111.47 789.235,1134.05 816.667,1134.05C844.099,1134.05 866.672,1111.47 866.672,1084.04C866.672,1083.81 866.67,1083.57 866.667,1083.33L866.667,1004.04L922.721,1060.09C932.147,1069.91 945.183,1075.46 958.793,1075.46C986.225,1075.46 1008.8,1052.89 1008.8,1025.46C1008.8,1011.85 1003.24,998.813 993.424,989.388L937.37,933.333L1016.67,933.333C1016.9,933.337 1017.14,933.338 1017.37,933.338C1044.81,933.338 1067.38,910.765 1067.38,883.333C1067.38,855.901 1044.81,833.328 1017.37,833.328C1017.14,833.328 1016.9,833.33 1016.67,833.333L937.37,833.333L993.424,777.279C1003.24,767.853 1008.8,754.817 1008.8,741.207C1008.8,713.775 986.225,691.202 958.793,691.202C945.183,691.202 932.147,696.758 922.721,706.576L866.667,762.63L866.667,683.333C866.67,683.094 866.672,682.855 866.672,682.616C866.672,655.184 844.099,632.611 816.667,632.611C816.406,632.611 816.146,632.613 815.885,632.617Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
3
VDownload/Assets/Icons/LastMediaLocationLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1340 1340"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M283.333,266.667C201.083,266.667 133.333,334.417 133.333,416.667L133.333,1183.33C133.333,1265.58 201.083,1333.33 283.333,1333.33L1316.67,1333.33C1398.92,1333.33 1466.67,1265.58 1466.67,1183.33L1466.67,583.333C1466.67,501.083 1398.92,433.333 1316.67,433.333L801.432,433.333L652.474,309.18C652.452,309.18 652.431,309.18 652.409,309.18C619.47,281.737 577.972,266.667 535.091,266.667L283.333,266.667ZM283.333,366.667L535.091,366.667C554.61,366.667 573.419,373.512 588.411,386.003L751.302,521.745C760.292,529.236 771.632,533.338 783.333,533.333L1316.67,533.333C1344.88,533.333 1366.67,555.117 1366.67,583.333L1366.67,1183.33C1366.67,1211.55 1344.88,1233.33 1316.67,1233.33L283.333,1233.33C255.117,1233.33 233.333,1211.55 233.333,1183.33L233.333,416.667C233.333,388.45 255.117,366.667 283.333,366.667ZM815.885,632.617C788.481,633.045 766.274,655.928 766.667,683.333L766.667,762.63L710.612,706.576C701.2,696.883 688.25,691.407 674.74,691.406C647.312,691.413 624.747,713.984 624.747,741.411C624.747,754.919 630.22,767.867 639.909,777.279L695.964,833.333L616.667,833.333C616.431,833.33 616.195,833.328 615.96,833.328C588.528,833.328 565.955,855.901 565.955,883.333C565.955,910.765 588.528,933.338 615.96,933.338C616.195,933.338 616.431,933.337 616.667,933.333L695.964,933.333L639.909,989.388C630.092,998.813 624.536,1011.85 624.536,1025.46C624.536,1052.89 647.109,1075.46 674.541,1075.46C688.15,1075.46 701.187,1069.91 710.612,1060.09L766.667,1004.04L766.667,1083.33C766.663,1083.57 766.662,1083.81 766.662,1084.04C766.662,1111.47 789.235,1134.05 816.667,1134.05C844.099,1134.05 866.672,1111.47 866.672,1084.04C866.672,1083.81 866.67,1083.57 866.667,1083.33L866.667,1004.04L922.721,1060.09C932.147,1069.91 945.183,1075.46 958.793,1075.46C986.225,1075.46 1008.8,1052.89 1008.8,1025.46C1008.8,1011.85 1003.24,998.813 993.424,989.388L937.37,933.333L1016.67,933.333C1016.9,933.337 1017.14,933.338 1017.37,933.338C1044.81,933.338 1067.38,910.765 1067.38,883.333C1067.38,855.901 1044.81,833.328 1017.37,833.328C1017.14,833.328 1016.9,833.33 1016.67,833.333L937.37,833.333L993.424,777.279C1003.24,767.853 1008.8,754.817 1008.8,741.207C1008.8,713.775 986.225,691.202 958.793,691.202C945.183,691.202 932.147,696.758 922.721,706.576L866.667,762.63L866.667,683.333C866.67,683.094 866.672,682.855 866.672,682.616C866.672,655.184 844.099,632.611 816.667,632.611C816.406,632.611 816.146,632.613 815.885,632.617Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
3
VDownload/Assets/Icons/MeteredConnectionDelayDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1405 1405"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M800,133.333C432.4,133.333 133.333,432.4 133.333,800C133.333,1167.6 432.4,1466.67 800,1466.67C817.567,1466.67 834.785,1465.4 852.018,1464.06C823.985,1434.4 800.148,1400.89 781.315,1364.26C709.282,1347.56 635.268,1236.47 595.768,1066.67L745.378,1066.67C753.711,1031.5 766.187,997.933 782.487,966.667L577.604,966.667C570.671,914.7 566.667,859.033 566.667,800C566.667,740.968 570.669,685.311 577.604,633.333L1022.13,633.333C1027.27,671.863 1030.85,712.315 1032.29,754.818C1063.92,744.518 1097.14,737.858 1131.51,735.091C1129.88,700.108 1126.52,666.392 1122.4,633.333L1340.82,633.333C1355.43,680.638 1364.4,730.476 1366.02,782.161C1401.98,800.861 1434.86,824.418 1464.06,852.018C1465.36,834.785 1466.67,817.567 1466.67,800C1466.67,432.4 1167.6,133.333 800,133.333ZM800,233.333C877.6,233.333 961.182,348.791 1004.04,533.333L595.768,533.333C638.685,348.784 722.362,233.333 800,233.333ZM594.336,272.526C550.644,340.228 516.359,429.907 494.206,533.333L300.716,533.333C364.249,415.192 468.24,321.877 594.336,272.526ZM1005.73,272.526C1131.83,321.882 1235.81,415.152 1299.22,533.333L1106.12,533.333C1084.07,429.686 1049.46,340.302 1005.73,272.526ZM258.594,633.333L477.083,633.333C470.442,686.473 466.667,742.143 466.667,800C466.667,857.867 470.548,913.467 477.148,966.667L258.464,966.667C242.197,913.933 233.333,858 233.333,800C233.333,741.97 242.293,686.045 258.594,633.333ZM1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1133.33,933.333C1151.73,933.333 1166.67,948.267 1166.67,966.667L1166.67,1166.67L1333.33,1166.67C1351.73,1166.67 1366.67,1181.6 1366.67,1200C1366.67,1218.4 1351.73,1233.33 1333.33,1233.33L1133.33,1233.33C1114.93,1233.33 1100,1218.4 1100,1200L1100,966.667C1100,948.267 1114.93,933.333 1133.33,933.333ZM300.26,1066.67L493.62,1066.67C515.72,1170.5 550.569,1259.61 594.336,1327.47C468.136,1278.07 363.727,1185.1 300.26,1066.67Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
3
VDownload/Assets/Icons/MeteredConnectionDelayLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1405 1405"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M800,133.333C432.4,133.333 133.333,432.4 133.333,800C133.333,1167.6 432.4,1466.67 800,1466.67C817.567,1466.67 834.785,1465.4 852.018,1464.06C823.985,1434.4 800.148,1400.89 781.315,1364.26C709.282,1347.56 635.268,1236.47 595.768,1066.67L745.378,1066.67C753.711,1031.5 766.187,997.933 782.487,966.667L577.604,966.667C570.671,914.7 566.667,859.033 566.667,800C566.667,740.968 570.669,685.311 577.604,633.333L1022.13,633.333C1027.27,671.863 1030.85,712.315 1032.29,754.818C1063.92,744.518 1097.14,737.858 1131.51,735.091C1129.88,700.108 1126.52,666.392 1122.4,633.333L1340.82,633.333C1355.43,680.638 1364.4,730.476 1366.02,782.161C1401.98,800.861 1434.86,824.418 1464.06,852.018C1465.36,834.785 1466.67,817.567 1466.67,800C1466.67,432.4 1167.6,133.333 800,133.333ZM800,233.333C877.6,233.333 961.182,348.791 1004.04,533.333L595.768,533.333C638.685,348.784 722.362,233.333 800,233.333ZM594.336,272.526C550.644,340.228 516.359,429.907 494.206,533.333L300.716,533.333C364.249,415.192 468.24,321.877 594.336,272.526ZM1005.73,272.526C1131.83,321.882 1235.81,415.152 1299.22,533.333L1106.12,533.333C1084.07,429.686 1049.46,340.302 1005.73,272.526ZM258.594,633.333L477.083,633.333C470.442,686.473 466.667,742.143 466.667,800C466.667,857.867 470.548,913.467 477.148,966.667L258.464,966.667C242.197,913.933 233.333,858 233.333,800C233.333,741.97 242.293,686.045 258.594,633.333ZM1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1133.33,933.333C1151.73,933.333 1166.67,948.267 1166.67,966.667L1166.67,1166.67L1333.33,1166.67C1351.73,1166.67 1366.67,1181.6 1366.67,1200C1366.67,1218.4 1351.73,1233.33 1333.33,1233.33L1133.33,1233.33C1114.93,1233.33 1100,1218.4 1100,1200L1100,966.667C1100,948.267 1114.93,933.333 1133.33,933.333ZM300.26,1066.67L493.62,1066.67C515.72,1170.5 550.569,1259.61 594.336,1327.47C468.136,1278.07 363.727,1185.1 300.26,1066.67Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
9
VDownload/Assets/Icons/MeteredConnectionWarningDark.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1404 1404"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M233.333,583.333L1366.67,583.333" style="fill:none;fill-rule:nonzero;stroke:white;stroke-width:100px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M781.3,1364.23C709.267,1347.53 635.267,1236.47 595.767,1066.67L745.4,1066.67C753.733,1031.5 766.167,997.933 782.467,966.667L577.6,966.667C570.667,914.7 566.667,859.033 566.667,800C566.667,466.033 689.633,233.333 800,233.333C905.267,233.333 1021.8,445.367 1032.3,754.833C1063.93,744.533 1097.13,737.867 1131.5,735.1C1122.67,545.4 1075.83,381.233 1005.7,272.533C1211.37,353.033 1358.73,550.033 1366,782.133C1401.97,800.833 1434.87,824.433 1464.07,852.033C1465.37,834.8 1466.67,817.567 1466.67,800C1466.67,432.4 1167.6,133.333 800,133.333C432.4,133.333 133.333,432.4 133.333,800C133.333,1167.6 432.4,1466.67 800,1466.67C817.567,1466.67 834.8,1465.37 852.033,1464.03C824,1434.37 800.133,1400.87 781.3,1364.23ZM233.333,800C233.333,560.133 383.367,355.1 594.333,272.533C516.267,393.5 466.667,582.833 466.667,800C466.667,857.867 470.567,913.467 477.167,966.667L258.433,966.667C242.167,913.933 233.333,858 233.333,800ZM300.267,1066.67L493.6,1066.67C515.7,1170.5 550.567,1259.6 594.333,1327.47C468.133,1278.07 363.733,1185.1 300.267,1066.67Z" style="fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1133.33,966.667C1133.33,948.267 1148.23,933.333 1166.67,933.333C1185.1,933.333 1200,948.267 1200,966.667L1200,1233.33C1200,1251.73 1185.1,1266.67 1166.67,1266.67C1148.23,1266.67 1133.33,1251.73 1133.33,1233.33L1133.33,966.667ZM1166.67,1408.33C1143.67,1408.33 1125,1389.67 1125,1366.67C1125,1343.67 1143.67,1325 1166.67,1325C1189.67,1325 1208.33,1343.67 1208.33,1366.67C1208.33,1389.67 1189.67,1408.33 1166.67,1408.33Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
9
VDownload/Assets/Icons/MeteredConnectionWarningLight.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1404 1404"><g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M233.333,583.333L1366.67,583.333" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:100px;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M781.3,1364.23C709.267,1347.53 635.267,1236.47 595.767,1066.67L745.4,1066.67C753.733,1031.5 766.167,997.933 782.467,966.667L577.6,966.667C570.667,914.7 566.667,859.033 566.667,800C566.667,466.033 689.633,233.333 800,233.333C905.267,233.333 1021.8,445.367 1032.3,754.833C1063.93,744.533 1097.13,737.867 1131.5,735.1C1122.67,545.4 1075.83,381.233 1005.7,272.533C1211.37,353.033 1358.73,550.033 1366,782.133C1401.97,800.833 1434.87,824.433 1464.07,852.033C1465.37,834.8 1466.67,817.567 1466.67,800C1466.67,432.4 1167.6,133.333 800,133.333C432.4,133.333 133.333,432.4 133.333,800C133.333,1167.6 432.4,1466.67 800,1466.67C817.567,1466.67 834.8,1465.37 852.033,1464.03C824,1434.37 800.133,1400.87 781.3,1364.23ZM233.333,800C233.333,560.133 383.367,355.1 594.333,272.533C516.267,393.5 466.667,582.833 466.667,800C466.667,857.867 470.567,913.467 477.167,966.667L258.433,966.667C242.167,913.933 233.333,858 233.333,800ZM300.267,1066.67L493.6,1066.67C515.7,1170.5 550.567,1259.6 594.333,1327.47C468.133,1278.07 363.733,1185.1 300.267,1066.67Z" style="fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-130,-130)">
|
||||
<path d="M1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1133.33,966.667C1133.33,948.267 1148.23,933.333 1166.67,933.333C1185.1,933.333 1200,948.267 1200,966.667L1200,1233.33C1200,1251.73 1185.1,1266.67 1166.67,1266.67C1148.23,1266.67 1133.33,1251.73 1133.33,1233.33L1133.33,966.667ZM1166.67,1408.33C1143.67,1408.33 1125,1389.67 1125,1366.67C1125,1343.67 1143.67,1325 1166.67,1325C1189.67,1325 1208.33,1343.67 1208.33,1366.67C1208.33,1389.67 1189.67,1408.33 1166.67,1408.33Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1466 1466"><g transform="matrix(1,0,0,1,-67,0)">
|
||||
<path d="M800,0C708.545,0 633.333,75.211 633.333,166.667L633.333,200L416.667,200C334.417,200 266.667,267.75 266.667,350L266.667,1316.67C266.667,1398.92 334.417,1466.67 416.667,1466.67L1183.33,1466.67C1265.58,1466.67 1333.33,1398.92 1333.33,1316.67L1333.33,350C1333.33,267.75 1265.58,200 1183.33,200L966.667,200L966.667,166.667C966.667,75.211 891.455,0 800,0ZM800,100C837.411,100 866.667,129.255 866.667,166.667L866.667,300L733.333,300L733.333,166.667C733.333,129.255 762.589,100 800,100ZM416.667,300L633.333,300L633.333,350C633.336,377.428 655.905,399.997 683.333,400L916.667,400C944.095,399.997 966.664,377.428 966.667,350L966.667,300L1183.33,300C1211.55,300 1233.33,321.783 1233.33,350L1233.33,1316.67C1233.33,1344.88 1211.55,1366.67 1183.33,1366.67L416.667,1366.67C388.45,1366.67 366.667,1344.88 366.667,1316.67L366.667,350C366.667,321.783 388.45,300 416.667,300ZM1065.69,632.878C1052.71,633.256 1040.37,638.676 1031.32,647.982L733.333,945.964L568.685,781.315C559.259,771.498 546.224,765.943 532.614,765.943C505.183,765.943 482.609,788.516 482.609,815.948C482.609,829.557 488.165,842.593 497.982,852.018L697.982,1052.02C717.378,1071.41 749.289,1071.41 768.685,1052.02L1102.02,718.685C1111.68,709.276 1117.13,696.348 1117.13,682.862C1117.13,655.43 1094.56,632.857 1067.13,632.857C1066.65,632.857 1066.17,632.864 1065.69,632.878Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1466 1466"><g transform="matrix(1,0,0,1,-67,0)">
|
||||
<path d="M800,0C708.545,0 633.333,75.211 633.333,166.667L633.333,200L416.667,200C334.417,200 266.667,267.75 266.667,350L266.667,1316.67C266.667,1398.92 334.417,1466.67 416.667,1466.67L1183.33,1466.67C1265.58,1466.67 1333.33,1398.92 1333.33,1316.67L1333.33,350C1333.33,267.75 1265.58,200 1183.33,200L966.667,200L966.667,166.667C966.667,75.211 891.455,0 800,0ZM800,100C837.411,100 866.667,129.255 866.667,166.667L866.667,300L733.333,300L733.333,166.667C733.333,129.255 762.589,100 800,100ZM416.667,300L633.333,300L633.333,350C633.336,377.428 655.905,399.997 683.333,400L916.667,400C944.095,399.997 966.664,377.428 966.667,350L966.667,300L1183.33,300C1211.55,300 1233.33,321.783 1233.33,350L1233.33,1316.67C1233.33,1344.88 1211.55,1366.67 1183.33,1366.67L416.667,1366.67C388.45,1366.67 366.667,1344.88 366.667,1316.67L366.667,350C366.667,321.783 388.45,300 416.667,300ZM1065.69,632.878C1052.71,633.256 1040.37,638.676 1031.32,647.982L733.333,945.964L568.685,781.315C559.259,771.498 546.224,765.943 532.614,765.943C505.183,765.943 482.609,788.516 482.609,815.948C482.609,829.557 488.165,842.593 497.982,852.018L697.982,1052.02C717.378,1071.41 749.289,1071.41 768.685,1052.02L1102.02,718.685C1111.68,709.276 1117.13,696.348 1117.13,682.862C1117.13,655.43 1094.56,632.857 1067.13,632.857C1066.65,632.857 1066.17,632.864 1065.69,632.878Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
3
VDownload/Assets/Icons/ReplaceFileDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1300 1300"><g transform="matrix(1,0,0,1,-149,-135)">
|
||||
<path d="M849.479,132.813C847.257,132.838 845.038,133.012 842.839,133.333L416.667,133.333C334.417,133.333 266.667,201.083 266.667,283.333L266.667,916.667C266.663,916.902 266.662,917.138 266.662,917.374C266.662,944.806 289.235,967.379 316.667,967.379C344.099,967.379 366.672,944.806 366.672,917.374C366.672,917.138 366.67,916.902 366.667,916.667L366.667,283.333C366.667,255.117 388.45,233.333 416.667,233.333L800,233.333L800,516.667C800,598.917 867.75,666.667 950,666.667L1233.33,666.667L1233.33,883.333C1233.33,883.569 1233.33,883.805 1233.33,884.04C1233.33,911.472 1255.9,934.045 1283.33,934.045C1310.77,934.045 1333.34,911.472 1333.34,884.04C1333.34,883.805 1333.34,883.569 1333.33,883.333L1333.33,624.023C1335.29,609.755 1330.99,595.315 1321.55,584.44C1320.64,583.358 1319.68,582.316 1318.68,581.315L885.352,147.982C885.265,147.895 885.178,147.808 885.091,147.721C885.005,147.634 884.918,147.547 884.831,147.461C884.573,147.241 884.312,147.024 884.049,146.81C883.087,145.88 882.088,144.99 881.055,144.141C872.15,136.843 860.992,132.84 849.479,132.813ZM900,304.036L1162.63,566.667L950,566.667C921.783,566.667 900,544.883 900,516.667L900,304.036ZM1083.33,1000C1083.1,999.997 1082.86,999.995 1082.63,999.995C1055.19,999.995 1032.62,1022.57 1032.62,1050C1032.62,1077.43 1055.19,1100.01 1082.63,1100.01C1082.86,1100.01 1083.1,1100 1083.33,1100L1257.94,1100C1191.74,1177.95 1026.31,1333.33 759.049,1333.33C402.337,1333.33 260.807,1059.83 260.807,1059.83C252.224,1043.13 234.925,1032.61 216.146,1032.68C188.777,1032.77 166.308,1055.32 166.308,1082.69C166.308,1091.13 168.448,1099.44 172.526,1106.84C172.526,1106.84 350.095,1433.33 759.049,1433.33C1061.88,1433.33 1253.9,1256.34 1333.33,1164.39L1333.33,1350C1333.33,1350.24 1333.33,1350.47 1333.33,1350.71C1333.33,1378.14 1355.9,1400.71 1383.33,1400.71C1410.77,1400.71 1433.34,1378.14 1433.34,1350.71C1433.34,1350.47 1433.34,1350.24 1433.33,1350L1433.33,1050C1433.33,1022.57 1410.76,1000 1383.33,1000L1083.33,1000Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
3
VDownload/Assets/Icons/ReplaceFileLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1300 1300"><g transform="matrix(1,0,0,1,-149,-135)">
|
||||
<path d="M849.479,132.813C847.257,132.838 845.038,133.012 842.839,133.333L416.667,133.333C334.417,133.333 266.667,201.083 266.667,283.333L266.667,916.667C266.663,916.902 266.662,917.138 266.662,917.374C266.662,944.806 289.235,967.379 316.667,967.379C344.099,967.379 366.672,944.806 366.672,917.374C366.672,917.138 366.67,916.902 366.667,916.667L366.667,283.333C366.667,255.117 388.45,233.333 416.667,233.333L800,233.333L800,516.667C800,598.917 867.75,666.667 950,666.667L1233.33,666.667L1233.33,883.333C1233.33,883.569 1233.33,883.805 1233.33,884.04C1233.33,911.472 1255.9,934.045 1283.33,934.045C1310.77,934.045 1333.34,911.472 1333.34,884.04C1333.34,883.805 1333.34,883.569 1333.33,883.333L1333.33,624.023C1335.29,609.755 1330.99,595.315 1321.55,584.44C1320.64,583.358 1319.68,582.316 1318.68,581.315L885.352,147.982C885.265,147.895 885.178,147.808 885.091,147.721C885.005,147.634 884.918,147.547 884.831,147.461C884.573,147.241 884.312,147.024 884.049,146.81C883.087,145.88 882.088,144.99 881.055,144.141C872.15,136.843 860.992,132.84 849.479,132.813ZM900,304.036L1162.63,566.667L950,566.667C921.783,566.667 900,544.883 900,516.667L900,304.036ZM1083.33,1000C1083.1,999.997 1082.86,999.995 1082.63,999.995C1055.19,999.995 1032.62,1022.57 1032.62,1050C1032.62,1077.43 1055.19,1100.01 1082.63,1100.01C1082.86,1100.01 1083.1,1100 1083.33,1100L1257.94,1100C1191.74,1177.95 1026.31,1333.33 759.049,1333.33C402.337,1333.33 260.807,1059.83 260.807,1059.83C252.224,1043.13 234.925,1032.61 216.146,1032.68C188.777,1032.77 166.308,1055.32 166.308,1082.69C166.308,1091.13 168.448,1099.44 172.526,1106.84C172.526,1106.84 350.095,1433.33 759.049,1433.33C1061.88,1433.33 1253.9,1256.34 1333.33,1164.39L1333.33,1350C1333.33,1350.24 1333.33,1350.47 1333.33,1350.71C1333.33,1378.14 1355.9,1400.71 1383.33,1400.71C1410.77,1400.71 1433.34,1378.14 1433.34,1350.71C1433.34,1350.47 1433.34,1350.24 1433.33,1350L1433.33,1050C1433.33,1022.57 1410.76,1000 1383.33,1000L1083.33,1000Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,6 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1435 1435"><g transform="matrix(1,0,0,1,-100,-65)">
|
||||
<path d="M1366.67,817.667L1366.67,1016.67C1366.67,1081 1314.33,1133.33 1250,1133.33L850,1133.33C839.333,1133.33 828.667,1137 820,1143.33L500,1383.33L500,1183.33C500,1155.67 477.667,1133.33 450,1133.33L350,1133.33C285.667,1133.33 233.333,1081 233.333,1016.67L233.333,450C233.333,385.667 285.667,333.333 350,333.333L745,333.333C753.333,298 766,264.667 782.333,233.333L350,233.333C230.667,233.333 133.333,330.667 133.333,450L133.333,1016.67C133.333,1136 230.667,1233.33 350,1233.33L400,1233.33L400,1416.67C400,1448.33 417.667,1477 446,1491.33C458,1497 470.667,1500 483.333,1500C501,1500 518.667,1494.33 533.333,1483.33L866.667,1233.33L1250,1233.33C1369.33,1233.33 1466.67,1136 1466.67,1016.67L1466.67,745.667C1437,774.333 1403.33,798.667 1366.67,817.667Z" style="fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-100,-65)">
|
||||
<path d="M1166.67,66.667C1369.17,66.667 1533.33,230.833 1533.33,433.333C1533.33,635.833 1369.17,800 1166.67,800C964.167,800 800,635.833 800,433.333C800,230.833 964.167,66.667 1166.67,66.667ZM1123.57,590.233L1390.23,323.567C1403.27,310.533 1403.27,289.467 1390.23,276.433C1377.2,263.4 1356.13,263.4 1343.1,276.433L1100,519.533L990.233,409.767C977.2,396.733 956.133,396.733 943.1,409.767C930.067,422.8 930.067,443.867 943.1,456.9L1076.43,590.233C1082.93,596.733 1091.47,600 1100,600C1108.53,600 1117.07,596.733 1123.57,590.233Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,6 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1435 1435"><g transform="matrix(1,0,0,1,-100,-65)">
|
||||
<path d="M1366.67,817.667L1366.67,1016.67C1366.67,1081 1314.33,1133.33 1250,1133.33L850,1133.33C839.333,1133.33 828.667,1137 820,1143.33L500,1383.33L500,1183.33C500,1155.67 477.667,1133.33 450,1133.33L350,1133.33C285.667,1133.33 233.333,1081 233.333,1016.67L233.333,450C233.333,385.667 285.667,333.333 350,333.333L745,333.333C753.333,298 766,264.667 782.333,233.333L350,233.333C230.667,233.333 133.333,330.667 133.333,450L133.333,1016.67C133.333,1136 230.667,1233.33 350,1233.33L400,1233.33L400,1416.67C400,1448.33 417.667,1477 446,1491.33C458,1497 470.667,1500 483.333,1500C501,1500 518.667,1494.33 533.333,1483.33L866.667,1233.33L1250,1233.33C1369.33,1233.33 1466.67,1136 1466.67,1016.67L1466.67,745.667C1437,774.333 1403.33,798.667 1366.67,817.667Z" style="fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-100,-65)">
|
||||
<path d="M1166.67,66.667C1369.17,66.667 1533.33,230.833 1533.33,433.333C1533.33,635.833 1369.17,800 1166.67,800C964.167,800 800,635.833 800,433.333C800,230.833 964.167,66.667 1166.67,66.667ZM1123.57,590.233L1390.23,323.567C1403.27,310.533 1403.27,289.467 1390.23,276.433C1377.2,263.4 1356.13,263.4 1343.1,276.433L1100,519.533L990.233,409.767C977.2,396.733 956.133,396.733 943.1,409.767C930.067,422.8 930.067,443.867 943.1,456.9L1076.43,590.233C1082.93,596.733 1091.47,600 1100,600C1108.53,600 1117.07,596.733 1123.57,590.233Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,6 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1435 1435"><g transform="matrix(1,0,0,1,-100,-65)">
|
||||
<path d="M1366.67,817.667L1366.67,1016.67C1366.67,1081 1314.33,1133.33 1250,1133.33L850,1133.33C839.333,1133.33 828.667,1137 820,1143.33L500,1383.33L500,1183.33C500,1155.67 477.667,1133.33 450,1133.33L350,1133.33C285.667,1133.33 233.333,1081 233.333,1016.67L233.333,450C233.333,385.667 285.667,333.333 350,333.333L745,333.333C753.333,298 766,264.667 782.333,233.333L350,233.333C230.667,233.333 133.333,330.667 133.333,450L133.333,1016.67C133.333,1136 230.667,1233.33 350,1233.33L400,1233.33L400,1416.67C400,1448.33 417.667,1477 446,1491.33C458,1497 470.667,1500 483.333,1500C501,1500 518.667,1494.33 533.333,1483.33L866.667,1233.33L1250,1233.33C1369.33,1233.33 1466.67,1136 1466.67,1016.67L1466.67,745.667C1437,774.333 1403.33,798.667 1366.67,817.667Z" style="fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-99,-798)">
|
||||
<path d="M1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1133.33,966.667C1133.33,948.267 1148.23,933.333 1166.67,933.333C1185.1,933.333 1200,948.267 1200,966.667L1200,1233.33C1200,1251.73 1185.1,1266.67 1166.67,1266.67C1148.23,1266.67 1133.33,1251.73 1133.33,1233.33L1133.33,966.667ZM1166.67,1408.33C1143.67,1408.33 1125,1389.67 1125,1366.67C1125,1343.67 1143.67,1325 1166.67,1325C1189.67,1325 1208.33,1343.67 1208.33,1366.67C1208.33,1389.67 1189.67,1408.33 1166.67,1408.33Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,6 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1435 1435"><g transform="matrix(1,0,0,1,-100,-65)">
|
||||
<path d="M1366.67,817.667L1366.67,1016.67C1366.67,1081 1314.33,1133.33 1250,1133.33L850,1133.33C839.333,1133.33 828.667,1137 820,1143.33L500,1383.33L500,1183.33C500,1155.67 477.667,1133.33 450,1133.33L350,1133.33C285.667,1133.33 233.333,1081 233.333,1016.67L233.333,450C233.333,385.667 285.667,333.333 350,333.333L745,333.333C753.333,298 766,264.667 782.333,233.333L350,233.333C230.667,233.333 133.333,330.667 133.333,450L133.333,1016.67C133.333,1136 230.667,1233.33 350,1233.33L400,1233.33L400,1416.67C400,1448.33 417.667,1477 446,1491.33C458,1497 470.667,1500 483.333,1500C501,1500 518.667,1494.33 533.333,1483.33L866.667,1233.33L1250,1233.33C1369.33,1233.33 1466.67,1136 1466.67,1016.67L1466.67,745.667C1437,774.333 1403.33,798.667 1366.67,817.667Z" style="fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-99,-798)">
|
||||
<path d="M1166.67,800C964.167,800 800,964.167 800,1166.67C800,1369.17 964.167,1533.33 1166.67,1533.33C1369.17,1533.33 1533.33,1369.17 1533.33,1166.67C1533.33,964.167 1369.17,800 1166.67,800ZM1133.33,966.667C1133.33,948.267 1148.23,933.333 1166.67,933.333C1185.1,933.333 1200,948.267 1200,966.667L1200,1233.33C1200,1251.73 1185.1,1266.67 1166.67,1266.67C1148.23,1266.67 1133.33,1251.73 1133.33,1233.33L1133.33,966.667ZM1166.67,1408.33C1143.67,1408.33 1125,1389.67 1125,1366.67C1125,1343.67 1143.67,1325 1166.67,1325C1189.67,1325 1208.33,1343.67 1208.33,1366.67C1208.33,1389.67 1189.67,1408.33 1166.67,1408.33Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
3
VDownload/Assets/Icons/TemporaryFilesLocationDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1333 1333"><g transform="matrix(1,0,0,1,-132,-132)">
|
||||
<path d="M283.333,266.667C201.083,266.667 133.333,334.417 133.333,416.667L133.333,1183.33C133.333,1265.58 201.083,1333.33 283.333,1333.33L1316.67,1333.33C1398.92,1333.33 1466.67,1265.58 1466.67,1183.33L1466.67,583.333C1466.67,501.083 1398.92,433.333 1316.67,433.333L801.432,433.333L652.409,309.18C619.469,281.737 577.972,266.667 535.091,266.667L283.333,266.667ZM283.333,366.667L535.091,366.667C554.61,366.667 573.419,373.512 588.411,386.003L705.208,483.333L588.411,580.664C573.419,593.155 554.61,600 535.091,600L233.333,600L233.333,416.667C233.333,388.45 255.117,366.667 283.333,366.667ZM801.432,533.333L1316.67,533.333C1344.88,533.333 1366.67,555.117 1366.67,583.333L1366.67,1183.33C1366.67,1211.55 1344.88,1233.33 1316.67,1233.33L283.333,1233.33C255.117,1233.33 233.333,1211.55 233.333,1183.33L233.333,700L535.091,700C577.972,700 619.469,684.93 652.409,657.487L801.432,533.333Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
3
VDownload/Assets/Icons/TemporaryFilesLocationLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1333 1333"><g transform="matrix(1,0,0,1,-132,-132)">
|
||||
<path d="M283.333,266.667C201.083,266.667 133.333,334.417 133.333,416.667L133.333,1183.33C133.333,1265.58 201.083,1333.33 283.333,1333.33L1316.67,1333.33C1398.92,1333.33 1466.67,1265.58 1466.67,1183.33L1466.67,583.333C1466.67,501.083 1398.92,433.333 1316.67,433.333L801.432,433.333L652.409,309.18C619.469,281.737 577.972,266.667 535.091,266.667L283.333,266.667ZM283.333,366.667L535.091,366.667C554.61,366.667 573.419,373.512 588.411,386.003L705.208,483.333L588.411,580.664C573.419,593.155 554.61,600 535.091,600L233.333,600L233.333,416.667C233.333,388.45 255.117,366.667 283.333,366.667ZM801.432,533.333L1316.67,533.333C1344.88,533.333 1366.67,555.117 1366.67,583.333L1366.67,1183.33C1366.67,1211.55 1344.88,1233.33 1316.67,1233.33L283.333,1233.33C255.117,1233.33 233.333,1211.55 233.333,1183.33L233.333,700L535.091,700C577.972,700 619.469,684.93 652.409,657.487L801.432,533.333Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
3
VDownload/Assets/Icons/TranscodingAlgorithmDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1430 1430"><g transform="matrix(1,0,0,1,-100,-104)">
|
||||
<path d="M283.333,233.333C182.333,233.333 100,315.667 100,416.667L100,1183.33C100,1284.33 182.333,1366.67 283.333,1366.67L782.357,1366.67C766.023,1335.33 753.32,1302 744.987,1266.67L283.333,1266.67C237.333,1266.67 200,1229.33 200,1183.33L200,416.667C200,370.667 237.333,333.333 283.333,333.333L1316.67,333.333C1362.67,333.333 1400,370.667 1400,416.667L1400,801.693C1438,825.693 1471.67,855.641 1500,889.974L1500,416.667C1500,315.667 1417.67,233.333 1316.67,233.333L283.333,233.333ZM283.333,400C264.933,400 250,414.933 250,433.333L250,466.667C250,485.067 264.933,500 283.333,500L316.667,500C335.067,500 350,485.067 350,466.667L350,433.333C350,414.933 335.067,400 316.667,400L283.333,400ZM483.333,400C464.933,400 450,414.933 450,433.333L450,466.667C450,485.067 464.933,500 483.333,500L516.667,500C535.067,500 550,485.067 550,466.667L550,433.333C550,414.933 535.067,400 516.667,400L483.333,400ZM683.333,400C664.933,400 650,414.933 650,433.333L650,466.667C650,485.067 664.933,500 683.333,500L716.667,500C735.067,500 750,485.067 750,466.667L750,433.333C750,414.933 735.067,400 716.667,400L683.333,400ZM883.333,400C864.933,400 850,414.933 850,433.333L850,466.667C850,485.067 864.933,500 883.333,500L916.667,500C935.067,500 950,485.067 950,466.667L950,433.333C950,414.933 935.067,400 916.667,400L883.333,400ZM1083.33,400C1064.93,400 1050,414.933 1050,433.333L1050,466.667C1050,485.067 1064.93,500 1083.33,500L1116.67,500C1135.07,500 1150,485.067 1150,466.667L1150,433.333C1150,414.933 1135.07,400 1116.67,400L1083.33,400ZM1283.33,400C1264.93,400 1250,414.933 1250,433.333L1250,466.667C1250,485.067 1264.93,500 1283.33,500L1316.67,500C1335.07,500 1350,485.067 1350,466.667L1350,433.333C1350,414.933 1335.07,400 1316.67,400L1283.33,400ZM1054.82,817.122C1031.23,819.934 1009.76,836.396 1002.93,861.979L991.927,903.06C985.294,927.827 963.848,945.814 938.281,948.047L895.964,951.758C853.73,955.424 828.03,999.881 845.964,1038.28L863.932,1076.82C874.766,1100.09 869.924,1127.63 851.758,1145.77L821.68,1175.85C791.713,1205.81 800.663,1256.45 839.063,1274.35L877.604,1292.32C900.871,1303.15 914.864,1327.36 912.63,1352.93L908.854,1395.31C905.154,1437.51 944.582,1470.54 985.482,1459.57L1026.56,1448.5C1051.36,1441.84 1077.62,1451.43 1092.32,1472.46L1116.73,1507.29C1141,1541.99 1192.37,1541.99 1216.67,1507.29L1241.02,1472.46C1255.72,1451.46 1282.04,1441.84 1306.84,1448.5L1347.92,1459.57C1388.85,1470.54 1428.18,1437.51 1424.48,1395.31L1420.77,1352.93C1418.5,1327.36 1432.53,1303.15 1455.79,1292.32L1494.27,1274.35C1532.67,1256.45 1541.62,1205.78 1511.65,1175.85L1481.58,1145.77C1463.41,1127.63 1458.53,1100.09 1469.4,1076.82L1487.43,1038.28C1505.34,999.915 1479.63,955.424 1437.43,951.758L1395.05,948.047C1369.49,945.814 1348.04,927.86 1341.41,903.06L1330.4,861.979C1319.47,821.046 1271.22,803.434 1236.52,827.734L1201.69,852.148C1180.69,866.882 1152.67,866.882 1131.71,852.148L1096.88,827.734C1083.88,818.622 1068.97,815.435 1054.82,817.122ZM283.333,1100C265,1100 250,1115 250,1133.33L250,1166.67C250,1185 265,1200 283.333,1200L316.667,1200C335,1200 350,1185 350,1166.67L350,1133.33C350,1115 335,1100 316.667,1100L283.333,1100ZM483.333,1100C465,1100 450,1115 450,1133.33L450,1166.67C450,1185 465,1200 483.333,1200L516.667,1200C535,1200 550,1185 550,1166.67L550,1133.33C550,1115 535,1100 516.667,1100L483.333,1100ZM683.333,1100C665,1100 650,1115 650,1133.33L650,1166.67C650,1185 665,1200 683.333,1200L716.667,1200C723,1200 729.31,1198 734.31,1194.66L734.31,1193.68L737.695,1107.36C732.029,1102.69 724.667,1100 716.667,1100L683.333,1100Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
3
VDownload/Assets/Icons/TranscodingAlgorithmLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1430 1430"><g transform="matrix(1,0,0,1,-100,-104)">
|
||||
<path d="M283.333,233.333C182.333,233.333 100,315.667 100,416.667L100,1183.33C100,1284.33 182.333,1366.67 283.333,1366.67L782.357,1366.67C766.023,1335.33 753.32,1302 744.987,1266.67L283.333,1266.67C237.333,1266.67 200,1229.33 200,1183.33L200,416.667C200,370.667 237.333,333.333 283.333,333.333L1316.67,333.333C1362.67,333.333 1400,370.667 1400,416.667L1400,801.693C1438,825.693 1471.67,855.641 1500,889.974L1500,416.667C1500,315.667 1417.67,233.333 1316.67,233.333L283.333,233.333ZM283.333,400C264.933,400 250,414.933 250,433.333L250,466.667C250,485.067 264.933,500 283.333,500L316.667,500C335.067,500 350,485.067 350,466.667L350,433.333C350,414.933 335.067,400 316.667,400L283.333,400ZM483.333,400C464.933,400 450,414.933 450,433.333L450,466.667C450,485.067 464.933,500 483.333,500L516.667,500C535.067,500 550,485.067 550,466.667L550,433.333C550,414.933 535.067,400 516.667,400L483.333,400ZM683.333,400C664.933,400 650,414.933 650,433.333L650,466.667C650,485.067 664.933,500 683.333,500L716.667,500C735.067,500 750,485.067 750,466.667L750,433.333C750,414.933 735.067,400 716.667,400L683.333,400ZM883.333,400C864.933,400 850,414.933 850,433.333L850,466.667C850,485.067 864.933,500 883.333,500L916.667,500C935.067,500 950,485.067 950,466.667L950,433.333C950,414.933 935.067,400 916.667,400L883.333,400ZM1083.33,400C1064.93,400 1050,414.933 1050,433.333L1050,466.667C1050,485.067 1064.93,500 1083.33,500L1116.67,500C1135.07,500 1150,485.067 1150,466.667L1150,433.333C1150,414.933 1135.07,400 1116.67,400L1083.33,400ZM1283.33,400C1264.93,400 1250,414.933 1250,433.333L1250,466.667C1250,485.067 1264.93,500 1283.33,500L1316.67,500C1335.07,500 1350,485.067 1350,466.667L1350,433.333C1350,414.933 1335.07,400 1316.67,400L1283.33,400ZM1054.82,817.122C1031.23,819.934 1009.76,836.396 1002.93,861.979L991.927,903.06C985.294,927.827 963.848,945.814 938.281,948.047L895.964,951.758C853.73,955.424 828.03,999.881 845.964,1038.28L863.932,1076.82C874.766,1100.09 869.924,1127.63 851.758,1145.77L821.68,1175.85C791.713,1205.81 800.663,1256.45 839.063,1274.35L877.604,1292.32C900.871,1303.15 914.864,1327.36 912.63,1352.93L908.854,1395.31C905.154,1437.51 944.582,1470.54 985.482,1459.57L1026.56,1448.5C1051.36,1441.84 1077.62,1451.43 1092.32,1472.46L1116.73,1507.29C1141,1541.99 1192.37,1541.99 1216.67,1507.29L1241.02,1472.46C1255.72,1451.46 1282.04,1441.84 1306.84,1448.5L1347.92,1459.57C1388.85,1470.54 1428.18,1437.51 1424.48,1395.31L1420.77,1352.93C1418.5,1327.36 1432.53,1303.15 1455.79,1292.32L1494.27,1274.35C1532.67,1256.45 1541.62,1205.78 1511.65,1175.85L1481.58,1145.77C1463.41,1127.63 1458.53,1100.09 1469.4,1076.82L1487.43,1038.28C1505.34,999.915 1479.63,955.424 1437.43,951.758L1395.05,948.047C1369.49,945.814 1348.04,927.86 1341.41,903.06L1330.4,861.979C1319.47,821.046 1271.22,803.434 1236.52,827.734L1201.69,852.148C1180.69,866.882 1152.67,866.882 1131.71,852.148L1096.88,827.734C1083.88,818.622 1068.97,815.435 1054.82,817.122ZM283.333,1100C265,1100 250,1115 250,1133.33L250,1166.67C250,1185 265,1200 283.333,1200L316.667,1200C335,1200 350,1185 350,1166.67L350,1133.33C350,1115 335,1100 316.667,1100L283.333,1100ZM483.333,1100C465,1100 450,1115 450,1133.33L450,1166.67C450,1185 465,1200 483.333,1200L516.667,1200C535,1200 550,1185 550,1166.67L550,1133.33C550,1115 535,1100 516.667,1100L483.333,1100ZM683.333,1100C665,1100 650,1115 650,1133.33L650,1166.67C650,1185 665,1200 683.333,1200L716.667,1200C723,1200 729.31,1198 734.31,1194.66L734.31,1193.68L737.695,1107.36C732.029,1102.69 724.667,1100 716.667,1100L683.333,1100Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
3
VDownload/Assets/Icons/UseHardwareAccelerationDark.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1470 1470"><g transform="matrix(1,0,0,1,-30,-67)">
|
||||
<path d="M83.333,200C83.098,199.997 82.862,199.995 82.626,199.995C55.194,199.995 32.621,222.568 32.621,250C32.621,277.432 55.194,300.005 82.626,300.005C82.862,300.005 83.098,300.003 83.333,300L166.667,300L166.667,1383.33C166.663,1383.57 166.662,1383.81 166.662,1384.04C166.662,1411.47 189.235,1434.05 216.667,1434.05C244.099,1434.05 266.672,1411.47 266.672,1384.04C266.672,1383.81 266.67,1383.57 266.667,1383.33L266.667,1333.33L416.667,1333.33C444.095,1333.33 466.664,1310.76 466.667,1283.33L466.667,1200L700,1200L700,1283.33C700.003,1310.76 722.572,1333.33 750,1333.33L1316.67,1333.33C1344.1,1333.33 1366.66,1310.76 1366.67,1283.33L1366.67,1200L1383.33,1200C1447.27,1200 1500,1147.27 1500,1083.33L1500,550C1500,486.061 1447.27,433.333 1383.33,433.333L266.667,433.333L266.667,250C266.664,222.572 244.095,200.003 216.667,200L83.333,200ZM266.667,533.333L1383.33,533.333C1392.73,533.333 1400,540.606 1400,550L1400,1083.33C1400,1092.73 1392.73,1100 1383.33,1100L1316.67,1100C1289.24,1100 1266.67,1122.57 1266.67,1150L1266.67,1233.33L800,1233.33L800,1150C799.997,1122.57 777.428,1100 750,1100L416.667,1100C389.239,1100 366.669,1122.57 366.667,1150L366.667,1233.33L266.667,1233.33L266.667,1000L416.667,1000C444.095,999.997 466.664,977.428 466.667,950L466.667,683.333C466.664,655.905 444.095,633.336 416.667,633.333L266.667,633.333L266.667,533.333ZM616.667,633.333C616.431,633.33 616.195,633.328 615.96,633.328C588.528,633.328 565.955,655.901 565.955,683.333C565.955,710.765 588.528,733.338 615.96,733.338C616.195,733.338 616.431,733.337 616.667,733.333L750,733.333C750.236,733.337 750.471,733.338 750.707,733.338C778.139,733.338 800.712,710.765 800.712,683.333C800.712,655.901 778.139,633.328 750.707,633.328C750.471,633.328 750.236,633.33 750,633.333L616.667,633.333ZM983.333,633.333C955.905,633.336 933.336,655.905 933.333,683.333L933.333,950C933.336,977.428 955.905,999.997 983.333,1000L1250,1000C1277.43,999.997 1300,977.428 1300,950L1300,683.333C1300,655.905 1277.43,633.336 1250,633.333L983.333,633.333ZM266.667,733.333L366.667,733.333L366.667,900L266.667,900L266.667,733.333ZM1033.33,733.333L1200,733.333L1200,900L1033.33,900L1033.33,733.333ZM616.667,833.333C616.431,833.33 616.195,833.328 615.96,833.328C588.528,833.328 565.955,855.901 565.955,883.333C565.955,910.765 588.528,933.338 615.96,933.338C616.195,933.338 616.431,933.337 616.667,933.333L750,933.333C750.236,933.337 750.471,933.338 750.707,933.338C778.139,933.338 800.712,910.765 800.712,883.333C800.712,855.901 778.139,833.328 750.707,833.328C750.471,833.328 750.236,833.33 750,833.333L616.667,833.333Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
3
VDownload/Assets/Icons/UseHardwareAccelerationLight.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1470 1470"><g transform="matrix(1,0,0,1,-30,-67)">
|
||||
<path d="M83.333,200C83.098,199.997 82.862,199.995 82.626,199.995C55.194,199.995 32.621,222.568 32.621,250C32.621,277.432 55.194,300.005 82.626,300.005C82.862,300.005 83.098,300.003 83.333,300L166.667,300L166.667,1383.33C166.663,1383.57 166.662,1383.81 166.662,1384.04C166.662,1411.47 189.235,1434.05 216.667,1434.05C244.099,1434.05 266.672,1411.47 266.672,1384.04C266.672,1383.81 266.67,1383.57 266.667,1383.33L266.667,1333.33L416.667,1333.33C444.095,1333.33 466.664,1310.76 466.667,1283.33L466.667,1200L700,1200L700,1283.33C700.003,1310.76 722.572,1333.33 750,1333.33L1316.67,1333.33C1344.1,1333.33 1366.66,1310.76 1366.67,1283.33L1366.67,1200L1383.33,1200C1447.27,1200 1500,1147.27 1500,1083.33L1500,550C1500,486.061 1447.27,433.333 1383.33,433.333L266.667,433.333L266.667,250C266.664,222.572 244.095,200.003 216.667,200L83.333,200ZM266.667,533.333L1383.33,533.333C1392.73,533.333 1400,540.606 1400,550L1400,1083.33C1400,1092.73 1392.73,1100 1383.33,1100L1316.67,1100C1289.24,1100 1266.67,1122.57 1266.67,1150L1266.67,1233.33L800,1233.33L800,1150C799.997,1122.57 777.428,1100 750,1100L416.667,1100C389.239,1100 366.669,1122.57 366.667,1150L366.667,1233.33L266.667,1233.33L266.667,1000L416.667,1000C444.095,999.997 466.664,977.428 466.667,950L466.667,683.333C466.664,655.905 444.095,633.336 416.667,633.333L266.667,633.333L266.667,533.333ZM616.667,633.333C616.431,633.33 616.195,633.328 615.96,633.328C588.528,633.328 565.955,655.901 565.955,683.333C565.955,710.765 588.528,733.338 615.96,733.338C616.195,733.338 616.431,733.337 616.667,733.333L750,733.333C750.236,733.337 750.471,733.338 750.707,733.338C778.139,733.338 800.712,710.765 800.712,683.333C800.712,655.901 778.139,633.328 750.707,633.328C750.471,633.328 750.236,633.33 750,633.333L616.667,633.333ZM983.333,633.333C955.905,633.336 933.336,655.905 933.333,683.333L933.333,950C933.336,977.428 955.905,999.997 983.333,1000L1250,1000C1277.43,999.997 1300,977.428 1300,950L1300,683.333C1300,655.905 1277.43,633.336 1250,633.333L983.333,633.333ZM266.667,733.333L366.667,733.333L366.667,900L266.667,900L266.667,733.333ZM1033.33,733.333L1200,733.333L1200,900L1033.33,900L1033.33,733.333ZM616.667,833.333C616.431,833.33 616.195,833.328 615.96,833.328C588.528,833.328 565.955,855.901 565.955,883.333C565.955,910.765 588.528,933.338 615.96,933.338C616.195,933.338 616.431,933.337 616.667,933.333L750,933.333C750.236,933.337 750.471,933.338 750.707,933.338C778.139,933.338 800.712,910.765 800.712,883.333C800.712,855.901 778.139,833.328 750.707,833.328C750.471,833.328 750.236,833.33 750,833.333L616.667,833.333Z" style="fill-rule:nonzero;"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -8,8 +8,8 @@
|
||||
|
||||
<Identity
|
||||
Name="VDownload"
|
||||
Publisher="CN=Mateusz"
|
||||
Version="1.0.0.0" />
|
||||
Publisher="CN=Mateusz Skoczek"
|
||||
Version="0.1.0.0" />
|
||||
|
||||
<mp:PhoneIdentity PhoneProductId="b0f59998-a2e2-4edb-a764-b0cf8c657336" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
|
||||
|
||||
|
||||
9
VDownload/Resources/AppProperties.xaml
Normal file
@@ -0,0 +1,9 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<x:String x:Key="AppName">VDownload</x:String>
|
||||
<x:String x:Key="AppVersion">1.0-prerelease1</x:String>
|
||||
<x:String x:Key="AppAuthor">Mateusz Skoczek</x:String>
|
||||
<x:String x:Key="AppRepositoryUrl">https://github.com/mateuszskoczek/VDownload</x:String>
|
||||
<x:String x:Key="AppDonationUrl">https://paypal.me/mateuszskoczek</x:String>
|
||||
</ResourceDictionary>
|
||||
@@ -24,6 +24,25 @@
|
||||
<SvgImageSource x:Key="StateScheduledIcon" UriSource="ms-appx:///Assets/Icons/StateScheduledLight.svg"/>
|
||||
<SvgImageSource x:Key="ApplyToAllOptionsIcon" UriSource="ms-appx:///Assets/Icons/ApplyToAllOptionsLight.svg"/>
|
||||
<SvgImageSource x:Key="FilterIcon" UriSource="ms-appx:///Assets/Icons/FilterLight.svg"/>
|
||||
<SvgImageSource x:Key="TemporaryFilesLocationIcon" UriSource="ms-appx:///Assets/Icons/TemporaryFilesLocationLight.svg"/>
|
||||
<SvgImageSource x:Key="DeleteTemporaryFilesOnStartIcon" UriSource="ms-appx:///Assets/Icons/DeleteTemporaryFilesOnStartLight.svg"/>
|
||||
<SvgImageSource x:Key="DeleteTasksTemporaryFilesIfEndedWithError" UriSource="ms-appx:///Assets/Icons/DeleteTasksTemporaryFilesIfEndedWithErrorLight.svg"/>
|
||||
<SvgImageSource x:Key="EditingAlgorithm" UriSource="ms-appx:///Assets/Icons/EditingAlgorithmLight.svg"/>
|
||||
<SvgImageSource x:Key="TranscodingAlgorithm" UriSource="ms-appx:///Assets/Icons/TranscodingAlgorithmLight.svg"/>
|
||||
<SvgImageSource x:Key="UseHardwareAcceleration" UriSource="ms-appx:///Assets/Icons/UseHardwareAccelerationLight.svg"/>
|
||||
<SvgImageSource x:Key="ShowNotifcationWhenSuccessful" UriSource="ms-appx:///Assets/Icons/ShowNotifcationWhenSuccessfulLight.svg"/>
|
||||
<SvgImageSource x:Key="ShowNotifcationWhenUnsuccessful" UriSource="ms-appx:///Assets/Icons/ShowNotifcationWhenUnsuccessfulLight.svg"/>
|
||||
<SvgImageSource x:Key="CustomMediaLocation" UriSource="ms-appx:///Assets/Icons/CustomMediaLocationLight.svg"/>
|
||||
<SvgImageSource x:Key="LastMediaLocation" UriSource="ms-appx:///Assets/Icons/LastMediaLocationLight.svg"/>
|
||||
<SvgImageSource x:Key="DefaultAudioExtension" UriSource="ms-appx:///Assets/Icons/DefaultAudioExtensionLight.svg"/>
|
||||
<SvgImageSource x:Key="DefaultVideoExtension" UriSource="ms-appx:///Assets/Icons/DefaultVideoExtensionLight.svg"/>
|
||||
<SvgImageSource x:Key="DefaultMediaType" UriSource="ms-appx:///Assets/Icons/DefaultMediaTypeLight.svg"/>
|
||||
<SvgImageSource x:Key="FilenameTemplate" UriSource="ms-appx:///Assets/Icons/FilenameTemplateLight.svg"/>
|
||||
<SvgImageSource x:Key="MeteredConnectionWarning" UriSource="ms-appx:///Assets/Icons/MeteredConnectionWarningLight.svg"/>
|
||||
<SvgImageSource x:Key="MeteredConnectionDelay" UriSource="ms-appx:///Assets/Icons/MeteredConnectionDelayLight.svg"/>
|
||||
<SvgImageSource x:Key="ReplaceFile" UriSource="ms-appx:///Assets/Icons/ReplaceFileLight.svg"/>
|
||||
<SvgImageSource x:Key="RemoveSuccessfullyEndedTask" UriSource="ms-appx:///Assets/Icons/RemoveSuccessfullyEndedTaskLight.svg"/>
|
||||
<SvgImageSource x:Key="ActiveTasksNumber" UriSource="ms-appx:///Assets/Icons/ActiveTasksNumberLight.svg"/>
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary x:Key="Dark">
|
||||
<SvgImageSource x:Key="AuthorIcon" UriSource="ms-appx:///Assets/Icons/AuthorDark.svg"/>
|
||||
@@ -47,6 +66,25 @@
|
||||
<SvgImageSource x:Key="StateScheduledIcon" UriSource="ms-appx:///Assets/Icons/StateScheduledDark.svg"/>
|
||||
<SvgImageSource x:Key="ApplyToAllOptionsIcon" UriSource="ms-appx:///Assets/Icons/ApplyToAllOptionsDark.svg"/>
|
||||
<SvgImageSource x:Key="FilterIcon" UriSource="ms-appx:///Assets/Icons/FilterDark.svg"/>
|
||||
<SvgImageSource x:Key="TemporaryFilesLocationIcon" UriSource="ms-appx:///Assets/Icons/TemporaryFilesLocationDark.svg"/>
|
||||
<SvgImageSource x:Key="DeleteTemporaryFilesOnStartIcon" UriSource="ms-appx:///Assets/Icons/DeleteTemporaryFilesOnStartDark.svg"/>
|
||||
<SvgImageSource x:Key="DeleteTasksTemporaryFilesIfEndedWithError" UriSource="ms-appx:///Assets/Icons/DeleteTasksTemporaryFilesIfEndedWithErrorDark.svg"/>
|
||||
<SvgImageSource x:Key="EditingAlgorithm" UriSource="ms-appx:///Assets/Icons/EditingAlgorithmDark.svg"/>
|
||||
<SvgImageSource x:Key="TranscodingAlgorithm" UriSource="ms-appx:///Assets/Icons/TranscodingAlgorithmDark.svg"/>
|
||||
<SvgImageSource x:Key="UseHardwareAcceleration" UriSource="ms-appx:///Assets/Icons/UseHardwareAccelerationDark.svg"/>
|
||||
<SvgImageSource x:Key="ShowNotifcationWhenSuccessful" UriSource="ms-appx:///Assets/Icons/ShowNotifcationWhenSuccessfulDark.svg"/>
|
||||
<SvgImageSource x:Key="ShowNotifcationWhenUnsuccessful" UriSource="ms-appx:///Assets/Icons/ShowNotifcationWhenUnsuccessfulDark.svg"/>
|
||||
<SvgImageSource x:Key="CustomMediaLocation" UriSource="ms-appx:///Assets/Icons/CustomMediaLocationDark.svg"/>
|
||||
<SvgImageSource x:Key="LastMediaLocation" UriSource="ms-appx:///Assets/Icons/LastMediaLocationDark.svg"/>
|
||||
<SvgImageSource x:Key="DefaultAudioExtension" UriSource="ms-appx:///Assets/Icons/DefaultAudioExtensionDark.svg"/>
|
||||
<SvgImageSource x:Key="DefaultVideoExtension" UriSource="ms-appx:///Assets/Icons/DefaultVideoExtensionDark.svg"/>
|
||||
<SvgImageSource x:Key="DefaultMediaType" UriSource="ms-appx:///Assets/Icons/DefaultMediaTypeDark.svg"/>
|
||||
<SvgImageSource x:Key="FilenameTemplate" UriSource="ms-appx:///Assets/Icons/FilenameTemplateDark.svg"/>
|
||||
<SvgImageSource x:Key="MeteredConnectionWarning" UriSource="ms-appx:///Assets/Icons/MeteredConnectionWarningDark.svg"/>
|
||||
<SvgImageSource x:Key="MeteredConnectionDelay" UriSource="ms-appx:///Assets/Icons/MeteredConnectionDelayDark.svg"/>
|
||||
<SvgImageSource x:Key="ReplaceFile" UriSource="ms-appx:///Assets/Icons/ReplaceFileDark.svg"/>
|
||||
<SvgImageSource x:Key="RemoveSuccessfullyEndedTask" UriSource="ms-appx:///Assets/Icons/RemoveSuccessfullyEndedTaskDark.svg"/>
|
||||
<SvgImageSource x:Key="ActiveTasksNumber" UriSource="ms-appx:///Assets/Icons/ActiveTasksNumberDark.svg"/>
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
<SvgImageSource x:Key="TwitchIcon" UriSource="ms-appx:///Assets/Icons/Twitch.svg"/>
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<ResourceDictionary
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<BitmapImage x:Name="Logo" UriSource="ms-appx:///Assets/Logo/Logo.png"/>
|
||||
<BitmapImage x:Name="UnknownThumbnailImage" UriSource="ms-appx:///Assets/Images/UnknownThumbnail.png"/>
|
||||
<SvgImageSource x:Name="HomeTasksListPlaceholderImage" UriSource="ms-appx:///Assets/Images/HomeTasksListPlaceholderImage.svg"/>
|
||||
|
||||
</ResourceDictionary>
|
||||
|
||||
@@ -379,4 +379,148 @@ The number in the numberbox indicades how many videos will be got from playlist.
|
||||
<data name="Settings_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Settings</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Downloading tasks</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_MaxNumberOfActiveTasksSettingControl.Title" xml:space="preserve">
|
||||
<value>Maximum number of active downloading tasks</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_AudioExtensionSettingControl.Title" xml:space="preserve">
|
||||
<value>Default audio files extension</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_CustomMediaLocationSettingControl.Title" xml:space="preserve">
|
||||
<value>Custom location</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_CustomMediaLocationSettingControlBrowseButton.Content" xml:space="preserve">
|
||||
<value>Browse</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_DefaultMediaTypeSettingControl.Title" xml:space="preserve">
|
||||
<value>Default media type</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_FilenameTemplateSettingControl.Title" xml:space="preserve">
|
||||
<value>Filename template</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_FilenameTemplateSettingControlInfoBox.Subtitle" xml:space="preserve">
|
||||
<value><title> - Title
|
||||
<author> - Author
|
||||
<views> - Views
|
||||
<id> - Video ID
|
||||
<date_pub:format> - Publication date
|
||||
<date_now:format> - Actual date
|
||||
<duration:format> - Video duration</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_FilenameTemplateSettingControlInfoBox.Title" xml:space="preserve">
|
||||
<value>Filename template</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Default downloading task settings</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_RememberLastMediaLocationSettingControl.Description" xml:space="preserve">
|
||||
<value>Otherwise, the location given below will be used</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_RememberLastMediaLocationSettingControl.Title" xml:space="preserve">
|
||||
<value>Remeber last used location</value>
|
||||
</data>
|
||||
<data name="Settings_DefaultDownloadingTaskSettings_VideoExtensionSettingControl.Title" xml:space="preserve">
|
||||
<value>Default video files extension</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_DelayWhenQueuedTaskStartsOnMeteredConnectionSettingControl.Title" xml:space="preserve">
|
||||
<value>Delay when queued task starts on metered connection</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_RemoveTaskWhenSuccessfullyEndedSettingControl.Title" xml:space="preserve">
|
||||
<value>Remove successfully ended task</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_ReplaceOutputFileIfExistsSettingControl.Title" xml:space="preserve">
|
||||
<value>Replace output file if exists</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_ShowWarningWhenTaskStartsOnMeteredConnectionSettingControl.Title" xml:space="preserve">
|
||||
<value>Show warning when task starts on metered connection</value>
|
||||
</data>
|
||||
<data name="Settings_Notifications_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Notifications</value>
|
||||
</data>
|
||||
<data name="Settings_Notifications_ShowNotificationWhenTaskEndedSuccessfullySettingControl.Title" xml:space="preserve">
|
||||
<value>Show notification when task ended successfully</value>
|
||||
</data>
|
||||
<data name="Settings_Notifications_ShowNotificationWhenTaskEndedUnsuccessfullySettingControl.Title" xml:space="preserve">
|
||||
<value>Show notification when task ended unsuccessfully</value>
|
||||
</data>
|
||||
<data name="Settings_Processing_EditingAlgorithmSettingControl.Title" xml:space="preserve">
|
||||
<value>Editing algorithm</value>
|
||||
</data>
|
||||
<data name="Settings_Processing_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Processing</value>
|
||||
</data>
|
||||
<data name="Settings_Processing_TranscodingAlgorithmSettingControl.Title" xml:space="preserve">
|
||||
<value>Transcoding algorithm</value>
|
||||
</data>
|
||||
<data name="Settings_Processing_UseHardwareAccelerationSettingControl.Title" xml:space="preserve">
|
||||
<value>Use hardware acceleration</value>
|
||||
</data>
|
||||
<data name="Settings_TemporaryFiles_DeleteTasksTemporaryFilesIfEndedWithErrorSettingControl.Title" xml:space="preserve">
|
||||
<value>Delete task's temporary files if ended with error</value>
|
||||
</data>
|
||||
<data name="Settings_TemporaryFiles_DeleteTemporaryFilesOnStartSettingControl.Title" xml:space="preserve">
|
||||
<value>Delete all temporary files on start</value>
|
||||
</data>
|
||||
<data name="Settings_TemporaryFiles_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Temporary files</value>
|
||||
</data>
|
||||
<data name="Settings_TemporaryFiles_TemporaryFilesLocationSettingControl.Title" xml:space="preserve">
|
||||
<value>Temporary files location</value>
|
||||
</data>
|
||||
<data name="Settings_TemporaryFiles_TemporaryFilesLocationSettingControlBrowseButton.Content" xml:space="preserve">
|
||||
<value>Browse</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_HeaderTextBlock.Text" xml:space="preserve">
|
||||
<value>Twitch</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_PassiveVodTrimmingSettingControl.Description" xml:space="preserve">
|
||||
<value>Skip downloading chunks that are out of trimming bounds</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_PassiveVodTrimmingSettingControl.Title" xml:space="preserve">
|
||||
<value>Passive VOD trimming</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_VodChunkDownloadingErrorMaxNumberOfRetriesSettingControl.Title" xml:space="preserve">
|
||||
<value>VOD chunk downloading error - maximum number of retries</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_VodChunkDownloadingErrorRetriesDelaySettingControl.Description" xml:space="preserve">
|
||||
<value>Delay between retries in miliseconds</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_VodChunkDownloadingErrorRetriesDelaySettingControl.Title" xml:space="preserve">
|
||||
<value>VOD chunk downloading error - delay between retries</value>
|
||||
</data>
|
||||
<data name="Settings_Twitch_VodChunkDownloadingErrorRetryAfterErrorSettingControl.Title" xml:space="preserve">
|
||||
<value>VOD chunk downloading error - retry after error</value>
|
||||
</data>
|
||||
<data name="About_Links_Header.Text" xml:space="preserve">
|
||||
<value>Links</value>
|
||||
</data>
|
||||
<data name="About_Developer_Header.Text" xml:space="preserve">
|
||||
<value>Developer</value>
|
||||
</data>
|
||||
<data name="About_Links_DonationButton.Content" xml:space="preserve">
|
||||
<value>Donation</value>
|
||||
</data>
|
||||
<data name="About_Links_RepositoryButton.Content" xml:space="preserve">
|
||||
<value>Repository</value>
|
||||
</data>
|
||||
<data name="About_TranslatedBy_Content.Text" xml:space="preserve">
|
||||
<value>Mateusz Skoczek</value>
|
||||
</data>
|
||||
<data name="About_TranslatedBy_Header.Text" xml:space="preserve">
|
||||
<value>Translated into English by</value>
|
||||
</data>
|
||||
<data name="Settings_RestoreDefaultSettingsButton.Content" xml:space="preserve">
|
||||
<value>Restore default settings</value>
|
||||
</data>
|
||||
<data name="Settings_DownloadingTasks_ReplaceOutputFileIfExistsSettingControl.Description" xml:space="preserve">
|
||||
<value>Otherwise, new filename will be generated (example: original_filename (1))</value>
|
||||
</data>
|
||||
<data name="Settings_Processing_EditingAlgorithmSettingControl.Description" xml:space="preserve">
|
||||
<value>Editing mode is used when download task requires merging audio & video separate channels</value>
|
||||
</data>
|
||||
<data name="Settings_Processing_TranscodingAlgorithmSettingControl.Description" xml:space="preserve">
|
||||
<value>Transcoding mode is used when download task only requires file conversion</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -17,7 +17,15 @@
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WindowsXamlEnableOverview>true</WindowsXamlEnableOverview>
|
||||
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
||||
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
|
||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
||||
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
|
||||
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
||||
<PackageCertificateThumbprint>19004779324CA6C66C5D4549F0161C153221ABD8</PackageCertificateThumbprint>
|
||||
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -186,27 +194,59 @@
|
||||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Assets\Icons\ActiveTasksNumberDark.svg" />
|
||||
<Content Include="Assets\Icons\ActiveTasksNumberLight.svg" />
|
||||
<Content Include="Assets\Icons\ApplyToAllOptionsDark.svg" />
|
||||
<Content Include="Assets\Icons\ApplyToAllOptionsLight.svg" />
|
||||
<Content Include="Assets\Icons\AuthorDark.svg" />
|
||||
<Content Include="Assets\Icons\AuthorLight.svg" />
|
||||
<Content Include="Assets\Icons\CustomMediaLocationDark.svg" />
|
||||
<Content Include="Assets\Icons\CustomMediaLocationLight.svg" />
|
||||
<Content Include="Assets\Icons\DateDark.svg" />
|
||||
<Content Include="Assets\Icons\DateLight.svg" />
|
||||
<Content Include="Assets\Icons\DefaultAudioExtensionDark.svg" />
|
||||
<Content Include="Assets\Icons\DefaultAudioExtensionLight.svg" />
|
||||
<Content Include="Assets\Icons\DefaultMediaTypeDark.svg" />
|
||||
<Content Include="Assets\Icons\DefaultMediaTypeLight.svg" />
|
||||
<Content Include="Assets\Icons\DefaultVideoExtensionDark.svg" />
|
||||
<Content Include="Assets\Icons\DefaultVideoExtensionLight.svg" />
|
||||
<Content Include="Assets\Icons\DeleteTasksTemporaryFilesIfEndedWithErrorDark.svg" />
|
||||
<Content Include="Assets\Icons\DeleteTasksTemporaryFilesIfEndedWithErrorLight.svg" />
|
||||
<Content Include="Assets\Icons\DeleteTemporaryFilesOnStartDark.svg" />
|
||||
<Content Include="Assets\Icons\DeleteTemporaryFilesOnStartLight.svg" />
|
||||
<Content Include="Assets\Icons\DurationDark.svg" />
|
||||
<Content Include="Assets\Icons\DurationLight.svg" />
|
||||
<Content Include="Assets\Icons\EditingAlgorithmDark.svg" />
|
||||
<Content Include="Assets\Icons\EditingAlgorithmLight.svg" />
|
||||
<Content Include="Assets\Icons\Error.svg" />
|
||||
<Content Include="Assets\Icons\FileDark.svg" />
|
||||
<Content Include="Assets\Icons\FileLight.svg" />
|
||||
<Content Include="Assets\Icons\FilenameTemplateDark.svg" />
|
||||
<Content Include="Assets\Icons\FilenameTemplateLight.svg" />
|
||||
<Content Include="Assets\Icons\FilterDark.svg" />
|
||||
<Content Include="Assets\Icons\FilterLight.svg" />
|
||||
<Content Include="Assets\Icons\LastMediaLocationDark.svg" />
|
||||
<Content Include="Assets\Icons\LastMediaLocationLight.svg" />
|
||||
<Content Include="Assets\Icons\LocationDark.svg" />
|
||||
<Content Include="Assets\Icons\LocationLight.svg" />
|
||||
<Content Include="Assets\Icons\MediaTypeDark.svg" />
|
||||
<Content Include="Assets\Icons\MediaTypeLight.svg" />
|
||||
<Content Include="Assets\Icons\MeteredConnectionDelayDark.svg" />
|
||||
<Content Include="Assets\Icons\MeteredConnectionDelayLight.svg" />
|
||||
<Content Include="Assets\Icons\MeteredConnectionWarningDark.svg" />
|
||||
<Content Include="Assets\Icons\MeteredConnectionWarningLight.svg" />
|
||||
<Content Include="Assets\Icons\QualityDark.svg" />
|
||||
<Content Include="Assets\Icons\QualityLight.svg" />
|
||||
<Content Include="Assets\Icons\RemoveSuccessfullyEndedTaskDark.svg" />
|
||||
<Content Include="Assets\Icons\RemoveSuccessfullyEndedTaskLight.svg" />
|
||||
<Content Include="Assets\Icons\ReplaceFileDark.svg" />
|
||||
<Content Include="Assets\Icons\ReplaceFileLight.svg" />
|
||||
<Content Include="Assets\Icons\ScheduleDark.svg" />
|
||||
<Content Include="Assets\Icons\ScheduleLight.svg" />
|
||||
<Content Include="Assets\Icons\ShowNotifcationWhenSuccessfulDark.svg" />
|
||||
<Content Include="Assets\Icons\ShowNotifcationWhenSuccessfulLight.svg" />
|
||||
<Content Include="Assets\Icons\ShowNotifcationWhenUnsuccessfulDark.svg" />
|
||||
<Content Include="Assets\Icons\ShowNotifcationWhenUnsuccessfulLight.svg" />
|
||||
<Content Include="Assets\Icons\StateCancelledDark.svg" />
|
||||
<Content Include="Assets\Icons\StateCancelledLight.svg" />
|
||||
<Content Include="Assets\Icons\StateDoneDark.svg" />
|
||||
@@ -225,9 +265,15 @@
|
||||
<Content Include="Assets\Icons\StateScheduledLight.svg" />
|
||||
<Content Include="Assets\Icons\StateQueuedDark.svg" />
|
||||
<Content Include="Assets\Icons\StateQueuedLight.svg" />
|
||||
<Content Include="Assets\Icons\TemporaryFilesLocationDark.svg" />
|
||||
<Content Include="Assets\Icons\TemporaryFilesLocationLight.svg" />
|
||||
<Content Include="Assets\Icons\TranscodingAlgorithmDark.svg" />
|
||||
<Content Include="Assets\Icons\TranscodingAlgorithmLight.svg" />
|
||||
<Content Include="Assets\Icons\TrimDark.svg" />
|
||||
<Content Include="Assets\Icons\TrimLight.svg" />
|
||||
<Content Include="Assets\Icons\Twitch.svg" />
|
||||
<Content Include="Assets\Icons\UseHardwareAccelerationDark.svg" />
|
||||
<Content Include="Assets\Icons\UseHardwareAccelerationLight.svg" />
|
||||
<Content Include="Assets\Icons\ViewsDark.svg" />
|
||||
<Content Include="Assets\Icons\ViewsLight.svg" />
|
||||
<Content Include="Assets\Images\HomeTasksListPlaceholderImage.svg" />
|
||||
@@ -294,6 +340,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Resources\AppProperties.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Resources\Colors.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -415,6 +465,9 @@
|
||||
<ItemGroup>
|
||||
<PRIResource Include="Strings\en-US\DialogResources.resw" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="VDownload_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
||||
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -8,7 +8,36 @@
|
||||
mc:Ignorable="d"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||
|
||||
<Grid>
|
||||
<Page.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="ms-appx:///Resources/AppProperties.xaml"/>
|
||||
<ResourceDictionary Source="ms-appx:///Resources/Icons.xaml"/>
|
||||
<ResourceDictionary Source="ms-appx:///Resources/Images.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Page.Resources>
|
||||
|
||||
</Grid>
|
||||
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="30">
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Image HorizontalAlignment="Center" Source="{StaticResource Logo}" Width="150"/>
|
||||
<TextBlock HorizontalAlignment="Center" FontSize="32" FontWeight="SemiBold" Text="{StaticResource AppName}"/>
|
||||
<TextBlock HorizontalAlignment="Center" FontSize="16" Text="{StaticResource AppVersion}"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical" Spacing="5">
|
||||
<TextBlock x:Uid="About_Developer_Header" HorizontalAlignment="Center" FontSize="16" FontWeight="SemiBold"/>
|
||||
<TextBlock HorizontalAlignment="Center" FontSize="12" Text="{StaticResource AppAuthor}"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical" Spacing="5">
|
||||
<TextBlock x:Uid="About_TranslatedBy_Header" HorizontalAlignment="Center" FontSize="16" FontWeight="SemiBold"/>
|
||||
<TextBlock x:Uid="About_TranslatedBy_Content" HorizontalAlignment="Center" FontSize="12"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Vertical" Spacing="5">
|
||||
<TextBlock x:Uid="About_Links_Header" HorizontalAlignment="Center" FontSize="16" FontWeight="SemiBold"/>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<HyperlinkButton x:Uid="About_Links_RepositoryButton" NavigateUri="{StaticResource AppRepositoryUrl}"/>
|
||||
<HyperlinkButton x:Uid="About_Links_DonationButton" NavigateUri="{StaticResource AppDonationUrl}"/>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Page>
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using VDownload.Core.Enums;
|
||||
using VDownload.Core.EventArgs;
|
||||
using VDownload.Core.Extensions;
|
||||
using VDownload.Core.Services;
|
||||
using VDownload.Core.Structs;
|
||||
@@ -64,7 +65,7 @@ namespace VDownload.Views.Home.Controls
|
||||
|
||||
File = DownloadTask.File.GetPath();
|
||||
|
||||
UpdateStatus(this, EventArgs.Empty);
|
||||
UpdateStatus(this, DownloadTask.LastStatusChangedEventArgs);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -133,9 +134,9 @@ namespace VDownload.Views.Home.Controls
|
||||
await Windows.System.Launcher.LaunchUriAsync(DownloadTask.Video.Url);
|
||||
}
|
||||
|
||||
private void UpdateStatus(object sender, EventArgs e)
|
||||
private void UpdateStatus(object sender, DownloadTaskStatusChangedEventArgs e)
|
||||
{
|
||||
if (DownloadTask.Status == DownloadTaskStatus.Idle || DownloadTask.Status == DownloadTaskStatus.EndedSuccessfully || DownloadTask.Status == DownloadTaskStatus.EndedUnsuccessfully)
|
||||
if (e.Status == DownloadTaskStatus.Idle || e.Status == DownloadTaskStatus.EndedSuccessfully || e.Status == DownloadTaskStatus.EndedUnsuccessfully)
|
||||
{
|
||||
StartStopButton.Icon = new SymbolIcon(Symbol.Download);
|
||||
}
|
||||
@@ -144,46 +145,46 @@ namespace VDownload.Views.Home.Controls
|
||||
StartStopButton.Icon = new SymbolIcon(Symbol.Stop);
|
||||
}
|
||||
|
||||
if (DownloadTask.Status == DownloadTaskStatus.Scheduled)
|
||||
if (e.Status == DownloadTaskStatus.Scheduled)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateScheduledIcon"];
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Scheduled")} ({DownloadTask.ScheduledFor.ToString(CultureInfo.InstalledUICulture.DateTimeFormat.ShortDatePattern)} {DownloadTask.ScheduledFor.ToString(CultureInfo.InstalledUICulture.DateTimeFormat.ShortTimePattern)})";
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Scheduled")} ({e.ScheduledFor.ToString(CultureInfo.InstalledUICulture.DateTimeFormat.ShortDatePattern)} {e.ScheduledFor.ToString(CultureInfo.InstalledUICulture.DateTimeFormat.ShortTimePattern)})";
|
||||
StateProgressBar.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else if (DownloadTask.Status == DownloadTaskStatus.Queued)
|
||||
else if (e.Status == DownloadTaskStatus.Queued)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateQueuedIcon"];
|
||||
StateText.Text = ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Queued");
|
||||
StateProgressBar.Visibility = Visibility.Visible;
|
||||
StateProgressBar.IsIndeterminate = true;
|
||||
}
|
||||
else if (DownloadTask.Status == DownloadTaskStatus.Downloading)
|
||||
else if (e.Status == DownloadTaskStatus.Downloading)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateDownloadingIcon"];
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Downloading")} ({Math.Round(DownloadTask.DownloadingProgress)}%)";
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Downloading")} ({Math.Round(e.DownloadingProgress)}%)";
|
||||
StateProgressBar.Visibility = Visibility.Visible;
|
||||
StateProgressBar.IsIndeterminate = false;
|
||||
StateProgressBar.Value = DownloadTask.DownloadingProgress;
|
||||
StateProgressBar.Value = e.DownloadingProgress;
|
||||
}
|
||||
else if (DownloadTask.Status == DownloadTaskStatus.Processing)
|
||||
else if (e.Status == DownloadTaskStatus.Processing)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateProcessingIcon"];
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Processing")} ({Math.Round(DownloadTask.ProcessingProgress)}%)";
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Processing")} ({Math.Round(e.ProcessingProgress)}%)";
|
||||
StateProgressBar.Visibility = Visibility.Visible;
|
||||
StateProgressBar.IsIndeterminate = false;
|
||||
StateProgressBar.Value = DownloadTask.ProcessingProgress;
|
||||
StateProgressBar.Value = e.ProcessingProgress;
|
||||
}
|
||||
else if (DownloadTask.Status == DownloadTaskStatus.Finalizing)
|
||||
else if (e.Status == DownloadTaskStatus.Finalizing)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateFinalizingIcon"];
|
||||
StateText.Text = ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Finalizing");
|
||||
StateProgressBar.Visibility = Visibility.Visible;
|
||||
StateProgressBar.IsIndeterminate = true;
|
||||
}
|
||||
else if (DownloadTask.Status == DownloadTaskStatus.EndedSuccessfully)
|
||||
else if (e.Status == DownloadTaskStatus.EndedSuccessfully)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateDoneIcon"];
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Done")} ({DownloadTask.ElapsedTime.ToStringOptTHBaseMMSS()})";
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Done")} ({e.ElapsedTime.ToStringOptTHBaseMMSS()})";
|
||||
StateProgressBar.Visibility = Visibility.Collapsed;
|
||||
|
||||
if ((bool)Config.GetValue("show_notification_when_task_ended_successfully"))
|
||||
@@ -194,9 +195,9 @@ namespace VDownload.Views.Home.Controls
|
||||
.Show();
|
||||
}
|
||||
}
|
||||
else if (DownloadTask.Status == DownloadTaskStatus.EndedUnsuccessfully)
|
||||
else if (e.Status == DownloadTaskStatus.EndedUnsuccessfully)
|
||||
{
|
||||
if (DownloadTask.Exception is OperationCanceledException)
|
||||
if (e.Exception is OperationCanceledException)
|
||||
{
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateCancelledIcon"];
|
||||
StateText.Text = ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Cancelled");
|
||||
@@ -205,14 +206,14 @@ namespace VDownload.Views.Home.Controls
|
||||
else
|
||||
{
|
||||
string errorInfo;
|
||||
if (DownloadTask.Exception is WebException)
|
||||
if (e.Exception is WebException)
|
||||
{
|
||||
if (!NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable) errorInfo = ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_Error_InternetNotAvailable");
|
||||
else throw DownloadTask.Exception;
|
||||
else throw e.Exception;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw DownloadTask.Exception;
|
||||
throw e.Exception;
|
||||
}
|
||||
StateIcon.Source = (SvgImageSource)IconsRes["StateErrorIcon"];
|
||||
StateText.Text = $"{ResourceLoader.GetForCurrentView().GetString("Home_DownloadTaskControl_State_Error")} ({errorInfo})";
|
||||
|
||||
@@ -113,9 +113,9 @@
|
||||
<ColumnDefinition Width="5"/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<CalendarDatePicker x:Name="FilterMinDateDatePicker" Grid.Column="0" LostFocus="FilterMinAndMaxDateDatePicker_LostFocus"/>
|
||||
<CalendarDatePicker x:Name="FilterMinDateDatePicker" Grid.Column="0" DateChanged="FilterMinAndMaxDateDatePicker_DateChanged"/>
|
||||
<TextBlock Grid.Column="1" VerticalAlignment="Center" Text="-"/>
|
||||
<CalendarDatePicker x:Name="FilterMaxDateDatePicker" Grid.Column="2" LostFocus="FilterMinAndMaxDateDatePicker_LostFocus"/>
|
||||
<CalendarDatePicker x:Name="FilterMaxDateDatePicker" Grid.Column="2" DateChanged="FilterMinAndMaxDateDatePicker_DateChanged"/>
|
||||
</Grid>
|
||||
<TextBlock Grid.Row="4" Grid.Column="0" VerticalAlignment="Center" x:Uid="Home_Adding_Base_SerialVideoAddingControl_Filter_DurationTextBlock" FontWeight="SemiBold"/>
|
||||
<Grid Grid.Row="4" Grid.Column="1" ColumnSpacing="8">
|
||||
|
||||
@@ -126,7 +126,7 @@ namespace VDownload.Views.Home.Controls
|
||||
}
|
||||
else if ((bool)Config.GetValue("custom_media_location") && StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_media_location"))
|
||||
{
|
||||
ApplyToAllLocation = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("selected_media_location");
|
||||
ApplyToAllLocation = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("custom_media_location");
|
||||
ApplyToAllLocationSettingControl.Description = ApplyToAllLocation.Path;
|
||||
}
|
||||
else
|
||||
@@ -226,7 +226,7 @@ namespace VDownload.Views.Home.Controls
|
||||
FilterChanged();
|
||||
}
|
||||
|
||||
private void FilterMinAndMaxDateDatePicker_LostFocus(object sender, RoutedEventArgs args)
|
||||
private void FilterMinAndMaxDateDatePicker_DateChanged(CalendarDatePicker sender, CalendarDatePickerDateChangedEventArgs args)
|
||||
{
|
||||
FilterChanged();
|
||||
}
|
||||
@@ -320,7 +320,10 @@ namespace VDownload.Views.Home.Controls
|
||||
catch (ArgumentException) { }
|
||||
|
||||
List<SerialVideoAddingVideoControl> allVideos = new List<SerialVideoAddingVideoControl>();
|
||||
allVideos.AddRange((IEnumerable<SerialVideoAddingVideoControl>)(VideosStackPanel.Children.ToList()));
|
||||
foreach (SerialVideoAddingVideoControl video in VideosStackPanel.Children)
|
||||
{
|
||||
allVideos.Add(video);
|
||||
}
|
||||
allVideos.AddRange(HiddenVideos);
|
||||
VideosStackPanel.Children.Clear();
|
||||
HiddenVideos.Clear();
|
||||
@@ -338,7 +341,7 @@ namespace VDownload.Views.Home.Controls
|
||||
) HiddenVideos.Add(videoControl);
|
||||
else VideosStackPanel.Children.Add(videoControl);
|
||||
}
|
||||
FilterHeaderCountTextBlock.Text = HiddenVideos.Count + DeletedVideos.Count > 0 ? $"{ResourceLoader.GetForCurrentView().GetString("HomePlaylistAddingPanelFilterHeaderCountTextBlockPrefix")}: {HiddenVideos.Count + DeletedVideos.Count}" : string.Empty;
|
||||
FilterHeaderCountTextBlock.Text = HiddenVideos.Count + DeletedVideos.Count > 0 ? $"{ResourceLoader.GetForCurrentView().GetString("Home_Adding_Base_SerialVideoAddingControl_Filter_Header_CountTextBlockPrefix")}: {HiddenVideos.Count + DeletedVideos.Count}" : string.Empty;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -144,6 +144,8 @@ namespace VDownload.Views.Home.Controls
|
||||
}
|
||||
|
||||
LoadingSuccessed.Invoke(this, new SubscriptionLoadSuccessedEventArgs(loadedVideos.ToArray()));
|
||||
|
||||
ProgressRing.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -142,7 +142,7 @@ namespace VDownload.Views.Home.Controls
|
||||
}
|
||||
else if ((bool)Config.GetValue("custom_media_location") && StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_media_location"))
|
||||
{
|
||||
FileLocation = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("selected_media_location");
|
||||
FileLocation = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("custom_media_location");
|
||||
FileLocationSettingControl.Description = FileLocation.Path;
|
||||
}
|
||||
else
|
||||
@@ -271,7 +271,10 @@ namespace VDownload.Views.Home.Controls
|
||||
|
||||
private void ScheduleSettingControlNumberBox_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (((NumberBox)sender).Value == double.NaN) ((NumberBox)sender).Value = 0;
|
||||
if (((NumberBox)sender).Value == double.NaN)
|
||||
{
|
||||
((NumberBox)sender).Value = 0;
|
||||
}
|
||||
Schedule = ((NumberBox)sender).Value;
|
||||
}
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace VDownload.Views.Home
|
||||
tasksList.Add(new DownloadTask(id, videoControl.Video, videoControl.OptionsControl.MediaType, videoControl.OptionsControl.Stream, trim, file, videoControl.OptionsControl.Schedule));
|
||||
}
|
||||
|
||||
TasksAddingRequested?.Invoke(this, new DownloadTasksAddingRequestedEventArgs(tasksList.ToArray(), DownloadTasksAddingRequestSource.Playlist));
|
||||
TasksAddingRequested?.Invoke(this, new DownloadTasksAddingRequestedEventArgs(tasksList.ToArray(), DownloadTasksAddingRequestSource.Subscriptions));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -5,10 +5,19 @@
|
||||
xmlns:local="using:VDownload.Views.Settings"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:cc="using:VDownload.Controls"
|
||||
xmlns:cc="using:VDownload.Controls"
|
||||
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
|
||||
mc:Ignorable="d"
|
||||
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
|
||||
|
||||
<Page.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="ms-appx:///Resources/Icons.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Page.Resources>
|
||||
|
||||
<Grid Padding="20" RowSpacing="20">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@@ -18,8 +27,148 @@
|
||||
<TextBlock x:Uid="Settings_HeaderTextBlock" Grid.Row="0" FontSize="28" FontWeight="SemiBold"/>
|
||||
|
||||
<ScrollViewer Grid.Row="1">
|
||||
<StackPanel VerticalAlignment="Stretch" Spacing="10">
|
||||
|
||||
<StackPanel VerticalAlignment="Stretch" Spacing="40">
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock x:Uid="Settings_DownloadingTasks_HeaderTextBlock" FontWeight="SemiBold"/>
|
||||
<cc:SettingControl x:Uid="Settings_DownloadingTasks_MaxNumberOfActiveTasksSettingControl" Icon="{ThemeResource ActiveTasksNumber}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<muxc:NumberBox x:Name="MaxNumberOfActiveTasksSettingControlNumberBox" SpinButtonPlacementMode="Compact" Minimum="1" LostFocus="MaxNumberOfActiveTasksSettingControlNumberBox_LostFocus"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DownloadingTasks_RemoveTaskWhenSuccessfullyEndedSettingControl" Icon="{ThemeResource RemoveSuccessfullyEndedTask}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="RemoveTaskWhenSuccessfullyEndedSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="RemoveTaskWhenSuccessfullyEndedSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DownloadingTasks_ReplaceOutputFileIfExistsSettingControl" Icon="{ThemeResource ReplaceFile}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="ReplaceOutputFileIfExistsSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="ReplaceOutputFileIfExistsSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DownloadingTasks_ShowWarningWhenTaskStartsOnMeteredConnectionSettingControl" Icon="{ThemeResource MeteredConnectionWarning}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="ShowWarningWhenTaskStartsOnMeteredConnectionSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="ShowWarningWhenTaskStartsOnMeteredConnectionSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DownloadingTasks_DelayWhenQueuedTaskStartsOnMeteredConnectionSettingControl" Icon="{ThemeResource MeteredConnectionDelay}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="DelayWhenQueuedTaskStartsOnMeteredConnectionSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="DelayWhenQueuedTaskStartsOnMeteredConnectionSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
</StackPanel>
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock x:Uid="Settings_DefaultDownloadingTaskSettings_HeaderTextBlock" FontWeight="SemiBold"/>
|
||||
<cc:SettingControl x:Uid="Settings_DefaultDownloadingTaskSettings_FilenameTemplateSettingControl" Icon="{ThemeResource FilenameTemplate}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<StackPanel Spacing="10" Orientation="Horizontal">
|
||||
<TextBox x:Name="FilenameTemplateSettingControlTextBox" LostFocus="FilenameTemplateSettingControlTextBox_LostFocus"/>
|
||||
<Button x:Name="FilenameTemplateSettingControlHelpButton" Content="?" Click="FilenameTemplateSettingControlHelpButton_Click">
|
||||
<Button.Resources>
|
||||
<muxc:TeachingTip x:Name="FilenameTemplateSettingControlInfoBox" x:Uid="Settings_DefaultDownloadingTaskSettings_FilenameTemplateSettingControlInfoBox" Target="{x:Bind FilenameTemplateSettingControlTextBox}"/>
|
||||
</Button.Resources>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DefaultDownloadingTaskSettings_DefaultMediaTypeSettingControl" Icon="{ThemeResource DefaultMediaType}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ComboBox x:Name="DefaultMediaTypeSettingControlComboBox" SelectionChanged="DefaultMediaTypeSettingControlComboBox_SelectionChanged"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DefaultDownloadingTaskSettings_VideoExtensionSettingControl" Icon="{ThemeResource DefaultVideoExtension}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ComboBox x:Name="VideoExtensionSettingControlComboBox" SelectionChanged="VideoExtensionSettingControlComboBox_SelectionChanged"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DefaultDownloadingTaskSettings_AudioExtensionSettingControl" Icon="{ThemeResource DefaultAudioExtension}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ComboBox x:Name="AudioExtensionSettingControlComboBox" SelectionChanged="AudioExtensionSettingControlComboBox_SelectionChanged"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_DefaultDownloadingTaskSettings_RememberLastMediaLocationSettingControl" Icon="{ThemeResource LastMediaLocation}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="RememberLastMediaLocationSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="RememberLastMediaLocationSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Name="CustomMediaLocationSettingControl" x:Uid="Settings_DefaultDownloadingTaskSettings_CustomMediaLocationSettingControl" Icon="{ThemeResource CustomMediaLocation}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<Button x:Uid="Settings_DefaultDownloadingTaskSettings_CustomMediaLocationSettingControlBrowseButton" Click="CustomMediaLocationSettingControlBrowseButton_Click"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
</StackPanel>
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock x:Uid="Settings_Notifications_HeaderTextBlock" FontWeight="SemiBold"/>
|
||||
<cc:SettingControl x:Uid="Settings_Notifications_ShowNotificationWhenTaskEndedSuccessfullySettingControl" Icon="{ThemeResource ShowNotifcationWhenSuccessful}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="ShowNotificationWhenTaskEndedSuccessfullySettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="ShowNotificationWhenTaskEndedSuccessfullySettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_Notifications_ShowNotificationWhenTaskEndedUnsuccessfullySettingControl" Icon="{ThemeResource ShowNotifcationWhenUnsuccessful}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="ShowNotificationWhenTaskEndedUnsuccessfullySettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="ShowNotificationWhenTaskEndedUnsuccessfullySettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
</StackPanel>
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock x:Uid="Settings_Processing_HeaderTextBlock" FontWeight="SemiBold"/>
|
||||
<cc:SettingControl x:Uid="Settings_Processing_UseHardwareAccelerationSettingControl" Icon="{ThemeResource UseHardwareAcceleration}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="UseHardwareAccelerationSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="UseHardwareAccelerationSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_Processing_TranscodingAlgorithmSettingControl" Icon="{ThemeResource TranscodingAlgorithm}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ComboBox x:Name="TranscodingAlgorithmSettingControlComboBox" SelectionChanged="TranscodingAlgorithmSettingControlComboBox_SelectionChanged"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_Processing_EditingAlgorithmSettingControl" Icon="{ThemeResource EditingAlgorithm}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ComboBox x:Name="EditingAlgorithmSettingControlComboBox" SelectionChanged="EditingAlgorithmSettingControlComboBox_SelectionChanged"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
</StackPanel>
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock x:Uid="Settings_TemporaryFiles_HeaderTextBlock" FontWeight="SemiBold"/>
|
||||
<cc:SettingControl x:Uid="Settings_TemporaryFiles_DeleteTemporaryFilesOnStartSettingControl" Icon="{ThemeResource DeleteTemporaryFilesOnStartIcon}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="DeleteTemporaryFilesOnStartSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="DeleteTemporaryFilesOnStartSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_TemporaryFiles_DeleteTasksTemporaryFilesIfEndedWithErrorSettingControl" Icon="{ThemeResource DeleteTasksTemporaryFilesIfEndedWithError}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="DeleteTasksTemporaryFilesIfEndedWithErrorSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="DeleteTasksTemporaryFilesIfEndedWithErrorSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Name="TemporaryFilesLocationSettingControl" x:Uid="Settings_TemporaryFiles_TemporaryFilesLocationSettingControl" Icon="{ThemeResource TemporaryFilesLocationIcon}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<Button x:Uid="Settings_TemporaryFiles_TemporaryFilesLocationSettingControlBrowseButton" Click="TemporaryFilesLocationSettingControlBrowseButton_Click"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
</StackPanel>
|
||||
<StackPanel Spacing="10">
|
||||
<TextBlock x:Uid="Settings_Twitch_HeaderTextBlock" FontWeight="SemiBold"/>
|
||||
<cc:SettingControl x:Uid="Settings_Twitch_PassiveVodTrimmingSettingControl" Icon="{StaticResource TwitchIcon}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="PassiveVodTrimmingSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="PassiveVodTrimmingSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_Twitch_VodChunkDownloadingErrorRetryAfterErrorSettingControl" Icon="{StaticResource TwitchIcon}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<ToggleSwitch x:Name="VodChunkDownloadingErrorRetryAfterErrorSettingControlToggleSwitch" Margin="0,-4,0,-4" FlowDirection="RightToLeft" Toggled="VodChunkDownloadingErrorRetryAfterErrorSettingControlToggleSwitch_Toggled"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_Twitch_VodChunkDownloadingErrorMaxNumberOfRetriesSettingControl" Icon="{StaticResource TwitchIcon}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<muxc:NumberBox x:Name="VodChunkDownloadingErrorMaxNumberOfRetriesSettingControlNumberBox" SpinButtonPlacementMode="Compact" Minimum="1" LostFocus="VodChunkDownloadingErrorMaxNumberOfRetriesSettingControlNumberBox_LostFocus"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
<cc:SettingControl x:Uid="Settings_Twitch_VodChunkDownloadingErrorRetriesDelaySettingControl" Icon="{StaticResource TwitchIcon}">
|
||||
<cc:SettingControl.SettingContent>
|
||||
<muxc:NumberBox x:Name="VodChunkDownloadingErrorRetriesDelaySettingControlNumberBox" SpinButtonPlacementMode="Compact" Minimum="1" LostFocus="VodChunkDownloadingErrorRetriesDelaySettingControlNumberBox_LostFocus"/>
|
||||
</cc:SettingControl.SettingContent>
|
||||
</cc:SettingControl>
|
||||
</StackPanel>
|
||||
<Button x:Uid="Settings_RestoreDefaultSettingsButton" Click="RestoreDefaultSettingsButton_Click"/>
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</Grid>
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
using System;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices.WindowsRuntime;
|
||||
using VDownload.Core.Enums;
|
||||
using VDownload.Core.Services;
|
||||
using Windows.ApplicationModel.Resources;
|
||||
using Windows.Foundation;
|
||||
using Windows.Foundation.Collections;
|
||||
using Windows.Media.Editing;
|
||||
using Windows.Media.Transcoding;
|
||||
using Windows.Storage;
|
||||
using Windows.Storage.AccessCache;
|
||||
using Windows.Storage.Pickers;
|
||||
using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Controls.Primitives;
|
||||
@@ -17,9 +27,283 @@ namespace VDownload.Views.Settings
|
||||
{
|
||||
public sealed partial class MainPage : Page
|
||||
{
|
||||
#region CONSTRUCTORS
|
||||
|
||||
public MainPage()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region EVENT HANDLERS
|
||||
|
||||
protected override async void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
MaxNumberOfActiveTasksSettingControlNumberBox.Value = (int)Config.GetValue("max_active_video_task");
|
||||
ReplaceOutputFileIfExistsSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("replace_output_file_if_exists");
|
||||
RemoveTaskWhenSuccessfullyEndedSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("remove_task_when_successfully_ended");
|
||||
ShowWarningWhenTaskStartsOnMeteredConnectionSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("show_warning_when_task_starts_on_metered_network");
|
||||
DelayWhenQueuedTaskStartsOnMeteredConnectionSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("delay_task_when_queued_task_starts_on_metered_network");
|
||||
FilenameTemplateSettingControlTextBox.Text = (string)Config.GetValue("default_filename");
|
||||
|
||||
foreach (string mediaType in Enum.GetNames(typeof(MediaType)))
|
||||
{
|
||||
DefaultMediaTypeSettingControlComboBox.Items.Add(ResourceLoader.GetForCurrentView().GetString($"Base_MediaType_{mediaType}Text"));
|
||||
}
|
||||
DefaultMediaTypeSettingControlComboBox.SelectedIndex = (int)Config.GetValue("default_media_type");
|
||||
|
||||
foreach (string videoExtension in Enum.GetNames(typeof(VideoFileExtension)))
|
||||
{
|
||||
VideoExtensionSettingControlComboBox.Items.Add(videoExtension);
|
||||
}
|
||||
VideoExtensionSettingControlComboBox.SelectedIndex = (int)Config.GetValue("default_video_extension");
|
||||
|
||||
foreach (string audioExtension in Enum.GetNames(typeof(AudioFileExtension)))
|
||||
{
|
||||
AudioExtensionSettingControlComboBox.Items.Add(audioExtension);
|
||||
}
|
||||
AudioExtensionSettingControlComboBox.SelectedIndex = (int)Config.GetValue("default_audio_extension") - 3;
|
||||
|
||||
RememberLastMediaLocationSettingControlToggleSwitch.IsOn = !(bool)Config.GetValue("custom_media_location");
|
||||
|
||||
if (StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_media_location"))
|
||||
{
|
||||
CustomMediaLocationSettingControl.Description = (await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("custom_media_location")).Path;
|
||||
}
|
||||
else
|
||||
{
|
||||
CustomMediaLocationSettingControl.Description = $@"{UserDataPaths.GetDefault().Downloads}\VDownload";
|
||||
}
|
||||
|
||||
ShowNotificationWhenTaskEndedSuccessfullySettingControlToggleSwitch.IsOn = (bool)Config.GetValue("show_notification_when_task_ended_successfully");
|
||||
|
||||
ShowNotificationWhenTaskEndedUnsuccessfullySettingControlToggleSwitch.IsOn = (bool)Config.GetValue("show_notification_when_task_ended_unsuccessfully");
|
||||
|
||||
UseHardwareAccelerationSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("media_transcoding_use_hardware_acceleration");
|
||||
|
||||
foreach (string transcodingAlgorithm in Enum.GetNames(typeof(MediaVideoProcessingAlgorithm)))
|
||||
{
|
||||
TranscodingAlgorithmSettingControlComboBox.Items.Add(transcodingAlgorithm);
|
||||
}
|
||||
TranscodingAlgorithmSettingControlComboBox.SelectedIndex = (int)Config.GetValue("media_transcoding_algorithm");
|
||||
|
||||
foreach (string editingAlgorithm in Enum.GetNames(typeof(MediaTrimmingPreference)))
|
||||
{
|
||||
EditingAlgorithmSettingControlComboBox.Items.Add(editingAlgorithm);
|
||||
}
|
||||
EditingAlgorithmSettingControlComboBox.SelectedIndex = (int)Config.GetValue("media_editing_algorithm");
|
||||
|
||||
DeleteTemporaryFilesOnStartSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("delete_temp_on_start");
|
||||
|
||||
if (StorageApplicationPermissions.FutureAccessList.ContainsItem("custom_temp_location"))
|
||||
{
|
||||
TemporaryFilesLocationSettingControl.Description = (await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("custom_temp_location")).Path;
|
||||
}
|
||||
else
|
||||
{
|
||||
TemporaryFilesLocationSettingControl.Description = ApplicationData.Current.TemporaryFolder.Path;
|
||||
}
|
||||
|
||||
DeleteTasksTemporaryFilesIfEndedWithErrorSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("delete_task_temp_when_ended_with_error");
|
||||
|
||||
PassiveVodTrimmingSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("twitch_vod_passive_trim");
|
||||
|
||||
VodChunkDownloadingErrorRetryAfterErrorSettingControlToggleSwitch.IsOn = (bool)Config.GetValue("twitch_vod_downloading_chunk_retry_after_error");
|
||||
|
||||
VodChunkDownloadingErrorMaxNumberOfRetriesSettingControlNumberBox.Value = (int)Config.GetValue("twitch_vod_downloading_chunk_max_retries");
|
||||
|
||||
VodChunkDownloadingErrorRetriesDelaySettingControlNumberBox.Value = (int)Config.GetValue("twitch_vod_downloading_chunk_retries_delay");
|
||||
}
|
||||
|
||||
private void MaxNumberOfActiveTasksSettingControlNumberBox_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
double value = ((NumberBox)sender).Value;
|
||||
if (double.IsNaN(value))
|
||||
{
|
||||
((NumberBox)sender).Value = (int)Config.GetValue("max_active_video_task");
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.SetValue("max_active_video_task", (int)value);
|
||||
}
|
||||
}
|
||||
|
||||
private void ReplaceOutputFileIfExistsSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("replace_output_file_if_exists", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void RemoveTaskWhenSuccessfullyEndedSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("remove_task_when_successfully_ended", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void ShowWarningWhenTaskStartsOnMeteredConnectionSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("show_warning_when_task_starts_on_metered_network", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void DelayWhenQueuedTaskStartsOnMeteredConnectionSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("delay_task_when_queued_task_starts_on_metered_network", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void FilenameTemplateSettingControlTextBox_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("default_filename", ((TextBox)sender).Text);
|
||||
}
|
||||
|
||||
private void FilenameTemplateSettingControlHelpButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
FilenameTemplateSettingControlInfoBox.IsOpen = !FilenameTemplateSettingControlInfoBox.IsOpen;
|
||||
}
|
||||
|
||||
private void DefaultMediaTypeSettingControlComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Config.SetValue("default_media_type", ((ComboBox)sender).SelectedIndex);
|
||||
}
|
||||
|
||||
private void VideoExtensionSettingControlComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Config.SetValue("default_video_extension", ((ComboBox)sender).SelectedIndex);
|
||||
}
|
||||
|
||||
private void AudioExtensionSettingControlComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Config.SetValue("default_audio_extension", ((ComboBox)sender).SelectedIndex + 3);
|
||||
}
|
||||
|
||||
private void RememberLastMediaLocationSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("custom_media_location", !((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private async void CustomMediaLocationSettingControlBrowseButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
FolderPicker picker = new FolderPicker
|
||||
{
|
||||
SuggestedStartLocation = PickerLocationId.Downloads
|
||||
};
|
||||
picker.FileTypeFilter.Add("*");
|
||||
|
||||
StorageFolder selectedFolder = await picker.PickSingleFolderAsync();
|
||||
|
||||
if (selectedFolder != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
await(await selectedFolder.CreateFileAsync("VDownloadLocationAccessTest")).DeleteAsync();
|
||||
StorageApplicationPermissions.FutureAccessList.AddOrReplace("custom_media_location", selectedFolder);
|
||||
CustomMediaLocationSettingControl.Description = selectedFolder.Path;
|
||||
}
|
||||
catch (UnauthorizedAccessException) { }
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowNotificationWhenTaskEndedSuccessfullySettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("show_notification_when_task_ended_successfully", !((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void ShowNotificationWhenTaskEndedUnsuccessfullySettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("show_notification_when_task_ended_unsuccessfully", !((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void UseHardwareAccelerationSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("media_transcoding_use_hardware_acceleration", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void TranscodingAlgorithmSettingControlComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Config.SetValue("media_transcoding_algorithm", ((ComboBox)sender).SelectedIndex);
|
||||
}
|
||||
|
||||
private void EditingAlgorithmSettingControlComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
Config.SetValue("media_editing_algorithm", ((ComboBox)sender).SelectedIndex);
|
||||
}
|
||||
|
||||
private void DeleteTemporaryFilesOnStartSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("delete_temp_on_start", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private async void TemporaryFilesLocationSettingControlBrowseButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
FolderPicker picker = new FolderPicker
|
||||
{
|
||||
SuggestedStartLocation = PickerLocationId.Downloads
|
||||
};
|
||||
picker.FileTypeFilter.Add("*");
|
||||
|
||||
StorageFolder selectedFolder = await picker.PickSingleFolderAsync();
|
||||
|
||||
if (selectedFolder != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
await(await selectedFolder.CreateFileAsync("VDownloadLocationAccessTest")).DeleteAsync();
|
||||
StorageApplicationPermissions.FutureAccessList.AddOrReplace("custom_temp_location", selectedFolder);
|
||||
TemporaryFilesLocationSettingControl.Description = selectedFolder.Path;
|
||||
}
|
||||
catch (UnauthorizedAccessException) { }
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteTasksTemporaryFilesIfEndedWithErrorSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("delete_task_temp_when_ended_with_error", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void PassiveVodTrimmingSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("twitch_vod_passive_trim", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void VodChunkDownloadingErrorRetryAfterErrorSettingControlToggleSwitch_Toggled(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetValue("twitch_vod_downloading_chunk_retry_after_error", ((ToggleSwitch)sender).IsOn);
|
||||
}
|
||||
|
||||
private void VodChunkDownloadingErrorMaxNumberOfRetriesSettingControlNumberBox_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
double value = ((NumberBox)sender).Value;
|
||||
if (double.IsNaN(value))
|
||||
{
|
||||
((NumberBox)sender).Value = (int)Config.GetValue("twitch_vod_downloading_chunk_max_retries");
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.SetValue("twitch_vod_downloading_chunk_max_retries", (int)value);
|
||||
}
|
||||
}
|
||||
|
||||
private void VodChunkDownloadingErrorRetriesDelaySettingControlNumberBox_LostFocus(object sender, RoutedEventArgs e)
|
||||
{
|
||||
double value = ((NumberBox)sender).Value;
|
||||
if (double.IsNaN(value))
|
||||
{
|
||||
((NumberBox)sender).Value = (int)Config.GetValue("twitch_vod_downloading_chunk_retries_delay");
|
||||
}
|
||||
else
|
||||
{
|
||||
Config.SetValue("twitch_vod_downloading_chunk_retries_delay", (int)value);
|
||||
}
|
||||
}
|
||||
|
||||
private void RestoreDefaultSettingsButton_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Config.SetDefault();
|
||||
StorageApplicationPermissions.FutureAccessList.Remove("custom_media_location");
|
||||
StorageApplicationPermissions.FutureAccessList.Remove("custom_temp_location");
|
||||
OnNavigatedTo(null);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||