diff options
author | Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com> | 2023-01-12 07:23:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-12 12:23:24 +0000 |
commit | 9f57747c57a6d20f3e0787fae744ae97aeeae4af (patch) | |
tree | abf6202227fdcc3b5398c17629e643496f86e974 /Ryujinx.Ava/UI/Models/SaveModel.cs | |
parent | fe29a2ff6e7ae94b9e1f8cedc93d7fd0187de3cf (diff) |
Ava UI: Various Fixes (#4268)1.1.547
* Fix saves disappearing
* Better size formatter
* Move TextBox alignment fix to Styles
* Fix bug
* Left align
* Add border
* Update Ryujinx.Ava/UI/Models/SaveModel.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update Ryujinx.Ava/UI/Models/SaveModel.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Update Ryujinx.Ava/UI/Models/SaveModel.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Whitespace
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Diffstat (limited to 'Ryujinx.Ava/UI/Models/SaveModel.cs')
-rw-r--r-- | Ryujinx.Ava/UI/Models/SaveModel.cs | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/Ryujinx.Ava/UI/Models/SaveModel.cs b/Ryujinx.Ava/UI/Models/SaveModel.cs index 7096f9d7..ab919c88 100644 --- a/Ryujinx.Ava/UI/Models/SaveModel.cs +++ b/Ryujinx.Ava/UI/Models/SaveModel.cs @@ -1,13 +1,9 @@ -using LibHac; using LibHac.Fs; -using LibHac.Fs.Shim; using LibHac.Ncm; -using Ryujinx.Ava.Common; -using Ryujinx.Ava.Common.Locale; -using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.ViewModels; using Ryujinx.Ava.UI.Windows; using Ryujinx.HLE.FileSystem; +using System; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -16,7 +12,6 @@ namespace Ryujinx.Ava.UI.Models { public class SaveModel : BaseModel { - private readonly HorizonClient _horizonClient; private long _size; public ulong SaveId { get; } @@ -41,11 +36,29 @@ namespace Ryujinx.Ava.UI.Models public bool SizeAvailable { get; set; } - public string SizeString => $"{((float)_size * 0.000000954):0.###}MB"; + public string SizeString => GetSizeString(); - public SaveModel(SaveDataInfo info, HorizonClient horizonClient, VirtualFileSystem virtualFileSystem) + private string GetSizeString() + { + const int scale = 1024; + string[] orders = { "GiB", "MiB", "KiB" }; + long max = (long)Math.Pow(scale, orders.Length); + + foreach (string order in orders) + { + if (Size > max) + { + return $"{decimal.Divide(Size, max):##.##} {order}"; + } + + max /= scale; + } + + return "0 KiB"; + } + + public SaveModel(SaveDataInfo info, VirtualFileSystem virtualFileSystem) { - _horizonClient = horizonClient; SaveId = info.SaveDataId; TitleId = info.ProgramId; UserId = info.UserId; |