mirror of
https://github.com/manos555555/PS5-Suite.git
synced 2026-10-06 09:00:27 +02:00
68 lines
1.8 KiB
C#
68 lines
1.8 KiB
C#
using System.Windows;
|
|
|
|
namespace PS5Upload
|
|
{
|
|
public partial class DuplicateFileDialog : Window
|
|
{
|
|
public enum FileAction
|
|
{
|
|
Replace,
|
|
Skip,
|
|
ReplaceAll,
|
|
SkipAll
|
|
}
|
|
|
|
public FileAction UserAction { get; private set; }
|
|
|
|
public DuplicateFileDialog(string fileName, long localSize, long remoteSize)
|
|
{
|
|
InitializeComponent();
|
|
|
|
FileNameTextBlock.Text = fileName;
|
|
LocalSizeTextBlock.Text = $"Local file: {FormatFileSize(localSize)}";
|
|
RemoteSizeTextBlock.Text = $"Remote file: {FormatFileSize(remoteSize)}";
|
|
}
|
|
|
|
private void Replace_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
UserAction = FileAction.Replace;
|
|
DialogResult = true;
|
|
Close();
|
|
}
|
|
|
|
private void Skip_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
UserAction = FileAction.Skip;
|
|
DialogResult = true;
|
|
Close();
|
|
}
|
|
|
|
private void ReplaceAll_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
UserAction = FileAction.ReplaceAll;
|
|
DialogResult = true;
|
|
Close();
|
|
}
|
|
|
|
private void SkipAll_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
UserAction = FileAction.SkipAll;
|
|
DialogResult = true;
|
|
Close();
|
|
}
|
|
|
|
private string FormatFileSize(long bytes)
|
|
{
|
|
string[] sizes = { "B", "KB", "MB", "GB", "TB" };
|
|
double len = bytes;
|
|
int order = 0;
|
|
while (len >= 1024 && order < sizes.Length - 1)
|
|
{
|
|
order++;
|
|
len = len / 1024;
|
|
}
|
|
return $"{len:0.##} {sizes[order]}";
|
|
}
|
|
}
|
|
}
|