diff --git a/.idea/.idea.Aaru/.idea/contentModel.xml b/.idea/.idea.Aaru/.idea/contentModel.xml index da89e13c4..21c8e5104 100644 --- a/.idea/.idea.Aaru/.idea/contentModel.xml +++ b/.idea/.idea.Aaru/.idea/contentModel.xml @@ -1,28 +1,27 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -71,13 +70,6 @@ - - - - - - - @@ -88,12 +80,18 @@ + + + + + + @@ -102,14 +100,6 @@ - - - - - - - - @@ -117,11 +107,19 @@ + + + + + + + + @@ -180,6 +178,13 @@ + + + + + + + @@ -200,19 +205,10 @@ - - - - - - - - - @@ -221,6 +217,7 @@ + @@ -238,6 +235,7 @@ + @@ -258,8 +256,8 @@ - + @@ -269,11 +267,11 @@ - + - + @@ -287,17 +285,17 @@ - - + + - + @@ -317,12 +315,19 @@ - + + + + + + + + @@ -339,68 +344,61 @@ - - - - - - - - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + @@ -425,7 +423,6 @@ - @@ -437,11 +434,12 @@ + - + @@ -463,9 +461,9 @@ + - @@ -495,6 +493,13 @@ + + + + + + + @@ -558,11 +563,11 @@ + - @@ -582,17 +587,10 @@ - - - - - - - - + @@ -649,6 +647,13 @@ + + + + + + + @@ -661,28 +666,17 @@ - + - - - - - - - - + - - - - @@ -690,13 +684,16 @@ + + + - - + + @@ -732,11 +729,13 @@ + - + + @@ -744,11 +743,14 @@ - + + + + @@ -788,8 +790,8 @@ - + @@ -798,8 +800,8 @@ - + @@ -808,8 +810,8 @@ - + @@ -836,8 +838,15 @@ - + + + + + + + + @@ -855,11 +864,11 @@ - + @@ -882,34 +891,17 @@ - - - - - - - - - - - - + - - - - - - @@ -917,12 +909,18 @@ + + + + + + @@ -1016,6 +1014,12 @@ + + + + + + @@ -1040,12 +1044,6 @@ - - - - - - @@ -1128,6 +1126,8 @@ + + @@ -1143,6 +1143,18 @@ + + + + + + + + + + + + @@ -1155,18 +1167,6 @@ - - - - - - - - - - - - @@ -1175,14 +1175,14 @@ - - + + @@ -1205,12 +1205,10 @@ - - - + @@ -1243,8 +1241,9 @@ - + + @@ -1256,13 +1255,23 @@ + + + + + + + + + + + + - - @@ -1296,6 +1305,7 @@ + @@ -1324,17 +1334,6 @@ - - - - - - - - - - - @@ -1343,6 +1342,7 @@ + @@ -1350,10 +1350,6 @@ - - - - @@ -1361,6 +1357,9 @@ + + + @@ -1443,16 +1442,7 @@ - - - - - - - - - - + @@ -1474,6 +1464,16 @@ + + + + + + + + + + @@ -1507,16 +1507,6 @@ - - - - - - - - - - @@ -1554,6 +1544,16 @@ + + + + + + + + + + @@ -1644,8 +1644,8 @@ - + @@ -1679,16 +1679,6 @@ - - - - - - - - - - @@ -1700,6 +1690,23 @@ + + + + + + + + + + + + + + + + + @@ -1882,16 +1889,6 @@ - - - - - - - - - - @@ -1902,6 +1899,16 @@ + + + + + + + + + + @@ -1920,14 +1927,6 @@ - - - - - - - - @@ -1935,6 +1934,7 @@ + @@ -1942,6 +1942,13 @@ + + + + + + + @@ -1951,20 +1958,11 @@ - - - - - - - - - + - @@ -1973,19 +1971,13 @@ + - - - - - - - - - - + + + @@ -2019,8 +2011,8 @@ - + @@ -2028,7 +2020,7 @@ - + @@ -2051,7 +2043,14 @@ + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Aaru.Gui.csproj b/Aaru.Gui/Aaru.Gui.csproj index 81b99036a..64d25f042 100644 --- a/Aaru.Gui/Aaru.Gui.csproj +++ b/Aaru.Gui/Aaru.Gui.csproj @@ -349,6 +349,9 @@ ConsoleDialog.xaml + + ImageInfoPanel.xaml + diff --git a/Aaru.Gui/Forms/frmMain.xeto.cs b/Aaru.Gui/Forms/frmMain.xeto.cs index 2f43ba47c..84492e1de 100644 --- a/Aaru.Gui/Forms/frmMain.xeto.cs +++ b/Aaru.Gui/Forms/frmMain.xeto.cs @@ -191,102 +191,104 @@ namespace Aaru.Gui.Forms if(selectedItem.Values.Length < 4) return; - if(selectedItem.Values[3] is pnlImageInfo imageInfo) - { - var image = selectedItem.Values[5] as IMediaImage; + /* + if(selectedItem.Values[3] is pnlImageInfo imageInfo) + { + var image = selectedItem.Values[5] as IMediaImage; - // TODO: Global pool of forms - treeImagesMenu.Items.Add(new SeparatorMenuItem()); + // TODO: Global pool of forms + treeImagesMenu.Items.Add(new SeparatorMenuItem()); - menuItem = new ButtonMenuItem - { - Text = "Calculate entropy" - }; + menuItem = new ButtonMenuItem + { + Text = "Calculate entropy" + }; - menuItem.Click += (a, b) => - { - new frmImageEntropy(image).Show(); - }; + menuItem.Click += (a, b) => + { + new frmImageEntropy(image).Show(); + }; - treeImagesMenu.Items.Add(menuItem); + treeImagesMenu.Items.Add(menuItem); - menuItem = new ButtonMenuItem - { - Text = "Verify" - }; + menuItem = new ButtonMenuItem + { + Text = "Verify" + }; - menuItem.Click += (a, b) => - { - new frmImageVerify(image).Show(); - }; + menuItem.Click += (a, b) => + { + new frmImageVerify(image).Show(); + }; - treeImagesMenu.Items.Add(menuItem); + treeImagesMenu.Items.Add(menuItem); - menuItem = new ButtonMenuItem - { - Text = "Checksum" - }; + menuItem = new ButtonMenuItem + { + Text = "Checksum" + }; - menuItem.Click += (a, b) => - { - new frmImageChecksum(image).Show(); - }; + menuItem.Click += (a, b) => + { + new frmImageChecksum(image).Show(); + }; - treeImagesMenu.Items.Add(menuItem); + treeImagesMenu.Items.Add(menuItem); - menuItem = new ButtonMenuItem - { - Text = "Convert to..." - }; + menuItem = new ButtonMenuItem + { + Text = "Convert to..." + }; - menuItem.Click += (a, b) => - { - new frmImageConvert(image, selectedItem.Values[2] as string).Show(); - }; + menuItem.Click += (a, b) => + { + new frmImageConvert(image, selectedItem.Values[2] as string).Show(); + }; - treeImagesMenu.Items.Add(menuItem); + treeImagesMenu.Items.Add(menuItem); - menuItem = new ButtonMenuItem - { - Text = "Create CICM XML sidecar..." - }; + menuItem = new ButtonMenuItem + { + Text = "Create CICM XML sidecar..." + }; - menuItem.Click += (a, b) => - { - // TODO: Pass thru chosen default encoding - new frmImageSidecar(image, selectedItem.Values[2] as string, ((IFilter)selectedItem.Values[4]).Id, - null).Show(); - }; + menuItem.Click += (a, b) => + { + // TODO: Pass thru chosen default encoding + new frmImageSidecar(image, selectedItem.Values[2] as string, ((IFilter)selectedItem.Values[4]).Id, + null).Show(); + }; - treeImagesMenu.Items.Add(menuItem); + treeImagesMenu.Items.Add(menuItem); - menuItem = new ButtonMenuItem - { - Text = "View sectors" - }; + menuItem = new ButtonMenuItem + { + Text = "View sectors" + }; - menuItem.Click += (a, b) => - { - new frmPrintHex(image).Show(); - }; + menuItem.Click += (a, b) => + { + new frmPrintHex(image).Show(); + }; - treeImagesMenu.Items.Add(menuItem); + treeImagesMenu.Items.Add(menuItem); - if(!image.Info.ReadableMediaTags.Any()) - return; + if(!image.Info.ReadableMediaTags.Any()) + return; - menuItem = new ButtonMenuItem - { - Text = "Decode media tags" - }; + menuItem = new ButtonMenuItem + { + Text = "Decode media tags" + }; - menuItem.Click += (a, b) => - { - new frmDecodeMediaTags(image).Show(); - }; + menuItem.Click += (a, b) => + { + new frmDecodeMediaTags(image).Show(); + }; - treeImagesMenu.Items.Add(menuItem); - } + treeImagesMenu.Items.Add(menuItem); + } + */ } // TODO @@ -360,8 +362,7 @@ namespace Aaru.Gui.Forms { logo == null ? null : new Bitmap(logo), $"{Path.GetFileName(dlgOpenImage.FileName)} ({imageFormat.Info.MediaType})", - dlgOpenImage.FileName, new pnlImageInfo(dlgOpenImage.FileName, inputFilter, imageFormat), - inputFilter, imageFormat + dlgOpenImage.FileName, null, inputFilter, imageFormat } }; diff --git a/Aaru.Gui/Models/DumpHardwareModel.cs b/Aaru.Gui/Models/DumpHardwareModel.cs new file mode 100644 index 000000000..cb2b973ca --- /dev/null +++ b/Aaru.Gui/Models/DumpHardwareModel.cs @@ -0,0 +1,19 @@ +namespace Aaru.Gui.Models +{ + public class DumpHardwareModel + { + public string Manufacturer { get; set; } + + public string Model { get; set; } + + public string Revision { get; set; } + + public string Serial { get; set; } + + public string SoftwareName { get; set; } + public string SoftwareVersion { get; set; } + public string OperatingSystem { get; set; } + public ulong Start { get; set; } + public ulong End { get; set; } + } +} \ No newline at end of file diff --git a/Aaru.Gui/Models/ImageModel.cs b/Aaru.Gui/Models/ImageModel.cs index a78cf0bfe..700b11911 100644 --- a/Aaru.Gui/Models/ImageModel.cs +++ b/Aaru.Gui/Models/ImageModel.cs @@ -1,5 +1,6 @@ using System.Collections.ObjectModel; using Aaru.CommonTypes.Interfaces; +using Aaru.Gui.ViewModels; using Avalonia.Media.Imaging; namespace Aaru.Gui.Models @@ -13,5 +14,6 @@ namespace Aaru.Gui.Models public Bitmap Icon { get; set; } public ObservableCollection PartitionSchemesOrFileSystems { get; } public IMediaImage Image { get; set; } + public ImageInfoViewModel ViewModel { get; set; } } } \ No newline at end of file diff --git a/Aaru.Gui/Panels/ImageInfoPanel.xaml b/Aaru.Gui/Panels/ImageInfoPanel.xaml new file mode 100644 index 000000000..e1e9ac76c --- /dev/null +++ b/Aaru.Gui/Panels/ImageInfoPanel.xaml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Aaru.Gui/Panels/ImageInfoPanel.xaml.cs b/Aaru.Gui/Panels/ImageInfoPanel.xaml.cs new file mode 100644 index 000000000..f26daf756 --- /dev/null +++ b/Aaru.Gui/Panels/ImageInfoPanel.xaml.cs @@ -0,0 +1,12 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Aaru.Gui.Panels +{ + public class ImageInfoPanel : UserControl + { + public ImageInfoPanel() => InitializeComponent(); + + void InitializeComponent() => AvaloniaXamlLoader.Load(this); + } +} \ No newline at end of file diff --git a/Aaru.Gui/Panels/pnlImageInfo.xeto b/Aaru.Gui/Panels/pnlImageInfo.xeto deleted file mode 100644 index 4582bad53..000000000 --- a/Aaru.Gui/Panels/pnlImageInfo.xeto +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - -