[GUI] Redesign and reorganize ScsiInfo view.

This commit is contained in:
2025-10-26 03:19:04 +00:00
parent f9ed77f21d
commit 0ff0b2b79a

View File

@@ -37,6 +37,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs" xmlns:tabs="clr-namespace:Aaru.Gui.ViewModels.Tabs"
xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization" xmlns:localization="clr-namespace:Aaru.Localization;assembly=Aaru.Localization"
xmlns:controls="clr-namespace:Aaru.Gui.Controls"
mc:Ignorable="d" mc:Ignorable="d"
d:DesignWidth="800" d:DesignWidth="800"
d:DesignHeight="450" d:DesignHeight="450"
@@ -49,108 +50,165 @@
<TabItem.Header> <TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_INQUIRY}" /> <TextBlock Text="{x:Static localization:UI.Title_INQUIRY}" />
</TabItem.Header> </TabItem.Header>
<StackPanel> <Grid RowDefinitions="*, Auto"
<TextBlock Text="{x:Static localization:UI.Title_SCSI_INQUIRY}" RowSpacing="8"
HorizontalAlignment="Center" /> Margin="8">
<TextBox Text="{Binding ScsiInquiryText}" <Border Grid.Row="0"
IsReadOnly="True" /> BorderThickness="1"
<StackPanel Orientation="Horizontal"> BorderBrush="LightGray"
<Button Command="{Binding SaveInquiryBinaryCommand}"> CornerRadius="8">
<ScrollViewer Padding="8">
<controls:SpectreTextBlock Text="{Binding ScsiInquiryText, Mode=OneWay}"
TextWrapping="Wrap" />
</ScrollViewer>
</Border>
<StackPanel Orientation="Horizontal"
Grid.Row="1"
Spacing="8">
<Button Command="{Binding SaveInquiryBinaryCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_binary_to_file}" /> <TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_binary_to_file}" />
</Button> </Button>
<Button Command="{Binding SaveInquiryTextCommand}"> <Button Command="{Binding SaveInquiryTextCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_text_to_file}" /> <TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_text_to_file}" />
</Button> </Button>
</StackPanel> </StackPanel>
</StackPanel> </Grid>
</TabItem> </TabItem>
<TabItem IsVisible="{Binding !!ModeSensePages.Count}"> <TabItem IsVisible="{Binding !!ModeSensePages.Count, Mode=OneWay}">
<TabItem.Header> <TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_MODE_SENSE}" /> <TextBlock Text="{x:Static localization:UI.Title_MODE_SENSE}" />
</TabItem.Header> </TabItem.Header>
<StackPanel> <Grid RowDefinitions="*, Auto"
<StackPanel Orientation="Horizontal"> RowSpacing="8"
<DataGrid HorizontalAlignment="Left" Margin="8">
<Grid Grid.Row="0"
ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<DataGrid Grid.Column="0"
HorizontalAlignment="Left"
Width="250"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
ItemsSource="{Binding ModeSensePages}" ItemsSource="{Binding ModeSensePages, Mode=OneWay}"
SelectedItem="{Binding SelectedModeSensePage}" SelectedItem="{Binding SelectedModeSensePage, Mode=TwoWay}"
IsReadOnly="True"> IsReadOnly="True">
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="{x:Static localization:UI.Title_Page}" <DataGridTextColumn Header="{x:Static localization:UI.Title_Page}"
Binding="{Binding Page}" /> Binding="{Binding Page, Mode=OneWay}" />
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
<TextBox HorizontalAlignment="Right" <Border Grid.Column="1"
VerticalAlignment="Stretch" BorderThickness="1"
Text="{Binding ModeSensePageText}" BorderBrush="LightGray"
IsReadOnly="True" /> CornerRadius="8">
</StackPanel> <ScrollViewer Padding="8">
<StackPanel Orientation="Horizontal"> <controls:SpectreTextBlock HorizontalAlignment="Stretch"
<Button Command="{Binding SaveModeSense6Command}"> VerticalAlignment="Stretch"
Text="{Binding ModeSensePageText, Mode=OneWay}"
TextWrapping="Wrap" />
</ScrollViewer>
</Border>
</Grid>
<StackPanel Grid.Row="1"
Orientation="Horizontal"
Spacing="8"
VerticalAlignment="Bottom">
<Button Command="{Binding SaveModeSense6Command, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_MODE_SENSE_6_response_to_file}" /> <TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_MODE_SENSE_6_response_to_file}" />
</Button> </Button>
<Button Command="{Binding SaveModeSense10Command}"> <Button Command="{Binding SaveModeSense10Command, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_MODE_SENSE_10_response_to_file}" /> <TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_MODE_SENSE_10_response_to_file}" />
</Button> </Button>
</StackPanel> </StackPanel>
</StackPanel> </Grid>
</TabItem> </TabItem>
<TabItem IsVisible="{Binding !!EvpdPages.Count}"> <TabItem IsVisible="{Binding !!EvpdPages.Count, Mode=OneWay}">
<TabItem.Header> <TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_EVPD}" /> <TextBlock Text="{x:Static localization:UI.Title_EVPD}" />
</TabItem.Header> </TabItem.Header>
<StackPanel> <Grid RowDefinitions="*, Auto"
<StackPanel Orientation="Horizontal"> RowSpacing="8"
<DataGrid HorizontalAlignment="Left" Margin="8">
<Grid Grid.Row="0"
ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<DataGrid Grid.Column="0"
HorizontalAlignment="Left"
Width="250"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
ItemsSource="{Binding EvpdPages}" ItemsSource="{Binding EvpdPages, Mode=OneWay}"
SelectedItem="{Binding SelectedEvpdPage}" SelectedItem="{Binding SelectedEvpdPage, Mode=TwoWay}"
IsReadOnly="True"> IsReadOnly="True">
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="{x:Static localization:UI.Title_Page}" <DataGridTextColumn Header="{x:Static localization:UI.Title_Page}"
Binding="{Binding Page}" /> Binding="{Binding Page, Mode=OneWay}" />
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
<TextBox HorizontalAlignment="Right" <Border Grid.Column="1"
VerticalAlignment="Stretch" BorderThickness="1"
Text="{Binding EvpdPageText}" BorderBrush="LightGray"
IsReadOnly="True" /> CornerRadius="8">
</StackPanel> <ScrollViewer Padding="8">
<StackPanel Orientation="Horizontal"> <controls:SpectreTextBlock HorizontalAlignment="Stretch"
<Button Command="{Binding SaveEvpdPageCommand}"> VerticalAlignment="Stretch"
Text="{Binding EvpdPageText, Mode=OneWay}"
TextWrapping="Wrap" />
</ScrollViewer>
</Border>
</Grid>
<StackPanel Grid.Row="1"
Orientation="Horizontal"
Spacing="8"
VerticalAlignment="Bottom">
<Button Command="{Binding SaveEvpdPageCommand, Mode=OneWay}">
<TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_EVPD_page_to_file}" /> <TextBlock Text="{x:Static localization:UI.ButtonLabel_Save_EVPD_page_to_file}" />
</Button> </Button>
</StackPanel> </StackPanel>
</StackPanel> </Grid>
</TabItem> </TabItem>
<TabItem IsVisible="{Binding !!MmcFeatures.Count}"> <TabItem IsVisible="{Binding !!MmcFeatures.Count, Mode=OneWay}">
<TabItem.Header> <TabItem.Header>
<TextBlock Text="{x:Static localization:UI.Title_MMC_FEATURES}" /> <TextBlock Text="{x:Static localization:UI.Title_MMC_FEATURES}" />
</TabItem.Header> </TabItem.Header>
<StackPanel> <Grid RowDefinitions="*, Auto"
<StackPanel Orientation="Horizontal"> RowSpacing="8"
<DataGrid HorizontalAlignment="Left" Margin="8">
<Grid Grid.Row="0"
ColumnDefinitions="Auto, *"
ColumnSpacing="8">
<DataGrid Grid.Column="0"
HorizontalAlignment="Left"
Width="250"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
ItemsSource="{Binding MmcFeatures}" ItemsSource="{Binding MmcFeatures, Mode=OneWay}"
SelectedItem="{Binding SelectedMmcFeature}" SelectedItem="{Binding SelectedMmcFeature, Mode=TwoWay}"
IsReadOnly="True"> IsReadOnly="True">
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="{x:Static localization:UI.Title_Feature}" <DataGridTextColumn Header="{x:Static localization:UI.Title_Feature}"
Binding="{Binding Page}" /> Binding="{Binding Page, Mode=OneWay}" />
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
<TextBox HorizontalAlignment="Right" <Border Grid.Column="1"
VerticalAlignment="Stretch" BorderThickness="1"
Text="{Binding MmcFeatureText}" BorderBrush="LightGray"
IsReadOnly="True" /> CornerRadius="8">
</StackPanel> <ScrollViewer Padding="8">
<StackPanel Orientation="Horizontal"> <controls:SpectreTextBlock HorizontalAlignment="Stretch"
<Button Command="{Binding SaveMmcFeaturesCommand}"> VerticalAlignment="Stretch"
Text="{Binding MmcFeatureText, Mode=OneWay}"
TextWrapping="Wrap" />
</ScrollViewer>
</Border>
</Grid>
<StackPanel Grid.Row="1"
Orientation="Horizontal"
Spacing="8"
VerticalAlignment="Bottom">
<Button Command="{Binding SaveMmcFeaturesCommand, Mode=OneWay}">
<TextBlock <TextBlock
Text="{x:Static localization:UI.ButtonLabel_Save_MMC_GET_CONFIGURATION_response_to_file}" /> Text="{x:Static localization:UI.ButtonLabel_Save_MMC_GET_CONFIGURATION_response_to_file}" />
</Button> </Button>
</StackPanel> </StackPanel>
</StackPanel> </Grid>
</TabItem> </TabItem>
</TabControl> </TabControl>
</UserControl> </UserControl>