diff --git a/ViewModels/EditFileViewModel.cs b/ViewModels/EditFileViewModel.cs new file mode 100644 index 0000000..b750ace --- /dev/null +++ b/ViewModels/EditFileViewModel.cs @@ -0,0 +1,31 @@ +#nullable enable + +using System; +using System.Collections.ObjectModel; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using Avalonia.Platform.Storage; +using Avalonia.Themes.Fluent; +using DialogHostAvalonia; +using ImageMagick; +using MigraDoc.DocumentObjectModel; +using MigraDoc.Rendering; +using PdfSharp.Fonts; +using PdfSharp.Pdf.IO; +using PdfSharp.Snippets.Font; +using ReceiptPDFBuilder.Interfaces; +using ReceiptPDFBuilder.Models; + +namespace ReceiptPDFBuilder.ViewModels; + +class EditFileViewModel : BaseViewModel +{ + ReportFile _file; + + public EditFileViewModel(ReportFile file, IChangeViewModel viewModelChanger) : base(viewModelChanger) + { + _file = file; + } +} \ No newline at end of file diff --git a/ViewModels/MainViewModel.cs b/ViewModels/MainViewModel.cs index 3755eb6..6cb2e98 100644 --- a/ViewModels/MainViewModel.cs +++ b/ViewModels/MainViewModel.cs @@ -103,30 +103,6 @@ class MainViewModel : BaseViewModel, IFontResolver } } - public void MoveItemUp(ReportFile file) - { - var idx = ReportFiles.IndexOf(file); - if (idx != 0) - { - // .Move() is not observed -_- - // https://github.com/AvaloniaUI/Avalonia.Controls.DataGrid/issues/74 - // ReportFiles.Move(idx, idx - 1); - // So, remove and insert. - ReportFiles.RemoveAt(idx); - ReportFiles.Insert(idx - 1, file); - } - } - - public void MoveItemDown(ReportFile file) - { - var idx = ReportFiles.IndexOf(file); - if (idx != ReportFiles.Count - 1) - { - ReportFiles.RemoveAt(idx); - ReportFiles.Insert(idx + 1, file); - } - } - public async void RemoveFile(ReportFile file) { var result = await DialogHost.Show(new WarningDeleteItemModel(file)); @@ -140,6 +116,11 @@ class MainViewModel : BaseViewModel, IFontResolver } } + public async void EditFileProperties(ReportFile file) + { + var result = await DialogHost.Show(new EditFileViewModel(file, ViewModelChanger)); + } + private async void BuildPDF() { try diff --git a/Views/MainView.axaml b/Views/MainView.axaml index 237f449..8954ca0 100644 --- a/Views/MainView.axaml +++ b/Views/MainView.axaml @@ -9,22 +9,23 @@ xmlns:vm="clr-namespace:ReceiptPDFBuilder.ViewModels" xmlns:progRing="clr-namespace:AvaloniaProgressRing;assembly=AvaloniaProgressRing" x:DataType="vm:MainViewModel"> - -