<!--
// /***************************************************************************
// Aaru Data Preservation Suite
// ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
//
// Filename       : DeviceInfo.xaml
// Author(s)      : Natalia Portillo <claunia@claunia.com>
//
// Component      : GUI panel.
//
// ‐‐[ Description ] ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
//
//     Device information panel.
//
// ‐‐[ 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‐2020 Natalia Portillo
// ****************************************************************************/
-->
<UserControl 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:panels="clr-namespace:Aaru.Gui.ViewModels.Panels"
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="Aaru.Gui.Views.Panels.DeviceInfo">
    <Design.DataContext>
        <panels:DeviceInfoViewModel />
    </Design.DataContext>
    <StackPanel Orientation="Vertical">
        <TextBlock Text="Device information" />
        <TabControl>
            <TabItem>
                <TabItem.Header>
                    <TextBlock Text="General" />
                </TabItem.Header>
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Device type" /> <TextBox Text="{Binding DeviceType}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Manufacturer" /> <TextBox Text="{Binding Manufacturer}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Model" /> <TextBox Text="{Binding Model}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Revision" /> <TextBox Text="{Binding Revision}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Serial number" /> <TextBox Text="{Binding Serial}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Peripheral device type" />
                        <TextBox Text="{Binding ScsiType}" IsReadOnly="True" />
                    </StackPanel>
                    <CheckBox IsChecked="{Binding RemovableChecked}" IsEnabled="False">
                        <TextBlock Text="Removable media" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding UsbConnected}" IsEnabled="False">
                        <TextBlock Text="Connected by USB" />
                    </CheckBox>
                </StackPanel>
            </TabItem>
            <TabItem IsVisible="{Binding UsbVisible}">
                <TabItem.Header>
                    <TextBlock Text="USB" />
                </TabItem.Header>
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Vendor ID" /> <TextBox Text="{Binding UsbVendorId}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Product ID" /> <TextBox Text="{Binding UsbProductId}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Manufacturer" />
                        <TextBox Text="{Binding UsbManufacturer}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Product" /> <TextBox Text="{Binding UsbProduct}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Serial number" /> <TextBox Text="{Binding UsbSerial}" IsReadOnly="True" />
                    </StackPanel>
                    <Button Command="{Binding SaveUsbDescriptorsCommand}"
                            IsVisible="{Binding SaveUsbDescriptorsEnabled}">
                        <TextBlock Text="Save descriptors to file" />
                    </Button>
                </StackPanel>
            </TabItem>
            <TabItem IsVisible="{Binding FirewireVisible}">
                <TabItem.Header>
                    <TextBlock Text="FireWire" />
                </TabItem.Header>
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Vendor ID" /> <TextBox Text="{Binding FirewireVendorId}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Model ID" /> <TextBox Text="{Binding FirewireModelId}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Manufacturer" />
                        <TextBox Text="{Binding FirewireManufacturer}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Model" /> <TextBox Text="{Binding FirewireModel}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="GUID" /> <TextBox Text="{Binding FirewireGuid}" IsReadOnly="True" />
                    </StackPanel>
                </StackPanel>
            </TabItem>
            <TabItem IsVisible="{Binding PlextorVisible}">
                <TabItem.Header>
                    <TextBlock Text="Plextor" />
                </TabItem.Header>
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorEepromVisible}">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="Total loaded discs:" />
                            <TextBox Text="{Binding PlextorDiscs}" IsReadOnly="True" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="Time spent reading CDs" />
                            <TextBox Text="{Binding PlextorCdReadTime}" IsReadOnly="True" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="Time spent writing CDs" />
                            <TextBox Text="{Binding PlextorCdWriteTime}" IsReadOnly="True" />
                        </StackPanel>
                        <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorDvdTimesVisible}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Time spent reading DVDs" />
                                <TextBox Text="{Binding PlextorDvdReadTime}" IsReadOnly="True" />
                            </StackPanel>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Time spent writing DVDs" />
                                <TextBox Text="{Binding PlextorDvdWriteTime}" IsReadOnly="True" />
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>
                    <CheckBox IsChecked="{Binding PlextorPoweRec}" IsEnabled="False">
                        <TextBlock Text="Supports PoweRec" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding PlextorPoweRecEnabled}" IsEnabled="False"
                              IsVisible="{Binding PlextorPoweRec}">
                        <TextBlock Text="PoweRec is enabled" />
                    </CheckBox>
                    <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecEnabled}">
                        <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecRecommendedVisible}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Recommended speed" />
                                <TextBox Text="{Binding PlextorPoweRecRecommended}" IsReadOnly="True" />
                            </StackPanel>
                        </StackPanel>
                        <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecSelectedVisible}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Selected PoweRec speed for currently inserted media:" />
                                <TextBox Text="{Binding PlextorPoweRecSelected}" IsReadOnly="True" />
                            </StackPanel>
                        </StackPanel>
                        <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecMaxVisible}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Maximum PoweRec speed for currently inserted media" />
                                <TextBox Text="{Binding PlextorPoweRecMax}" IsReadOnly="True" />
                            </StackPanel>
                        </StackPanel>
                        <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorPoweRecLastVisible}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="Last PoweRec used speed" />
                                <TextBox Text="{Binding PlextorPoweRecLast}" IsReadOnly="True" />
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>
                    <CheckBox IsChecked="{Binding PlextorSilentMode}" IsEnabled="False">
                        <TextBlock Text="Supports SilentMode" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding PlextorSilentModeEnabled}" IsEnabled="False"
                              IsVisible="{Binding PlextorSilentMode}">
                        <TextBlock Text="SilentMode is enabled" />
                    </CheckBox>
                    <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorSilentModeEnabled}">
                        <TextBlock Text="{Binding PlextorSilentModeAccessTime}" />
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="CD read speed limited to" />
                            <TextBox Text="{Binding PlextorSilentModeCdReadSpeedLimit}" IsReadOnly="True" />
                        </StackPanel>
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="CD write speed limited to" />
                            <TextBox Text="{Binding PlextorSilentModeCdWriteSpeedLimit}" IsReadOnly="True" />
                        </StackPanel>
                        <StackPanel Orientation="Vertical"
                                    IsVisible="{Binding PlextorSilentModeDvdReadSpeedLimitVisible}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="DVD read speed limited to" />
                                <TextBox Text="{Binding PlextorSilentModeDvdReadSpeedLimit}" IsReadOnly="True" />
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>
                    <CheckBox IsChecked="{Binding PlextorGigaRec}" IsEnabled="False">
                        <TextBlock Text="Supports GigaRec" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding PlextorSecuRec}" IsEnabled="False">
                        <TextBlock Text="Supports SpeedRead" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding PlextorSpeedRead}" IsEnabled="False">
                        <TextBlock Text="SpeedRead is enabled" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding PlextorSpeedEnabled}" IsEnabled="False">
                        <TextBlock Text="Supports PoweRec" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding PlextorHiding}" IsEnabled="False">
                        <TextBlock Text="Supports hiding CD-Rs and sessions" />
                    </CheckBox>
                    <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorHiding}">
                        <CheckBox IsChecked="{Binding PlextorHidesRecordables}" IsEnabled="False">
                            <TextBlock Text="Is hiding CD-Rs" />
                        </CheckBox>
                        <CheckBox IsChecked="{Binding PlextorHidesSessions}" IsEnabled="False">
                            <TextBlock Text="Is forcing only first session" />
                        </CheckBox>
                    </StackPanel>
                    <CheckBox IsChecked="{Binding PlextorVariRec}" IsEnabled="False">
                        <TextBlock Text="Supports VariRec" />
                    </CheckBox>
                    <StackPanel Orientation="Vertical" IsVisible="{Binding PlextorDvd}">
                        <CheckBox IsChecked="{Binding PlextorVariRecDvd}" IsEnabled="False">
                            <TextBlock Text="Supports VariRec on DVDs" />
                        </CheckBox>
                        <CheckBox IsChecked="{Binding PlextorBitSetting}" IsEnabled="False">
                            <TextBlock Text="Supports bitsetting DVD+R book type" />
                        </CheckBox>
                        <CheckBox IsChecked="{Binding PlextorBitSettingDl}" IsEnabled="False">
                            <TextBlock Text="Supports bitsetting DVD+R DL book type" />
                        </CheckBox>
                        <CheckBox IsChecked="{Binding PlextorDvdPlusWriteTest}" IsEnabled="False">
                            <TextBlock Text="Supports test writing DVD+" />
                        </CheckBox>
                    </StackPanel>
                </StackPanel>
            </TabItem>
            <TabItem IsVisible="{Binding Kreon}">
                <TabItem.Header>
                    <TextBlock Text="Kreon" />
                </TabItem.Header>
                <StackPanel Orientation="Vertical">
                    <CheckBox IsChecked="{Binding KreonChallengeResponse}" IsEnabled="False">
                        <TextBlock Text="Can do challenge/response with Xbox discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonDecryptSs}" IsEnabled="False">
                        <TextBlock Text="Can read and decrypt SS from Xbox discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonXtremeUnlock}" IsEnabled="False">
                        <TextBlock Text="Can set xtreme unlock state with Xbox discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonWxripperUnlock}" IsEnabled="False">
                        <TextBlock Text="Can set wxripper unlock state with Xbox discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonChallengeResponse360}" IsEnabled="False">
                        <TextBlock Text="Can do challenge/response with Xbox 360 discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonDecryptSs360}" IsEnabled="False">
                        <TextBlock Text="Can read and decrypt SS from Xbox 360 discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonXtremeUnlock360}" IsEnabled="False">
                        <TextBlock Text="Can set xtreme unlock state with Xbox 360 discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonWxripperUnlock360}" IsEnabled="False">
                        <TextBlock Text="Can set wxripper unlock state with Xbox 360 discs" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonLock}" IsEnabled="False">
                        <TextBlock Text="Can set locked state" />
                    </CheckBox>
                    <CheckBox IsChecked="{Binding KreonErrorSkipping}" IsEnabled="False">
                        <TextBlock Text="Can skip read errors" />
                    </CheckBox>
                </StackPanel>
            </TabItem>
            <TabItem IsVisible="{Binding Ssc}">
                <TabItem.Header>
                    <TextBlock Text="SSC" />
                </TabItem.Header>
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Vertical" IsVisible="{Binding BlockLimits}">
                        <TextBlock Text="{Binding MinBlockSize}" IsVisible="{Binding !!MinBlockSize}" />
                        <TextBlock Text="{Binding MaxBlockSize}" IsVisible="{Binding !!MaxBlockSize}" />
                        <TextBlock Text="{Binding BlockSizeGranularity}" IsVisible="{Binding !!BlockSizeGranularity}" />
                    </StackPanel>
                    <StackPanel Orientation="Vertical" IsVisible="{Binding !!Densities}">
                        <TextBlock Text="Densities supported by device:" />
                        <TextBox Text="{Binding Densities}" IsReadOnly="True" />
                    </StackPanel>
                    <StackPanel Orientation="Vertical" IsVisible="{Binding !!MediumTypes}">
                        <TextBlock Text="Medium types supported by device:" />
                        <TextBox Text="{Binding MediumTypes}" IsReadOnly="True" />
                    </StackPanel>
                    <TextBox Text="{Binding MediumDensity}" IsReadOnly="True" IsVisible="{Binding !!MediumDensity}" />
                </StackPanel>
            </TabItem>
            <TabItem IsVisible="{Binding SecureDigital}">
                <TabItem.Header>
                    <TextBlock Text="{Binding SdMmcText}" />
                </TabItem.Header>
                <TabControl>
                    <TabItem IsVisible="{Binding !!Cid}">
                        <TabItem.Header>
                            <TextBlock Text="CID" />
                        </TabItem.Header>
                        <TextBox Text="{Binding Cid}" IsReadOnly="True" />
                    </TabItem>
                    <TabItem IsVisible="{Binding !!Csd}">
                        <TabItem.Header>
                            <TextBlock Text="CSD" />
                        </TabItem.Header>
                        <TextBox Text="{Binding Csd}" IsReadOnly="True" />
                    </TabItem>
                    <TabItem IsVisible="{Binding !!Ocr}">
                        <TabItem.Header>
                            <TextBlock Text="OCR" />
                        </TabItem.Header>
                        <TextBox Text="{Binding Ocr}" IsReadOnly="True" />
                    </TabItem>
                    <TabItem IsVisible="{Binding !!ExtendedCsd}">
                        <TabItem.Header>
                            <TextBlock Text="Extended CSD" />
                        </TabItem.Header>
                        <TextBox Text="{Binding ExtendedCsd}" IsReadOnly="True" />
                    </TabItem>
                    <TabItem IsVisible="{Binding !!Scr}">
                        <TabItem.Header>
                            <TextBlock Text="SCR" />
                        </TabItem.Header>
                        <TextBox Text="{Binding Scr}" IsReadOnly="True" />
                    </TabItem>
                </TabControl>
            </TabItem>
            <TabItem IsVisible="{Binding !!PcmciaInfo}">
                <TabItem.Header>
                    <TextBlock Text="PCMCIA" />
                </TabItem.Header>
                <ContentControl Content="{Binding PcmciaInfo}" />
            </TabItem>
            <TabItem IsVisible="{Binding !!AtaInfo}">
                <TabItem.Header>
                    <TextBlock Text="ATA/ATAPI" />
                </TabItem.Header>
                <ContentControl Content="{Binding AtaInfo}" />
            </TabItem>
            <TabItem IsVisible="{Binding !!ScsiInfo}">
                <TabItem.Header>
                    <TextBlock Text="SCSI" />
                </TabItem.Header>
                <ContentControl Content="{Binding ScsiInfo}" />
            </TabItem>
            <TabItem IsVisible="{Binding !!SdMmcInfo}">
                <TabItem.Header>
                    <TextBlock Text="SD/MMC" />
                </TabItem.Header>
                <ContentControl Content="{Binding SdMmcInfo}" />
            </TabItem>
        </TabControl>
    </StackPanel>
</UserControl>