mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 11:14:25 +00:00
225 lines
14 KiB
XML
225 lines
14 KiB
XML
<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:models="clr-namespace:Aaru.Gui.Models"
|
|
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
|
|
mc:Ignorable="d"
|
|
d:DesignWidth="800"
|
|
d:DesignHeight="450"
|
|
x:Class="Aaru.Gui.Views.Windows.MainWindow"
|
|
Icon="/Assets/aaru-logo.png"
|
|
x:DataType="windows:MainWindowViewModel"
|
|
Title="{Binding Title, Mode=OneWay}">
|
|
<Design.DataContext>
|
|
<windows:MainWindowViewModel />
|
|
</Design.DataContext>
|
|
<DockPanel>
|
|
<Menu DockPanel.Dock="Top">
|
|
<MenuItem Header="{x:Static localization:UI.Menu_File}">
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Open}"
|
|
InputGesture="{OnPlatform 'Ctrl+O', macOS='Meta+O'}"
|
|
HotKey="{OnPlatform 'Ctrl+O', macOS='Meta+O'}"
|
|
Command="{Binding OpenCommand, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Open_MHDD_log}"
|
|
InputGesture="Ctrl+M"
|
|
HotKey="Ctrl+M"
|
|
Command="{Binding OpenMhddLogCommand, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Open_IMGBurn_log}"
|
|
InputGesture="Ctrl+I"
|
|
HotKey="Ctrl+I"
|
|
Command="{Binding OpenIbgLogCommand, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Connect_to_AaruRemote}"
|
|
InputGesture="{OnPlatform 'Ctrl+R', macOS='Meta+R'}"
|
|
HotKey="{OnPlatform 'Ctrl+R', macOS='Meta+R'}"
|
|
Command="{Binding ConnectToRemoteCommand, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Open_device}"
|
|
InputGesture="{OnPlatform 'Ctrl+D', macOS='Meta+D'}"
|
|
HotKey="{OnPlatform 'Ctrl+D', macOS='Meta+D'}"
|
|
Command="{Binding OpenDeviceCommand, Mode=OneWay}"
|
|
IsVisible="{Binding DevicesSupported, Mode=OneWay}" />
|
|
<Separator />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Settings}"
|
|
InputGesture="{OnPlatform 'Ctrl+Alt+S', macOS='Meta+OemComma'}"
|
|
HotKey="{OnPlatform 'Ctrl+Alt+S', macOS='Meta+OemComma'}"
|
|
IsVisible="{Binding !NativeMenuSupported, Mode=OneWay}"
|
|
Command="{Binding SettingsCommand, Mode=OneWay}" />
|
|
<Separator />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Exit}"
|
|
InputGesture="{OnPlatform 'Alt+F4', macOS='Meta+Q'}"
|
|
HotKey="{OnPlatform 'Alt+F4', macOS='Meta+Q'}"
|
|
IsVisible="{Binding !NativeMenuSupported, Mode=OneWay}"
|
|
Command="{Binding ExitCommand, Mode=OneWay}" />
|
|
</MenuItem>
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Image}"
|
|
IsEnabled="{Binding ImageLoaded, Mode=OneWay}">
|
|
<MenuItem Command="{Binding CalculateEntropyCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+E"
|
|
HotKey="Ctrl+E"
|
|
Header="{x:Static localization:UI.ButtonLabel_Calculate_entropy}" />
|
|
<MenuItem Command="{Binding VerifyImageCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+V"
|
|
HotKey="Ctrl+V"
|
|
Header="{x:Static localization:UI.ButtonLabel_Verify}" />
|
|
<MenuItem Command="{Binding ChecksumImageCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+K"
|
|
HotKey="Ctrl+K"
|
|
Header="{x:Static localization:UI.ButtonLabel_Checksum}" />
|
|
<MenuItem Command="{Binding ConvertImageCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+C"
|
|
HotKey="Ctrl+C"
|
|
Header="{x:Static localization:UI.ButtonLabel_Convert_to}" />
|
|
<MenuItem Command="{Binding CreateSidecarCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+S"
|
|
HotKey="Ctrl+S"
|
|
Header="{x:Static localization:UI.ButtonLabel_Create_Aaru_Metadata_sidecar}" />
|
|
<MenuItem Command="{Binding ViewImageSectorsCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+T"
|
|
HotKey="Ctrl+T"
|
|
Header="{x:Static localization:UI.ButtonLabel_View_sectors}" />
|
|
<MenuItem Command="{Binding DecodeImageMediaTagsCommand, Mode=OneWay}"
|
|
InputGesture="Ctrl+G"
|
|
HotKey="Ctrl+G"
|
|
Header="{x:Static localization:UI.ButtonLabel_Decode_media_tags}" />
|
|
</MenuItem>
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Metadata}">
|
|
<MenuItem Command="{Binding ImageMetadataCommand, Mode=OneWay}"
|
|
InputGesture="{OnPlatform 'Ctrl+Shift+M', macOS='Meta+M'}"
|
|
HotKey="{OnPlatform 'Ctrl+Shift+M', macOS='Meta+M'}"
|
|
Header="{x:Static localization:UI.Menu_Edit_image_metadata}" />
|
|
<Separator />
|
|
<MenuItem Command="{Binding CreateMetadataCommand, Mode=OneWay}"
|
|
InputGesture="{OnPlatform 'Ctrl+N', macOS='Meta+N'}"
|
|
HotKey="{OnPlatform 'Ctrl+N', macOS='Meta+N'}"
|
|
Header="{x:Static localization:UI.Menu_Create_metadata_sidecar}" />
|
|
<MenuItem Command="{Binding EditMetadataCommand, Mode=OneWay}"
|
|
InputGesture="{OnPlatform 'Ctrl+Shift+E', macOS='Meta+E'}"
|
|
HotKey="{OnPlatform 'Ctrl+Shift+E', macOS='Meta+E'}"
|
|
Header="{x:Static localization:UI.Menu_Edit_metadata_sidecar}" />
|
|
</MenuItem>
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Window}">
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Console}"
|
|
InputGesture="{OnPlatform 'Ctrl+OemTilde', macOS='Meta+Shift+C'}"
|
|
HotKey="{OnPlatform 'Ctrl+OemTilde', macOS='Meta+Shift+C'}"
|
|
Command="{Binding ConsoleCommand, Mode=OneWay}" />
|
|
</MenuItem>
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Help}">
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Encodings}"
|
|
Command="{Binding EncodingsCommand, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Plugins}"
|
|
Command="{Binding PluginsCommand, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_Statistics}"
|
|
Command="{Binding StatisticsCommand, Mode=OneWay}" />
|
|
<Separator IsVisible="{Binding !NativeMenuSupported, Mode=OneWay}" />
|
|
<MenuItem Header="{x:Static localization:UI.Menu_About}"
|
|
Name="AboutMenuItem"
|
|
IsVisible="{Binding !NativeMenuSupported, Mode=OneWay}"
|
|
Command="{Binding AboutCommand, Mode=OneWay}" />
|
|
</MenuItem>
|
|
</Menu>
|
|
<Grid ColumnDefinitions="*,5,4*">
|
|
<TreeView ItemsSource="{Binding TreeRoot, Mode=OneWay}"
|
|
SelectedItem="{Binding TreeViewSelectedItem, Mode=TwoWay}"
|
|
Background="#111111"
|
|
BorderBrush="LightGray"
|
|
BorderThickness="1"
|
|
CornerRadius="4">
|
|
<TreeView.DataTemplates>
|
|
<TreeDataTemplate DataType="models:ImageModel"
|
|
ItemsSource="{Binding PartitionSchemesOrFileSystems, Mode=OneWay}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<StackPanel.ContextMenu>
|
|
<ContextMenu
|
|
DataContext="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType=Window}, Mode=OneWay}">
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.CalculateEntropyCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_Calculate_entropy}" />
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.VerifyImageCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_Verify}" />
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.ChecksumImageCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_Checksum}" />
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.ConvertImageCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_Convert_to}" />
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.CreateSidecarCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_Create_Aaru_Metadata_sidecar}" />
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.ViewImageSectorsCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_View_sectors}" />
|
|
<MenuItem
|
|
Command="{Binding $parent[Window].DataContext.DecodeImageMediaTagsCommand, Mode=OneWay}"
|
|
Header="{x:Static localization:UI.ButtonLabel_Decode_media_tags}" />
|
|
</ContextMenu>
|
|
</StackPanel.ContextMenu>
|
|
<Image Width="24"
|
|
Height="24"
|
|
Source="{Binding Icon, Mode=OneWay}" />
|
|
<TextBlock Text="{Binding FileName, Mode=OneWay}"
|
|
VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</TreeDataTemplate>
|
|
<TreeDataTemplate DataType="models:PartitionSchemeModel"
|
|
ItemsSource="{Binding Partitions, Mode=OneWay}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Width="24"
|
|
Height="24"
|
|
Source="{Binding Icon, Mode=OneWay}" />
|
|
<TextBlock Text="{Binding Name, Mode=OneWay}"
|
|
VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</TreeDataTemplate>
|
|
<TreeDataTemplate DataType="models:PartitionModel"
|
|
ItemsSource="{Binding FileSystems, Mode=OneWay}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Width="24"
|
|
Height="24"
|
|
Source="{Binding Icon, Mode=OneWay}" />
|
|
<TextBlock Text="{Binding Name, Mode=OneWay}"
|
|
VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</TreeDataTemplate>
|
|
<TreeDataTemplate DataType="models:FileSystemModel"
|
|
ItemsSource="{Binding Roots, Mode=OneWay}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Width="24"
|
|
Height="24"
|
|
Source="{Binding Icon, Mode=OneWay}" />
|
|
<TextBlock Text="{Binding VolumeName, Mode=OneWay}"
|
|
VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</TreeDataTemplate>
|
|
<TreeDataTemplate DataType="models:SubdirectoryModel"
|
|
ItemsSource="{Binding Subdirectories, Mode=OneWay}">
|
|
<StackPanel Orientation="Horizontal">
|
|
<Image Width="24"
|
|
Height="24"
|
|
Source="{Binding Icon, Mode=OneWay}" />
|
|
<TextBlock Text="{Binding Name, Mode=OneWay}"
|
|
VerticalAlignment="Center" />
|
|
</StackPanel>
|
|
</TreeDataTemplate>
|
|
<DataTemplate DataType="models:RootModel">
|
|
<TextBlock Text="{Binding Name, Mode=OneWay}" />
|
|
</DataTemplate>
|
|
</TreeView.DataTemplates>
|
|
</TreeView>
|
|
<GridSplitter Grid.Column="1"
|
|
Width="5"
|
|
HorizontalAlignment="Stretch"
|
|
Background="#555555" />
|
|
<ContentControl Grid.Column="2"
|
|
Content="{Binding ContentPanel, Mode=OneWay}"
|
|
HorizontalAlignment="Stretch"
|
|
HorizontalContentAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
VerticalContentAlignment="Stretch"
|
|
BorderBrush="LightGray"
|
|
BorderThickness="1"
|
|
CornerRadius="4" />
|
|
</Grid>
|
|
</DockPanel>
|
|
</Window> |