mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[GUI] Implement MHDD log viewer functionality
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
<MenuItem Header="{x:Static localization:UI.Menu_File}">
|
||||
<MenuItem Header="{x:Static localization:UI.Menu_Open}"
|
||||
Command="{Binding OpenCommand, Mode=OneWay}" />
|
||||
<MenuItem Header="{x:Static localization:UI.Menu_Open_MHDD_log}"
|
||||
Command="{Binding OpenMhddLogCommand, Mode=OneWay}" />
|
||||
<Separator />
|
||||
<MenuItem Header="{x:Static localization:UI.Menu_Settings}"
|
||||
IsVisible="{Binding !NativeMenuSupported, Mode=OneWay}"
|
||||
|
||||
97
Aaru.Gui/Views/Windows/MhddLogView.axaml
Normal file
97
Aaru.Gui/Views/Windows/MhddLogView.axaml
Normal file
@@ -0,0 +1,97 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:windows="clr-namespace:Aaru.Gui.ViewModels.Windows"
|
||||
xmlns:controls="clr-namespace:Aaru.Gui.Controls"
|
||||
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
|
||||
mc:Ignorable="d"
|
||||
Width="640"
|
||||
Height="480"
|
||||
d:DesignWidth="640"
|
||||
d:DesignHeight="400"
|
||||
x:Class="Aaru.Gui.Views.Windows.MhddLogView"
|
||||
x:DataType="windows:MhddLogViewModel"
|
||||
Title="{x:Static localization:UI.Title_MHDD_log_viewer}">
|
||||
<Design.DataContext>
|
||||
<windows:MhddLogViewModel />
|
||||
</Design.DataContext>
|
||||
<Grid RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,*"
|
||||
RowSpacing="8"
|
||||
Margin="12">
|
||||
<Grid Grid.Row="0"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_File_path}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding FilePath, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="1"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_MHDD_Version}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding MhddVersion, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="2"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_Device}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding Device, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="3"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_Firmware}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding Firmware, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="4"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_Serial_number}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding SerialNumber, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="5"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_Total_sectors}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding TotalSectors, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="6"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_Sector_size}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding SectorSize, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Grid Grid.Row="7"
|
||||
ColumnDefinitions="Auto,*"
|
||||
ColumnSpacing="8">
|
||||
<controls:SpectreTextBlock Grid.Column="0"
|
||||
Text="{x:Static localization:UI.Title_Scan_block_size}" />
|
||||
<controls:SpectreTextBlock Grid.Column="1"
|
||||
Text="{Binding ScanBlockSize, Mode=OneWay}" />
|
||||
</Grid>
|
||||
<Border Grid.Row="8"
|
||||
BorderThickness="1"
|
||||
BorderBrush="SlateBlue">
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Disabled"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<controls:BlockMap SectorData="{Binding SectorData, Mode=OneWay}"
|
||||
VerticalAlignment="Top"
|
||||
ScanBlockSize="{Binding ScanBlockSize, Mode=OneWay}" />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Window>
|
||||
57
Aaru.Gui/Views/Windows/MhddLogView.axaml.cs
Normal file
57
Aaru.Gui/Views/Windows/MhddLogView.axaml.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
// /***************************************************************************
|
||||
// Aaru Data Preservation Suite
|
||||
// ----------------------------------------------------------------------------
|
||||
//
|
||||
// Filename : MhddLogView.axaml.cs
|
||||
// Author(s) : Natalia Portillo <claunia@claunia.com>
|
||||
//
|
||||
// Component : GUI view models.
|
||||
//
|
||||
// --[ Description ] ----------------------------------------------------------
|
||||
//
|
||||
// Code behind for MHDD log viewer.
|
||||
//
|
||||
// --[ License ] --------------------------------------------------------------
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
// ----------------------------------------------------------------------------
|
||||
// Copyright © 2011-2025 Natalia Portillo
|
||||
// ****************************************************************************/
|
||||
|
||||
using System;
|
||||
using Aaru.Gui.ViewModels.Windows;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Aaru.Gui.Views.Windows;
|
||||
|
||||
public partial class MhddLogView : Window
|
||||
{
|
||||
public MhddLogView()
|
||||
{
|
||||
InitializeComponent();
|
||||
#if DEBUG
|
||||
this.AttachDevTools();
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void OnDataContextChanged(EventArgs e)
|
||||
{
|
||||
base.OnDataContextChanged(e);
|
||||
|
||||
if(DataContext is MhddLogViewModel vm) vm?.LoadData();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user