mirror of
https://github.com/claunia/osrepodbmgr.git
synced 2025-12-16 19:14:25 +00:00
Added Eto.Forms interface and glue code.
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
using System;
|
||||
using Eto;
|
||||
using Eto.Forms;
|
||||
using osrepodbmgr.Core;
|
||||
|
||||
namespace osrepodbmgr.Eto.Desktop
|
||||
{
|
||||
@@ -36,7 +37,9 @@ namespace osrepodbmgr.Eto.Desktop
|
||||
[STAThread]
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
new Application(Platform.Detect).Run(new MainForm());
|
||||
Settings.LoadSettings();
|
||||
Context.CheckUnar();
|
||||
new Application(Platform.Detect).Run(new frmMain());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Eto.Forms" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Eto.Platform.Gtk" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Eto.Platform.Gtk3" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Eto.Platform.Windows" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Eto.Platform.Wpf" version="2.3.0" targetFramework="net45" />
|
||||
</packages>
|
||||
@@ -28,6 +28,7 @@
|
||||
using System;
|
||||
using Eto;
|
||||
using Eto.Forms;
|
||||
using osrepodbmgr.Core;
|
||||
|
||||
namespace osrepodbmgr.Eto.XamMac2
|
||||
{
|
||||
@@ -36,7 +37,9 @@ namespace osrepodbmgr.Eto.XamMac2
|
||||
[STAThread]
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
new Application(Platforms.XamMac2).Run(new MainForm());
|
||||
Settings.LoadSettings();
|
||||
Context.CheckUnar();
|
||||
new Application(Platforms.XamMac2).Run(new frmMain());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Eto.Forms" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Eto.Platform.XamMac2" version="2.3.0" targetFramework="net45" />
|
||||
</packages>
|
||||
@@ -1,10 +1,59 @@
|
||||
using System;
|
||||
using osrepodbmgr.Core;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr.Eto
|
||||
{
|
||||
public class WrappersForEto
|
||||
class DBEntryForEto
|
||||
{
|
||||
public WrappersForEto()
|
||||
DBEntry _item;
|
||||
public DBEntryForEto(DBEntry item)
|
||||
{
|
||||
_item = item;
|
||||
}
|
||||
|
||||
public long id { get { return _item.id; } set { } }
|
||||
public string developer { get { return _item.developer; } set { } }
|
||||
public string product { get { return _item.product; } set { } }
|
||||
public string version { get { return _item.version; } set { } }
|
||||
public string languages { get { return _item.languages; } set { } }
|
||||
public string architecture { get { return _item.architecture; } set { } }
|
||||
public string machine { get { return _item.machine; } set { } }
|
||||
public string format { get { return _item.format; } set { } }
|
||||
public string description { get { return _item.description; } set { } }
|
||||
public bool oem { get { return _item.oem; } set { } }
|
||||
public bool upgrade { get { return _item.upgrade; } set { } }
|
||||
public bool update { get { return _item.update; } set { } }
|
||||
public bool source { get { return _item.source; } set { } }
|
||||
public bool files { get { return _item.files; } set { } }
|
||||
public bool netinstall { get { return _item.netinstall; } set { } }
|
||||
public byte[] xml { get { return _item.xml; } set { } }
|
||||
public byte[] json { get { return _item.json; } set { } }
|
||||
public string mdid { get { return _item.mdid; } set { } }
|
||||
|
||||
public DBEntry original { get { return _item; } set { } }
|
||||
}
|
||||
|
||||
class StringEntry
|
||||
{
|
||||
public string str { get; set; }
|
||||
}
|
||||
|
||||
class BarcodeEntry
|
||||
{
|
||||
public string code { get; set; }
|
||||
public BarcodeTypeType type { get; set; }
|
||||
}
|
||||
|
||||
class DiscEntry
|
||||
{
|
||||
public string path { get; set; }
|
||||
public OpticalDiscType disc { get; set; }
|
||||
}
|
||||
|
||||
class DiskEntry
|
||||
{
|
||||
public string path { get; set; }
|
||||
public BlockMediaType disk { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="544" Width="857"
|
||||
Closing="OnDeleteEvent" Resizable="True" DisplayMode="Attached">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Developer</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtDeveloper"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Product</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtProduct"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Version</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtVersion"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Languages</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtLanguages"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Architecture</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtArchitecture"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Machine</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtMachine"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Format</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtFormat"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Description</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtDescription"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<CheckBox ID="chkOem">oem</CheckBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right">
|
||||
<CheckBox ID="chkUpdate">update</CheckBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<CheckBox ID="chkUpgrade">upgrade</CheckBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right">
|
||||
<CheckBox ID="chkFiles">files</CheckBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<CheckBox ID="chkSource">source</CheckBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right">
|
||||
<CheckBox ID="chkNetinstall">netinstall</CheckBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Center">
|
||||
<TabControl>
|
||||
<TabPage Text="Files">
|
||||
<GridView ID="treeFiles"/>
|
||||
</TabPage>
|
||||
<TabPage Text="OSes" ID="tabOSes" Visible="False">
|
||||
<GridView ID="treeOSes"/>
|
||||
</TabPage>
|
||||
</TabControl>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<Label ID="lblProgress">Progress</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right">
|
||||
<ProgressBar ID="prgProgress"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<Label ID="lblProgress2">Progress2</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right">
|
||||
<ProgressBar ID="prgProgress2"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnRemoveFile" Click="OnBtnRemoveFileClicked" Visible="False">Remove</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnMetadata" Click="OnBtnMetadataClicked" Visible="False">Metadata</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnStop" Click="OnBtnStopClicked" Visible="False">Stop</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnFolder" Click="OnBtnFolderClicked">Open folder</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnArchive" Click="OnBtnArchiveClicked">Open archive</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnPack" Click="OnBtnPackClicked" Visible="False">Add to repository...</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnClose" Click="OnBtnCloseClicked" Visible="False">Close</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnExit" Click="OnBtnExitClicked">OK</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,405 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="800" Height="605" Resizable="True">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<TabControl>
|
||||
<TabPage Text="General">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Image:</Label>
|
||||
<TextBox ID="txtImage" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Format:</Label>
|
||||
<TextBox ID="txtFormat" />
|
||||
<Label>Offset:</Label>
|
||||
<TextBox ID="txtOffset" />
|
||||
<Label>Size:</Label>
|
||||
<TextBox ID="txtSize" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Manufacturer:</Label>
|
||||
<TextBox ID="txtManufacturer" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Model:</Label>
|
||||
<TextBox ID="txtModel" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Serial:</Label>
|
||||
<TextBox ID="txtSerial" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Firmware:</Label>
|
||||
<TextBox ID="txtFirmware" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Interface:</Label>
|
||||
<TextBox ID="txtInterface" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Copy protection:</Label>
|
||||
<TextBox ID="txtCopyProtection" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Media type:</Label>
|
||||
<TextBox ID="txtMediaType" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Media subtype:</Label>
|
||||
<TextBox ID="txtMediaSubtype" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<GroupBox Text="Sequence">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkSequence" CheckedChanged="OnChkSequenceToggled">Sequenced</CheckBox>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblMediaTitle">Media title</Label>
|
||||
</StackLayoutItem>
|
||||
<TextBox ID="txtMediaTitle" />
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblSequence">Sequence:</Label>
|
||||
<NumericUpDown ID="spSequence" />
|
||||
<Label ID="lblTotalMedia">of</Label>
|
||||
<NumericUpDown ID="spTotalMedia" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblSide">Side:</Label>
|
||||
<NumericUpDown ID="spSide" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblLayer">Layer:</Label>
|
||||
<NumericUpDown ID="spLayer" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
<GroupBox Text="Blocks">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<TextBox ID="txtBlocks" />
|
||||
<Label>blocks</Label>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Block size</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Physical:</Label>
|
||||
<NumericUpDown ID="spPhysicalBlockSize" />
|
||||
<Label>Logical:</Label>
|
||||
<NumericUpDown ID="spLogicalBlockSize" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<NumericUpDown ID="spCylinders" />
|
||||
<Label>cylinders</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<NumericUpDown ID="spHeads" />
|
||||
<Label>heads</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<NumericUpDown ID="spSectors" />
|
||||
<Label>sectors</Label>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
<GroupBox Text="Dimensions">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkDimensions" CheckedChanged="OnChkDimensionsToggled">Known dimensions</CheckBox>
|
||||
<CheckBox ID="chkRound" CheckedChanged="OnChkRoundToggled">Round?</CheckBox>
|
||||
<StackLayout Orientation="Horizontal" ID="stkDiameter">
|
||||
<Label>Diameter</Label>
|
||||
<NumericUpDown ID="spDiameter" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkHeight">
|
||||
<Label>Height</Label>
|
||||
<NumericUpDown ID="spHeight" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkWidth">
|
||||
<Label>Width</Label>
|
||||
<NumericUpDown ID="spWidth" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkThickness">
|
||||
<Label>Thickness</Label>
|
||||
<NumericUpDown ID="spThickness" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="ATA">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkATA" Enabled="False">Has ATA IDENTIFY information?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeATA" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="PCI">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkPCI" Enabled="False">Is PCI?</CheckBox>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblPCIVendor">Vendor ID</Label>
|
||||
<TextBox ID="txtPCIVendor" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblPCIProduct">Product ID</Label>
|
||||
<TextBox ID="txtPCIProduct" />
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Configuration" ID="frmPCIConfiguration">
|
||||
<GridView ID="treeConfiguration" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Option ROM" ID="frmOptionROM">
|
||||
<GridView ID="treeOptionROM" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="PCMCIA">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkPCMCIA">Is PCMCIA?</CheckBox>
|
||||
<CheckBox ID="chkCIS" Enabled="False">Has CIS?</CheckBox>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeCIS" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblPCMCIAManufacturer">Manufacturer name</Label>
|
||||
<TextBox ID="txtPCMCIAManufacturer" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblMfgCode">Manufacturer code</Label>
|
||||
<TextBox ID="txtMfgCode" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblPCMCIAProductName">Product name</Label>
|
||||
<TextBox ID="txtPCMCIAProductName" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblCardCode">Card code</Label>
|
||||
<TextBox ID="txtCardCode" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblCompliance">Compliance</Label>
|
||||
<TextBox ID="txtCompliance" />
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Additional information" ID="lblAdditionalInformation">
|
||||
<GridView ID="treeAdditionalInformation" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Secure Digital">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkSecureDigital" Enabled="False">Is Secure Digital or MMC?</CheckBox>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblCID">CID</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeCID" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
<CheckBox ID="chkCSD" Enabled="False">Has CSD?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeCSD" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
<CheckBox ID="chkECSD" Enabled="False">Has Extended CSD?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeECSD" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="SCSI">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkSCSI" Enabled="False">Is SCSI?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="INQUIRY" ID="frmInquiry">
|
||||
<GridView ID="treeInquiry" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="MODE SENSE" ID="frmModeSense">
|
||||
<GridView ID="treeModeSense" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="MODE SENSE (10)" ID="frmModeSense10">
|
||||
<GridView ID="treeModeSense10" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="LOG SENSE" ID="frmLogSense">
|
||||
<GridView ID="treeLogSense" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="EVPDs" ID="frmEVPDs">
|
||||
<GridView ID="treeEVPDs" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="USB">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkUSB" Enabled="False">Is USB?</CheckBox>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblUSBVendor">Vendor ID</Label>
|
||||
<TextBox ID="txtUSBVendor" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblUSBProduct">Product ID</Label>
|
||||
<TextBox ID="txtUSBProduct" />
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Descriptors" ID="frmDescriptors">
|
||||
<GridView ID="treeDescriptors" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="MAM">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkMAM" Enabled="False">Has MAM?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeMAM" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Tracks">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkTracks" Enabled="False">Has tracks?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeTracks" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Partitions">
|
||||
<GroupBox Text="Partitions">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treePartitions" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancelPartition" Click="OnBtnCancelPartitionClicked">Cancel</Button>
|
||||
<Button ID="btnRemovePartition" Click="OnBtnRemovePartitionClicked">Remove</Button>
|
||||
<Button ID="btnEditPartition" Click="OnBtnEditPartitionClicked">Edit</Button>
|
||||
<Button ID="btnApplyPartition" Click="OnBtnApplyPartitionClicked">Apply</Button>
|
||||
<Button ID="btnAddPartition" Click="OnBtnAddPartitionClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkPartitionFields1">
|
||||
<Label>Sequence</Label>
|
||||
<NumericUpDown ID="spPartitionSequence" />
|
||||
<Label>Start block</Label>
|
||||
<TextBox ID="txtPartitionStart" />
|
||||
<Label>End block</Label>
|
||||
<TextBox ID="txtPartitionEnd" />
|
||||
<Label>Type</Label>
|
||||
<TextBox ID="txtPartitionType" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkPartitionFields2">
|
||||
<Label>Name</Label>
|
||||
<TextBox ID="txtPartitionName" />
|
||||
<Label>Description</Label>
|
||||
<TextBox ID="txtPartitionDescription" />
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox ID="frmFilesystems">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeFilesystems" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnRemoveFilesystem" Click="OnBtnRemoveFilesystemClicked">Remove</Button>
|
||||
<Button ID="btnEditFilesystem" Click="OnBtnEditFilesystemClicked">Edit</Button>
|
||||
<Button ID="btnAddFilesystem" Click="OnBtnAddFilesystemClicked">Add</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</TabPage>
|
||||
<TabPage Text="Dump hardware">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkDumpHardware" CheckedChanged="OnChkDumpHardwareToggled">Known dumping hardware</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeDumpHardware" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancelHardware" Click="OnBtnCancelHardwareClicked">Cancel</Button>
|
||||
<Button ID="btnRemoveHardware" Click="OnBtnRemoveHardwareClicked">Remove</Button>
|
||||
<Button ID="btnEditHardware" Click="OnBtnEditHardwareClicked">Edit</Button>
|
||||
<Button ID="btnApplyHardware" Click="OnBtnApplyHardwareClicked">Apply</Button>
|
||||
<Button ID="btnAddHardware" Click="OnBtnAddHardwareClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox ID="frmHardware">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Manufacturer</Label>
|
||||
<TextBox ID="txtHWManufacturer" />
|
||||
<Label>Model</Label>
|
||||
<TextBox ID="txtHWModel" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Revision</Label>
|
||||
<TextBox ID="txtHWRevision" />
|
||||
<Label>Firmware</Label>
|
||||
<TextBox ID="txtHWFirmware" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Serial number</Label>
|
||||
<TextBox ID="txtHWSerial" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<GroupBox Text="Extents">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeExtents" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnRemoveExtent" Click="OnBtnRemoveExtentClicked">Remove</Button>
|
||||
<Button ID="btnAddExtent" Click="OnBtnAddExtentClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Start</Label>
|
||||
<NumericUpDown ID="spExtentStart" />
|
||||
<Label>End</Label>
|
||||
<NumericUpDown ID="spExtentEnd" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
<GroupBox Text="DumpSoftware">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Name</Label>
|
||||
<TextBox ID="txtDumpName" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Version</Label>
|
||||
<TextBox ID="txtDumpVersion" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Operating system</Label>
|
||||
<TextBox ID="txtDumpOS" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
</TabControl>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClicked">Cancel</Button>
|
||||
<Button ID="btnSave" Click="OnBtnSaveClicked">Save</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Filesystem type</Label>
|
||||
<TextBox ID="txtType"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<TextBox ID="txtFiles"/>
|
||||
<Label>files</Label>
|
||||
<CheckBox ID="chkBootable" ThreeState="False">Bootable</CheckBox>
|
||||
<CheckBox ID="chkDirty" ThreeState="False">Dirty</CheckBox>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<NumericUpDown ID="spClusterSize" MaxValue="1048576"/>
|
||||
<Label>bytes per cluster</Label>
|
||||
<TextBox ID="txtClusters"/>
|
||||
<Label>clusters</Label>
|
||||
<TextBox ID="txtFreeClusters"/>
|
||||
<Label>free clusters</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkCreationDate" ThreeState="False" CheckedChanged="OnChkCreationDateToggled">Creation date</CheckBox>
|
||||
<DateTimePicker ID="cldCreationDate" Mode="DateTime"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkModificationDate" ThreeState="False" CheckedChanged="OnChkModificationDateToggled">Modification date</CheckBox>
|
||||
<DateTimePicker ID="cldModificationDate" Mode="DateTime"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkEffectiveDate" ThreeState="False" CheckedChanged="OnChkEffectiveDateToggled">Effective date</CheckBox>
|
||||
<DateTimePicker ID="cldEffectiveDate" Mode="DateTime"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkExpirationDate" ThreeState="False" CheckedChanged="OnChkExpirationDateToggled">Expiration date</CheckBox>
|
||||
<DateTimePicker ID="cldExpirationDate" Mode="DateTime"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkBackupDate" ThreeState="False" CheckedChanged="OnChkBackupDateToggled">Last backup date</CheckBox>
|
||||
<DateTimePicker ID="cldBackupDate" Mode="DateTime"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Volume label</Label>
|
||||
<TextBox ID="txtLabel"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Volume serial</Label>
|
||||
<TextBox ID="txtSerial"/>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<GroupBox Text="ISO9660 information">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>System identifier</Label>
|
||||
<TextBox ID="txtSysId"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Volume identifier</Label>
|
||||
<TextBox ID="txtVolId"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Publisher identifier</Label>
|
||||
<TextBox ID="txtPubId"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Data preparer identifier</Label>
|
||||
<TextBox ID="txtDataId"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Application identifier</Label>
|
||||
<TextBox ID="txtAppId"/>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClicked">Cancel</Button>
|
||||
<Button ID="btnSave" Click="OnBtnSaveClicked">Save</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
|
||||
@@ -26,18 +26,229 @@
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Eto.Forms;
|
||||
using Eto.Drawing;
|
||||
using Eto.Serialization.Xaml;
|
||||
using Schemas;
|
||||
|
||||
namespace osrepodbmgr.Eto
|
||||
{
|
||||
public class dlgFilesystem : Panel
|
||||
public class dlgFilesystem : Dialog
|
||||
{
|
||||
public FileSystemType Metadata;
|
||||
public bool Modified;
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
TextBox txtType;
|
||||
TextBox txtFiles;
|
||||
CheckBox chkBootable;
|
||||
CheckBox chkDirty;
|
||||
NumericUpDown spClusterSize;
|
||||
TextBox txtClusters;
|
||||
TextBox txtFreeClusters;
|
||||
CheckBox chkCreationDate;
|
||||
DateTimePicker cldCreationDate;
|
||||
CheckBox chkModificationDate;
|
||||
DateTimePicker cldModificationDate;
|
||||
CheckBox chkEffectiveDate;
|
||||
DateTimePicker cldEffectiveDate;
|
||||
CheckBox chkExpirationDate;
|
||||
DateTimePicker cldExpirationDate;
|
||||
CheckBox chkBackupDate;
|
||||
DateTimePicker cldBackupDate;
|
||||
TextBox txtLabel;
|
||||
TextBox txtSerial;
|
||||
TextBox txtSysId;
|
||||
TextBox txtVolId;
|
||||
TextBox txtPubId;
|
||||
TextBox txtDataId;
|
||||
TextBox txtAppId;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
|
||||
public dlgFilesystem()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
Modified = false;
|
||||
}
|
||||
public void FillFields()
|
||||
{
|
||||
if(Metadata == null)
|
||||
return;
|
||||
|
||||
if(Metadata.Type != null)
|
||||
txtType.Text = Metadata.Type;
|
||||
if(Metadata.CreationDateSpecified)
|
||||
{
|
||||
chkCreationDate.Checked = true;
|
||||
cldCreationDate.Enabled = true;
|
||||
cldCreationDate.Value = Metadata.CreationDate;
|
||||
}
|
||||
if(Metadata.ModificationDateSpecified)
|
||||
{
|
||||
chkModificationDate.Checked = true;
|
||||
cldModificationDate.Enabled = true;
|
||||
cldModificationDate.Value = Metadata.ModificationDate;
|
||||
}
|
||||
if(Metadata.BackupDateSpecified)
|
||||
{
|
||||
chkBackupDate.Checked = true;
|
||||
cldBackupDate.Enabled = true;
|
||||
cldBackupDate.Value = Metadata.BackupDate;
|
||||
}
|
||||
spClusterSize.Value = Metadata.ClusterSize;
|
||||
txtClusters.Text = Metadata.Clusters.ToString();
|
||||
if(Metadata.FilesSpecified)
|
||||
txtFiles.Text = Metadata.Files.ToString();
|
||||
chkBootable.Checked = Metadata.Bootable;
|
||||
if(Metadata.VolumeSerial != null)
|
||||
txtSerial.Text = Metadata.VolumeSerial;
|
||||
if(Metadata.VolumeName != null)
|
||||
txtLabel.Text = Metadata.VolumeName;
|
||||
if(Metadata.FreeClustersSpecified)
|
||||
txtFreeClusters.Text = Metadata.FreeClusters.ToString();
|
||||
chkDirty.Checked = Metadata.Dirty;
|
||||
if(Metadata.ExpirationDateSpecified)
|
||||
{
|
||||
chkExpirationDate.Checked = true;
|
||||
cldExpirationDate.Enabled = true;
|
||||
cldExpirationDate.Value = Metadata.ExpirationDate;
|
||||
}
|
||||
if(Metadata.EffectiveDateSpecified)
|
||||
{
|
||||
chkEffectiveDate.Checked = true;
|
||||
cldEffectiveDate.Enabled = true;
|
||||
cldEffectiveDate.Value = Metadata.EffectiveDate;
|
||||
}
|
||||
if(Metadata.SystemIdentifier != null)
|
||||
txtSysId.Text = Metadata.SystemIdentifier;
|
||||
if(Metadata.VolumeSetIdentifier != null)
|
||||
txtVolId.Text = Metadata.VolumeSetIdentifier;
|
||||
if(Metadata.PublisherIdentifier != null)
|
||||
txtPubId.Text = Metadata.PublisherIdentifier;
|
||||
if(Metadata.DataPreparerIdentifier != null)
|
||||
txtDataId.Text = Metadata.DataPreparerIdentifier;
|
||||
if(Metadata.ApplicationIdentifier != null)
|
||||
txtAppId.Text = Metadata.ApplicationIdentifier;
|
||||
}
|
||||
|
||||
protected void OnChkCreationDateToggled(object sender, EventArgs e)
|
||||
{
|
||||
cldCreationDate.Enabled = chkCreationDate.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnChkModificationDateToggled(object sender, EventArgs e)
|
||||
{
|
||||
cldModificationDate.Enabled = chkModificationDate.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnChkEffectiveDateToggled(object sender, EventArgs e)
|
||||
{
|
||||
cldEffectiveDate.Enabled = chkEffectiveDate.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnChkExpirationDateToggled(object sender, EventArgs e)
|
||||
{
|
||||
cldExpirationDate.Enabled = chkExpirationDate.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnChkBackupDateToggled(object sender, EventArgs e)
|
||||
{
|
||||
cldBackupDate.Enabled = chkBackupDate.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnBtnCancelClicked(object sender, EventArgs e)
|
||||
{
|
||||
Modified = false;
|
||||
Close();
|
||||
}
|
||||
|
||||
protected void OnBtnSaveClicked(object sender, EventArgs e)
|
||||
{
|
||||
long temp;
|
||||
|
||||
if(string.IsNullOrWhiteSpace(txtType.Text))
|
||||
MessageBox.Show("Filesystem type cannot be empty", MessageBoxType.Error);
|
||||
|
||||
if(spClusterSize.Value < 1)
|
||||
MessageBox.Show("Clusters must be bigger than 0 bytes", MessageBoxType.Error);
|
||||
|
||||
if(!long.TryParse(txtClusters.Text, out temp))
|
||||
MessageBox.Show("Clusters must be a number", MessageBoxType.Error);
|
||||
|
||||
if(temp < 1)
|
||||
MessageBox.Show("Filesystem must have more than 0 clusters", MessageBoxType.Error);
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(txtFiles.Text) && !long.TryParse(txtFiles.Text, out temp))
|
||||
MessageBox.Show("Files must be a number, or empty for unknown", MessageBoxType.Error);
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(txtFiles.Text) && temp < 0)
|
||||
MessageBox.Show("Files must be positive", MessageBoxType.Error);
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(txtFreeClusters.Text) && !long.TryParse(txtFreeClusters.Text, out temp))
|
||||
MessageBox.Show("Free clusters must be a number or empty for unknown", MessageBoxType.Error);
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(txtFreeClusters.Text) && temp < 0)
|
||||
MessageBox.Show("Free clusters must be positive", MessageBoxType.Error);
|
||||
|
||||
Metadata = new FileSystemType();
|
||||
Metadata.Type = txtType.Text;
|
||||
if(chkCreationDate.Checked.Value)
|
||||
{
|
||||
Metadata.CreationDateSpecified = true;
|
||||
Metadata.CreationDate = cldCreationDate.Value.Value;
|
||||
}
|
||||
if(chkModificationDate.Checked.Value)
|
||||
{
|
||||
Metadata.ModificationDateSpecified = true;
|
||||
Metadata.ModificationDate = cldModificationDate.Value.Value;
|
||||
}
|
||||
if(chkBackupDate.Checked.Value)
|
||||
{
|
||||
Metadata.BackupDateSpecified = true;
|
||||
Metadata.BackupDate = cldBackupDate.Value.Value;
|
||||
}
|
||||
Metadata.ClusterSize = (int)spClusterSize.Value;
|
||||
Metadata.Clusters = long.Parse(txtClusters.Text);
|
||||
if(!string.IsNullOrWhiteSpace(txtFiles.Text))
|
||||
{
|
||||
Metadata.FilesSpecified = true;
|
||||
Metadata.Files = long.Parse(txtFiles.Text);
|
||||
}
|
||||
Metadata.Bootable = chkBootable.Checked.Value;
|
||||
if(!string.IsNullOrWhiteSpace(txtSerial.Text))
|
||||
Metadata.VolumeSerial = txtSerial.Text;
|
||||
if(!string.IsNullOrWhiteSpace(txtLabel.Text))
|
||||
Metadata.VolumeName = txtLabel.Text;
|
||||
if(!string.IsNullOrWhiteSpace(txtFreeClusters.Text))
|
||||
{
|
||||
Metadata.FreeClustersSpecified = true;
|
||||
Metadata.FreeClusters = long.Parse(txtFreeClusters.Text);
|
||||
}
|
||||
Metadata.Dirty = chkDirty.Checked.Value;
|
||||
if(chkExpirationDate.Checked.Value)
|
||||
{
|
||||
Metadata.ExpirationDateSpecified = true;
|
||||
Metadata.ExpirationDate = cldExpirationDate.Value.Value;
|
||||
}
|
||||
if(chkEffectiveDate.Checked.Value)
|
||||
{
|
||||
Metadata.EffectiveDateSpecified = true;
|
||||
Metadata.EffectiveDate = cldEffectiveDate.Value.Value;
|
||||
}
|
||||
if(!string.IsNullOrWhiteSpace(txtSysId.Text))
|
||||
Metadata.SystemIdentifier = txtSysId.Text;
|
||||
if(!string.IsNullOrWhiteSpace(txtVolId.Text))
|
||||
Metadata.VolumeSetIdentifier = txtVolId.Text;
|
||||
if(!string.IsNullOrWhiteSpace(txtPubId.Text))
|
||||
Metadata.PublisherIdentifier = txtPubId.Text;
|
||||
if(!string.IsNullOrWhiteSpace(txtDataId.Text))
|
||||
Metadata.DataPreparerIdentifier = txtDataId.Text;
|
||||
if(!string.IsNullOrWhiteSpace(txtAppId.Text))
|
||||
Metadata.ApplicationIdentifier = txtAppId.Text;
|
||||
|
||||
Modified = true;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="300" Width="400">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem VerticalAlignment="Stretch" Expand="True" HorizontalAlignment="Stretch">
|
||||
<TextArea ReadOnly="True" ID="txtHelp"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Button Click="OnBtnOKClicked">OK</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
|
||||
@@ -33,11 +33,142 @@ using Eto.Serialization.Xaml;
|
||||
|
||||
namespace osrepodbmgr.Eto
|
||||
{
|
||||
public class dlgHelp : Panel
|
||||
public class dlgHelp : Dialog
|
||||
{
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
TextArea txtHelp;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
|
||||
public dlgHelp()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
|
||||
txtHelp.Text = "This is the naming scheme and folder organization conventions for the Operating System Repository.\n\n" +
|
||||
"The basic layout is as follows:\n\n" +
|
||||
"<Developer>/<Product>/<Version>/<Language>/<Architecture>/oem/for <Machine>/<[format]_update/upgrade/files/source/netinstall/description>.zip\n" +
|
||||
"All fields should contain only 7-bit ASCII.\n\n" +
|
||||
"<Developer>\n" +
|
||||
"-----------\n" +
|
||||
"This is the main developer of the operating system or associated software. e.g. Microsoft\n\n" +
|
||||
"<Product>\n" +
|
||||
"---------\n" +
|
||||
"This is the name of the operating system or associated software. e.g. Windows NT\n\n" +
|
||||
"<Version>\n" +
|
||||
"---------\n" +
|
||||
"This is the version of the operating system or associated software. e.g. 6.00.6000.16386\n" +
|
||||
"Service pack and release markers should be appended. e.g. 6.10.7601.16385 (RTM)\n" +
|
||||
"Build can be specified by appending \"build\". e.g. 10.2.7 build 6S80\n" +
|
||||
"And combined. e.g. 10.5 build 9A581 (Server)\n" +
|
||||
"Version with same version number but different build date should have it appended. Date format should be YYYYmm[dd]. e.g. 10 201009\n\n" +
|
||||
"<Language>\n" +
|
||||
"----------\n" +
|
||||
"This specifies the language localization and translation:\n" +
|
||||
"xxx: Language variation, e.g. German = deu\n" +
|
||||
"xxx_yy: Country specific language variation. e.g. Swiss German = deu_ch\n" +
|
||||
"multi: The only known variation of the product that contains more than a language\n" +
|
||||
"xxx,xxx,xxx and xxx_yy,xxx_yy,xxx_yy: The variation contains more than a single language\n" +
|
||||
"Where xxx is the ISO-639-2/T language code and yy is the ISO-3166-1 alpha-2 country code.\n" +
|
||||
"https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes\n" +
|
||||
"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n" +
|
||||
"If the product has ever been only released in one language variation, being it English (like CP/M) or multilanguage " +
|
||||
"(like Mac OS X and Linux), this field should be omitted.\n\n" +
|
||||
"<Architecture>\n" +
|
||||
"--------------\n" +
|
||||
"The processor architecture the product is compiled for.\n" +
|
||||
"Omitted if it has only ever been compiled for a single one, contains all supported ones in same files, " +
|
||||
"or it is source code containing support for several of them.\n" +
|
||||
"Exact one depends on the product (that is, the one that the product uses to identify itself, should be used). Examples:\n" +
|
||||
"* x86, i86, i386, i486, i586, i686, ia32: Intel Architecture 32 aka 8086 aka iAPX86\n" +
|
||||
"* x64, amd64, x86_64: AMD64 aka x86_64 aka EM64T\n" +
|
||||
"* ia64: Intel Architecture 64 aka Itanium\n" +
|
||||
"* sparc: SPARC\n" +
|
||||
"* sun4u, sun4m, sun1, sun2, sun3: Specific Sun architectures that specify not only the processor architecture but the whole system one.\n" +
|
||||
"* 68k, ppc, fat: For products that run under Mac OS indicate they require a Macintosh, a Power Macintosh, or can run on both, respectively.\n" +
|
||||
"* rpi, rpi2, beaglebone, bananapi: Specific whole systems that share a processor architecture but require a completely different variant.\n\n" +
|
||||
"oem\n" +
|
||||
"---\n" +
|
||||
"Present if the variant is OEM. Omitted otherwise.\n\n" +
|
||||
"for <Machine>\n" +
|
||||
"-------------\n" +
|
||||
"Present if the variant requires a specific computer to run.\n" +
|
||||
"Useful for computer restoration variants.\n" +
|
||||
"e.g. for Power Mac 5200\n" +
|
||||
"e.g. for Tandy 1000\n\n" +
|
||||
"<[format]/update/upgrade/files/source/netinstall/description>.zip\n" +
|
||||
"-----------------------------------------------------------------\n" +
|
||||
"This is the file containing the product itself.\n" +
|
||||
"It should be compressed using ZIP with certain parameters (see below).\n" +
|
||||
"Several of them can be combined separated with underscores.\n" +
|
||||
"Naming as following:\n" +
|
||||
"* [format]: If the variation is encoded in a disk image format that's neither a simple dump of sectors (.iso/.dsk/.xdf) " +
|
||||
"or a BinCue/BinToc (.bin+.cue/.bin+.toc) format should be substituted to a descriptive name for the format. e.g.: [Nero], [CloneCD]\n" +
|
||||
"* update: Should be used when the product requires and updates a previous point release or build to the new one. " +
|
||||
"Product version should be the updated, not the required, one. e.g.: 1.3 updates to 1.3.1 or 2.0 updates to 2.5\n" +
|
||||
"* upgrade: Should be used when the product requires and updates a previous version to the new one. Product version should be the updated, " +
|
||||
"not the required, one. e.g.: 2.0 updates to 3.0 or MS-DOS updates to Windows 95.\n" +
|
||||
"* files: Should be used when the contents of the product disks are dumped as is (copied from the media) or it contains already installed " +
|
||||
"files.\n" +
|
||||
"* source: Should be used when it contains the source code for the product.\n" +
|
||||
"* netinstall: Similar to files except that the files are designed to be put in a network share for remote installation of the product.\n" +
|
||||
"* description: Free form description or product part number if it is known.\n\n" +
|
||||
"Compression\n" +
|
||||
"-----------\n" +
|
||||
"The product should be compressed using ZIP with Deflate algorithm and UTF-8 headers. Zip64 extensions may be used. " +
|
||||
"UNIX extensions MUST be used for products that require them (e.g. it contains softlinks).\n" +
|
||||
"In the doubt, use Info-ZIP with following parameters:\n" +
|
||||
"zip -9ry -dd archive.zip .\n" +
|
||||
"If the product requires Acorn, BeOS or OS/2 extended attributes it should be compressed using the corresponding Info-ZIP version under " +
|
||||
"that operating system so the required extension is used.\n" +
|
||||
"DO NOT recompress archives in an operating system which zip product doesn't support all already present headers.\n" +
|
||||
"DO NOT use TorrentZip. It discards all headers as well as date stamps.\n" +
|
||||
"DO NOT use Mac OS headers. For conserving FinderInfo and Resource Fork see below.\n\n" +
|
||||
"FinderInfo and Resource Fork\n" +
|
||||
"----------------------------\n" +
|
||||
"FinderInfo and Resource Fork should be stored as Mac OS X AppleDouble format: file and ._file\n" +
|
||||
"This format is understand by all Mac OS X versions under any filesystem or a CIFS/SMB network share.\n" +
|
||||
"Also mkisofs recognizes it and is able to create an HFS partition with them correctly set.\n" +
|
||||
"Other formats should be converted to this one.\n\n" +
|
||||
"Metadata\n" +
|
||||
"--------\n" +
|
||||
"Each archive should be accompanied with a JSON metadata file using the CICM Metadata format. " +
|
||||
"Name for metadata sidecar should be same as the archive changing the extension to .json.\n" +
|
||||
"If the archive can be modified (doesn't contain ZIP headers you would lose) the metadata should be put inside the archive as a file " +
|
||||
"named metadata.json.\n\n" +
|
||||
"Recovery\n" +
|
||||
"--------\n" +
|
||||
"Disks fail, bit rot happens, so every archive as well as the metadata file should have a PAR2 recovery set created.\n" +
|
||||
"Example command line (with 5% redundancy):\n" +
|
||||
"par2 c -r5 archive.par2 archive.zip archive.json\n\n" +
|
||||
"Result\n" +
|
||||
"------\n" +
|
||||
"In the end you get something like this:\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.json\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol000+01.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol001+02.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol003+04.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol007+08.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol015+16.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol031+32.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol063+37.par2\n" +
|
||||
"Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.zip\n" +
|
||||
"QNX/QNX/20090229/source.json\n" +
|
||||
"QNX/QNX/20090229/source.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol000+01.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol001+02.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol003+04.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol007+08.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol015+16.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol031+32.par2\n" +
|
||||
"QNX/QNX/20090229/source.vol063+37.par2\n" +
|
||||
"QNX/QNX/20090229/source.zip";
|
||||
}
|
||||
|
||||
protected void OnBtnOKClicked(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,246 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="533" Width="909" Resizable="True">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<TabControl>
|
||||
<TabPage Text="General" ID="tabGeneral">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Developer</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtDeveloper"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Publisher</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtPublisher"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Author</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtAuthor"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Performer</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtPerformer"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Name</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtName"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Version</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtVersion"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkReleaseType">
|
||||
<CheckBox ID="chkKnownReleaseType" ThreeState="False" CheckedChanged="OnChkKnownReleaseTypeToggled">Known release type?</CheckBox>
|
||||
<!-- EnumDropDown<ReleaseType> goes here -->
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Release date</Label>
|
||||
<DateTimePicker ID="cldReleaseDate" Enabled="False"/>
|
||||
<CheckBox ID="chkReleaseDate" ThreeState="False" CheckedChanged="OnChkReleaseDateToggled" Checked="True">Unknown or unreleased</CheckBox>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Part number</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtPartNumber"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Serial number</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtSerialNumber"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Keywords" ID="tabKeywords">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New keyword:</Label>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<TextBox ID="txtNewKeyword"/>
|
||||
</StackLayoutItem>
|
||||
<Button ID="btnAddKeyword" Click="OnBtnAddKeywordClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeKeywords"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearKeywords" Click="OnBtnClearKeywordsClicked">Clear</Button>
|
||||
<Button ID="btnRemoveKeyword" Click="OnBtnRemoveKeywordClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Barcodes" ID="tabBarcodes">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New barcode:</Label>
|
||||
<TextBox ID="txtNewBarcode"></TextBox>
|
||||
<Label>type</Label>
|
||||
<ComboBox ID="cmbBarcodes" ReadOnly="True"/>
|
||||
<Button ID="btnAddBarcode" Click="OnBtnAddBarcodeClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeBarcodes"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearBarcodes" Click="OnBtnClearBarcodesClicked">Clear</Button>
|
||||
<Button ID="btnRemoveBarcode" Click="OnBtnRemoveBarcodeClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Categories" ID="tabCategories">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Categories</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New category:</Label>
|
||||
<TextBox ID="txtNewCategory"/>
|
||||
<Button ID="btnAddCategory" Click="OnBtnAddCategoryClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeCategories"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearCategories" Click="OnBtnClearCategoriesClicked">Clear</Button>
|
||||
<Button ID="btnRemoveCategory" Click="OnBtnRemoveCategoryClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Subcategories</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New subcategory:</Label>
|
||||
<TextBox ID="txtNewSubcategory"/>
|
||||
<Button ID="btnAddSubcategory" Click="OnBtnAddSubcategoryClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeSubcategories"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearSubcategories" Click="OnBtnClearSubcategoriesClicked">Clear</Button>
|
||||
<Button ID="btnRemoveSubcategory" Click="OnBtnRemoveSubcategoryClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Languages" ID="tabLanguages">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New language:</Label>
|
||||
<ComboBox ID="cmbLanguages" ReadOnly="True"/>
|
||||
<Button ID="btnAddLanguage" Click="OnBtnAddLanguageClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeLanguages"></GridView>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearLanguages" Click="OnBtnClearLanguagesClicked">Clear</Button>
|
||||
<Button ID="btnRemoveLanguage" Click="OnBtnRemoveLanguageClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Systems" ID="tabSystems">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New system:</Label>
|
||||
<TextBox ID="txtNewSystem"/>
|
||||
<Button ID="btnAddSystem" Click="OnBtnAddSystemClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeSystems"></GridView>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearSystems" Click="OnBtnClearSystemsClicked">Clear</Button>
|
||||
<Button ID="btnRemoveSystem" Click="OnBtnRemoveSystemClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Architectures" ID="tabArchitectures">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>New architecture:</Label>
|
||||
<ComboBox ID="cmbArchitectures" ReadOnly="True"/>
|
||||
<Button ID="btnAddArchitecture" Click="OnBtnAddArchitectureClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeArchitectures"></GridView>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnClearArchitectures" Click="OnBtnClearArchitecturesClicked">Clear</Button>
|
||||
<Button ID="btnRemoveArchitecture" Click="OnBtnRemoveArchitectureClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Optical discs" ID="tabDiscs">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Choose disc to add:</Label>
|
||||
<ComboBox ID="cmbFilesForNewDisc" ReadOnly="True"/>
|
||||
<Button ID="btnAddDisc" Click="OnBtnAddDiscClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeDiscs"></GridView>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnStopAddDisc" Click="OnBtnStopAddDiscClicked" Visible="False">Stop</Button>
|
||||
<Button ID="btnEditDisc" Click="OnBtnEditDiscClicked">Edit</Button>
|
||||
<Button ID="btnClearDiscs" Click="OnBtnClearDiscsClicked">Clear</Button>
|
||||
<Button ID="btnRemoveDisc" Click="OnBtnRemoveDiscClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblAddDisc1" Visible="False">Progress 1</Label>
|
||||
<ProgressBar ID="prgAddDisc1" Visible="False"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblAddDisc2" Visible="False">Progress 2</Label>
|
||||
<ProgressBar ID="prgAddDisc2" Visible="False"/>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Block disks" ID="tabDisks">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Choose disc to add:</Label>
|
||||
<ComboBox ID="cmbFilesForNewDisk" ReadOnly="True"/>
|
||||
<Button ID="btnAddDisk" Click="OnBtnAddDiskClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Expand="True">
|
||||
<GridView ID="treeDisks"></GridView>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnStopAddDisk" Click="OnBtnStopAddDiskClicked" Visible="False">Stop</Button>
|
||||
<Button ID="btnEditDisk" Click="OnBtnEditDiskClicked">Edit</Button>
|
||||
<Button ID="btnClearDisks" Click="OnBtnClearDisksClicked">Clear</Button>
|
||||
<Button ID="btnRemoveDisk" Click="OnBtnRemoveDiskClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblAddDisk1" Visible="False">Progress 1</Label>
|
||||
<ProgressBar ID="prgAddDisk1" Visible="False"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblAddDisk2" Visible="False">Progress 2</Label>
|
||||
<ProgressBar ID="prgAddDisk2" Visible="False"/>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
</TabControl>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClicked">Cancel</Button>
|
||||
<Button ID="btnOK" Click="OnBtnOKClicked">OK</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,537 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="800" Height="605" Resizable="True">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<TabControl>
|
||||
<TabPage Text="General">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Image:</Label>
|
||||
<TextBox ID="txtImage" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Format:</Label>
|
||||
<TextBox ID="txtFormat" />
|
||||
<Label>Offset:</Label>
|
||||
<TextBox ID="txtOffset" />
|
||||
<Label>Size:</Label>
|
||||
<TextBox ID="txtSize" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Write offset:</Label>
|
||||
<TextBox ID="txtWriteOffset" />
|
||||
<Label>bytes</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Tracks:</Label>
|
||||
<TextBox ID="txtMediaTracks" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Sessions:</Label>
|
||||
<TextBox ID="txtMediaSessions" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Copy protection:</Label>
|
||||
<TextBox ID="txtCopyProtection" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Disc type:</Label>
|
||||
<TextBox ID="txtDiscType" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Disc subtype:</Label>
|
||||
<TextBox ID="txtDiscSubtype" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<GroupBox Text="Sequence">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkSequence" CheckedChanged="OnChkSequenceToggled">Sequenced</CheckBox>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblDiscTitle">Disc title</Label>
|
||||
</StackLayoutItem>
|
||||
<TextBox ID="txtDiscTitle" />
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblSequence">Sequence:</Label>
|
||||
<NumericUpDown ID="spSequence" />
|
||||
<Label ID="lblTotalMedia">of</Label>
|
||||
<NumericUpDown ID="spTotalMedia" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblSide">Side:</Label>
|
||||
<NumericUpDown ID="spSide" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label ID="lblLayer">Layer:</Label>
|
||||
<NumericUpDown ID="spLayer" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
<GroupBox Text="Dimensions">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkDimensions" CheckedChanged="OnChkDimensionsToggled">Known dimensions</CheckBox>
|
||||
<CheckBox ID="chkRound" CheckedChanged="OnChkRoundToggled">Round?</CheckBox>
|
||||
<StackLayout Orientation="Horizontal" ID="stkDiameter">
|
||||
<Label>Diameter</Label>
|
||||
<NumericUpDown ID="spDiameter" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkHeight">
|
||||
<Label>Height</Label>
|
||||
<NumericUpDown ID="spHeight" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkWidth">
|
||||
<Label>Width</Label>
|
||||
<NumericUpDown ID="spWidth" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkThickness">
|
||||
<Label>Thickness</Label>
|
||||
<NumericUpDown ID="spThickness" DecimalPlaces="5" />
|
||||
<Label>mm</Label>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Layers">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkLayers" ThreeState="False" CheckedChanged="OnChkLayersToggled">Has layers?</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Layers" ID="frmLayers">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal" ID="stkLayers">
|
||||
<Label>Layering type:</Label>
|
||||
<!-- EnumDropDown<LayerType> goes here -->
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeLayers"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Layer</Label>
|
||||
<NumericUpDown ID="spNewLayer"/>
|
||||
<Label>starts at sector</Label>
|
||||
<TextBox ID="txtLayerSize"/>
|
||||
<Button ID="btnAddLayer" Click="OnBtnAddLayerClicked">Add</Button>
|
||||
<Button ID="btnRemoveLayer" Click="OnBtnRemoveLayerClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Mastering">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Ring codes">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeRingCodes"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Layer</Label>
|
||||
<NumericUpDown ID="spRingCodeLayer"/>
|
||||
<Label>Code:</Label>
|
||||
<TextBox ID="txtRingCode"/>
|
||||
<Button ID="btnAddRingCode" Click="OnBtnAddRingCodeClicked">Add</Button>
|
||||
<Button ID="btnRemoveRingCode" Click="OnBtnRemoveRingCodeClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Mastering SIDs">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeMasteringSIDs"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Layer</Label>
|
||||
<NumericUpDown ID="spMasteringSIDLayer"/>
|
||||
<Label>SID:</Label>
|
||||
<TextBox ID="txtMasteringSID"/>
|
||||
<Button ID="btnAddMasteringSID" Click="OnBtnAddMasteringSIDClicked">Add</Button>
|
||||
<Button ID="btnRemoveMasteringSID" Click="OnBtnRemoveMasteringSIDClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Toolstamps">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeToolstamps"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Layer</Label>
|
||||
<NumericUpDown ID="spToolstampLayer"/>
|
||||
<Label>Stamp:</Label>
|
||||
<TextBox ID="txtToolstamp"/>
|
||||
<Button ID="btnAddToolstamp" Click="OnBtnAddToolstampClicked">Add</Button>
|
||||
<Button ID="btnRemoveToolstamp" Click="OnBtnRemoveToolstampClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Mould SIDs">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeMouldSIDs"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Layer</Label>
|
||||
<NumericUpDown ID="spMouldSIDLayer"/>
|
||||
<Label>SID:</Label>
|
||||
<TextBox ID="txtMouldSID"/>
|
||||
<Button ID="btnAddMouldSID" Click="OnBtnAddMouldSIDClicked">Add</Button>
|
||||
<Button ID="btnRemoveMouldSID" Click="OnBtnRemoveMouldSIDClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Mould texts">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeMouldTexts"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Layer</Label>
|
||||
<NumericUpDown ID="spMouldTextLayer"/>
|
||||
<Label>Text:</Label>
|
||||
<TextBox ID="txtMouldText"/>
|
||||
<Button ID="btnAddMouldText" Click="OnBtnAddMouldTextClicked">Add</Button>
|
||||
<Button ID="btnRemoveMouldText" Click="OnBtnRemoveMouldTextClicked">Remove</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="CD">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="TOC" ID="frmTOC">
|
||||
<GridView ID="treeTOC" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="CD-Text" ID="frmCDText">
|
||||
<GridView ID="treeCDText" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="ATIP" ID="frmATIP">
|
||||
<GridView ID="treeATIP" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="PMA" ID="frmPMA">
|
||||
<GridView ID="treePMA" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Sessions">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Lead-Ins" ID="frmLeadIns">
|
||||
<GridView ID="treeLeadIn" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Lead-Outs" ID="frmLeadOuts">
|
||||
<GridView ID="treeLeadOut" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="DVD">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Physical Format Information" ID="frmPFI">
|
||||
<GridView ID="treePFI" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Disc Manufacturer Information" ID="frmDMI">
|
||||
<GridView ID="treeDMI" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Copyright Management Information" ID="frmCMI">
|
||||
<GridView ID="treeCMI" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Burst Cutting Area" ID="frmBCA">
|
||||
<GridView ID="treeBCA" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Disc Control Blocks" ID="frmDCB">
|
||||
<GridView ID="treeDCB" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="DVD-R">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Pre-recorded information" ID="frmPRI">
|
||||
<GridView ID="treePRI" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Media ID" ID="frmMediaID">
|
||||
<GridView ID="treeMediaID" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Physical Format Information in Lead-In" ID="frmPFIR">
|
||||
<GridView ID="treePFIR" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Last RMD" ID="frmLastRMD">
|
||||
<GridView ID="treeLastRMD" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="DVD+R">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="ADIP" ID="frmADIP">
|
||||
<GridView ID="treeADIP" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="DVD-RAM / BD-RE">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Disc Definition Structure" ID="frmDDS">
|
||||
<GridView ID="treeDDS" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Spare Area Information" ID="frmSAI">
|
||||
<GridView ID="treeSAI" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Blu-ray">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Disc Information" ID="frmDI">
|
||||
<GridView ID="treeDI" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="PAC" ID="frmPAC">
|
||||
<GridView ID="treePAC" Enabled="False" />
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Xbox">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="Security sectors" ID="frmXboxSS">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeXboxSS"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Start</Label>
|
||||
<TextBox ID="txtSSStart"/>
|
||||
<Label>End</Label>
|
||||
<TextBox ID="txtSSEnd"/>
|
||||
<Button ID="btnRemoveSS" Click="OnBtnRemoveSSClicked">Remove</Button>
|
||||
<Button ID="btnAddSS" Click="OnBtnAddSSClicked">Add</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="PlayStation">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox Text="PlayStation 3 Encryption Key" ID="frmPS3">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Key</Label>
|
||||
<TextBox ID="txtPS3Key"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Serial</Label>
|
||||
<TextBox ID="txtPS3Serial"/>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Tracks">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeTracks"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal" ID="stkTrackFields1">
|
||||
<Label>Start LBA</Label>
|
||||
<TextBox ID="txtTrackStart"/>
|
||||
<Label>End LBA</Label>
|
||||
<TextBox ID="txtTrackEnd"/>
|
||||
<Label>Start MSF</Label>
|
||||
<TextBox ID="txtMSFStart"/>
|
||||
<Label>End MSF</Label>
|
||||
<TextBox ID="txtMSFEnd"/>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkTrackFields2">
|
||||
<Label>Track</Label>
|
||||
<TextBox ID="txtTrackSequence"/>
|
||||
<Label>Session</Label>
|
||||
<TextBox ID="txtSessionSequence"/>
|
||||
<Label>Track type</Label>
|
||||
<ComboBox ID="cmbTrackType"/>
|
||||
<TextBox ID="txtBytesPerSector"/>
|
||||
<Label>bytes per sector</Label>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkTrackFields3">
|
||||
<Label>Acoust ID</Label>
|
||||
<TextBox ID="txtAcoustID"/>
|
||||
</StackLayout>
|
||||
<GroupBox Text="Partitions" ID="frmPartitions">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treePartitions" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancelPartition" Click="OnBtnCancelPartitionClicked">Cancel</Button>
|
||||
<Button ID="btnRemovePartition" Click="OnBtnRemovePartitionClicked">Remove</Button>
|
||||
<Button ID="btnEditPartition" Click="OnBtnEditPartitionClicked">Edit</Button>
|
||||
<Button ID="btnApplyPartition" Click="OnBtnApplyPartitionClicked">Apply</Button>
|
||||
<Button ID="btnAddPartition" Click="OnBtnAddPartitionClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkPartitionFields1">
|
||||
<Label>Sequence</Label>
|
||||
<NumericUpDown ID="spPartitionSequence" />
|
||||
<Label>Start block</Label>
|
||||
<TextBox ID="txtPartitionStart" />
|
||||
<Label>End block</Label>
|
||||
<TextBox ID="txtPartitionEnd" />
|
||||
<Label>Type</Label>
|
||||
<TextBox ID="txtPartitionType" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="stkPartitionFields2">
|
||||
<Label>Name</Label>
|
||||
<TextBox ID="txtPartitionName" />
|
||||
<Label>Description</Label>
|
||||
<TextBox ID="txtPartitionDescription" />
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox ID="frmFilesystems">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeFilesystems" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnRemoveFilesystem" Click="OnBtnRemoveFilesystemClicked">Remove</Button>
|
||||
<Button ID="btnEditFilesystem" Click="OnBtnEditFilesystemClicked">Edit</Button>
|
||||
<Button ID="btnAddFilesystem" Click="OnBtnAddFilesystemClicked">Add</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancelTrack" Click="OnBtnCancelTrackClicked">Cancel</Button>
|
||||
<Button ID="btnApplyTrack" Click="OnBtnApplyTrackClicked">Apply</Button>
|
||||
<Button ID="btnEditTrack" Click="OnBtnEditTrackClicked">Edit</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Dump hardware">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkDumpHardware" CheckedChanged="OnChkDumpHardwareToggled">Known dumping hardware</CheckBox>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeDumpHardware" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancelHardware" Click="OnBtnCancelHardwareClicked">Cancel</Button>
|
||||
<Button ID="btnRemoveHardware" Click="OnBtnRemoveHardwareClicked">Remove</Button>
|
||||
<Button ID="btnEditHardware" Click="OnBtnEditHardwareClicked">Edit</Button>
|
||||
<Button ID="btnApplyHardware" Click="OnBtnApplyHardwareClicked">Apply</Button>
|
||||
<Button ID="btnAddHardware" Click="OnBtnAddHardwareClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GroupBox ID="frmHardware">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Manufacturer</Label>
|
||||
<TextBox ID="txtHWManufacturer" />
|
||||
<Label>Model</Label>
|
||||
<TextBox ID="txtHWModel" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Revision</Label>
|
||||
<TextBox ID="txtHWRevision" />
|
||||
<Label>Firmware</Label>
|
||||
<TextBox ID="txtHWFirmware" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Serial number</Label>
|
||||
<TextBox ID="txtHWSerial" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<GroupBox Text="Extents">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeExtents" />
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnRemoveExtent" Click="OnBtnRemoveExtentClicked">Remove</Button>
|
||||
<Button ID="btnAddExtent" Click="OnBtnAddExtentClicked">Add</Button>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Start</Label>
|
||||
<NumericUpDown ID="spExtentStart" />
|
||||
<Label>End</Label>
|
||||
<NumericUpDown ID="spExtentEnd" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
<GroupBox Text="DumpSoftware">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Name</Label>
|
||||
<TextBox ID="txtDumpName" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Version</Label>
|
||||
<TextBox ID="txtDumpVersion" />
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Operating system</Label>
|
||||
<TextBox ID="txtDumpOS" />
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
</TabControl>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClicked">Cancel</Button>
|
||||
<Button ID="btnSave" Click="OnBtnSaveClicked">Save</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="400" Height="250"
|
||||
xmlns:e="clr-namespace:osrepodbmgr.Core;assembly=osrepodbmgr.Core">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Label>Database file</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtDatabase"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnDatabase" Click="OnBtnDatabaseClicked">Choose...</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Label>Repository folder</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtRepository"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnRepository" Click="OnBtnRepositoryClicked">Choose...</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Label>Temporary folder</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtTmp"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnTmp" Click="OnBtnTmpClicked">Choose...</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Label>Path to unar</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtUnar"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnUnar" Click="OnBtnUnarClicked">Choose...</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblUnarVersion" Visible="False">lblUnarVersion</Label>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal" ID="StackLayoutForAlgoEnum">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Label>Compression algorithm</Label>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClicked">Cancel</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnApply" Click="OnBtnApplyClicked">Apply</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
</Dialog>
|
||||
|
||||
@@ -30,14 +30,194 @@ using System.Collections.Generic;
|
||||
using Eto.Forms;
|
||||
using Eto.Drawing;
|
||||
using Eto.Serialization.Xaml;
|
||||
using osrepodbmgr.Core;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
|
||||
namespace osrepodbmgr.Eto
|
||||
{
|
||||
public class dlgSettings : Panel
|
||||
public class dlgSettings : Dialog
|
||||
{
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
TextBox txtTmp;
|
||||
TextBox txtUnar;
|
||||
TextBox txtDatabase;
|
||||
TextBox txtRepository;
|
||||
Label lblUnarVersion;
|
||||
EnumDropDown<AlgoEnum> cmbCompAlg;
|
||||
StackLayout StackLayoutForAlgoEnum;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
|
||||
string oldUnarPath;
|
||||
|
||||
public dlgSettings()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
txtTmp.Text = Settings.Current.TemporaryFolder;
|
||||
txtUnar.Text = Settings.Current.UnArchiverPath;
|
||||
txtDatabase.Text = Settings.Current.DatabasePath;
|
||||
txtRepository.Text = Settings.Current.RepositoryPath;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(txtUnar.Text))
|
||||
CheckUnar();
|
||||
|
||||
cmbCompAlg = new EnumDropDown<AlgoEnum>();
|
||||
StackLayoutForAlgoEnum.Items.Add(new StackLayoutItem(cmbCompAlg, HorizontalAlignment.Stretch, true));
|
||||
cmbCompAlg.SelectedValue = Settings.Current.CompressionAlgorithm;
|
||||
}
|
||||
|
||||
protected void OnBtnCancelClicked(object sender, EventArgs e)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
protected void OnBtnApplyClicked(object sender, EventArgs e)
|
||||
{
|
||||
// TODO: Check sanity
|
||||
Settings.Current.TemporaryFolder = txtTmp.Text;
|
||||
Settings.Current.UnArchiverPath = txtUnar.Text;
|
||||
Settings.Current.DatabasePath = txtDatabase.Text;
|
||||
Settings.Current.RepositoryPath = txtRepository.Text;
|
||||
Settings.Current.CompressionAlgorithm = cmbCompAlg.SelectedValue;
|
||||
Settings.SaveSettings();
|
||||
Workers.CloseDB();
|
||||
Workers.InitDB();
|
||||
Context.CheckUnar();
|
||||
Close();
|
||||
}
|
||||
|
||||
protected void OnBtnUnarClicked(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog dlgFile = new OpenFileDialog();
|
||||
dlgFile.Title = "Choose UnArchiver executable";
|
||||
dlgFile.MultiSelect = false;
|
||||
dlgFile.Directory = new Uri(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
|
||||
|
||||
if(dlgFile.ShowDialog(this) == DialogResult.Ok)
|
||||
{
|
||||
txtUnar.Text = dlgFile.FileName;
|
||||
lblUnarVersion.Visible = false;
|
||||
CheckUnar();
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnBtnTmpClicked(object sender, EventArgs e)
|
||||
{
|
||||
SelectFolderDialog dlgFolder = new SelectFolderDialog();
|
||||
dlgFolder.Title = "Choose temporary folder";
|
||||
dlgFolder.Directory = System.IO.Path.GetTempPath();
|
||||
|
||||
if(dlgFolder.ShowDialog(this) == DialogResult.Ok)
|
||||
txtTmp.Text = dlgFolder.Directory;
|
||||
}
|
||||
|
||||
protected void OnBtnRepositoryClicked(object sender, EventArgs e)
|
||||
{
|
||||
SelectFolderDialog dlgFolder = new SelectFolderDialog();
|
||||
dlgFolder.Title = "Choose repository folder";
|
||||
dlgFolder.Directory = System.IO.Path.GetTempPath();
|
||||
|
||||
if(dlgFolder.ShowDialog(this) == DialogResult.Ok)
|
||||
txtRepository.Text = dlgFolder.Directory;
|
||||
}
|
||||
|
||||
protected void OnBtnDatabaseClicked(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog dlgFile = new SaveFileDialog();
|
||||
dlgFile.Title = "Choose database to open/create";
|
||||
dlgFile.Directory = new Uri(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
|
||||
dlgFile.CheckFileExists = false;
|
||||
dlgFile.FileName = "osrepodbmgr.db";
|
||||
|
||||
if(dlgFile.ShowDialog(this) == DialogResult.Ok)
|
||||
{
|
||||
if(File.Exists(dlgFile.FileName))
|
||||
{
|
||||
DBCore _dbCore = new SQLite();
|
||||
bool notDb = false;
|
||||
|
||||
try
|
||||
{
|
||||
notDb |= !_dbCore.OpenDB(dlgFile.FileName, null, null, null);
|
||||
}
|
||||
catch
|
||||
{
|
||||
notDb = true;
|
||||
}
|
||||
|
||||
if(notDb)
|
||||
{
|
||||
MessageBox.Show("Cannot open specified file as a database, please choose another.", MessageBoxType.Error);
|
||||
return;
|
||||
}
|
||||
_dbCore.CloseDB();
|
||||
}
|
||||
else
|
||||
{
|
||||
DBCore _dbCore = new SQLite();
|
||||
bool notDb = false;
|
||||
|
||||
try
|
||||
{
|
||||
notDb |= !_dbCore.CreateDB(dlgFile.FileName, null, null, null);
|
||||
}
|
||||
catch
|
||||
{
|
||||
notDb = true;
|
||||
}
|
||||
|
||||
if(notDb)
|
||||
{
|
||||
MessageBox.Show("Cannot create a database in the specified file as a database.", MessageBoxType.Error);
|
||||
return;
|
||||
}
|
||||
_dbCore.CloseDB();
|
||||
}
|
||||
|
||||
txtDatabase.Text = dlgFile.FileName;
|
||||
}
|
||||
}
|
||||
|
||||
void CheckUnar()
|
||||
{
|
||||
Workers.FinishedWithText += CheckUnarFinished;
|
||||
Workers.Failed += CheckUnarFailed;
|
||||
|
||||
oldUnarPath = Settings.Current.UnArchiverPath;
|
||||
Settings.Current.UnArchiverPath = txtUnar.Text;
|
||||
Thread thdCheckUnar = new Thread(Workers.CheckUnar);
|
||||
thdCheckUnar.Start();
|
||||
}
|
||||
|
||||
void CheckUnarFinished(string text)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
Workers.FinishedWithText -= CheckUnarFinished;
|
||||
Workers.Failed -= CheckUnarFailed;
|
||||
|
||||
lblUnarVersion.Text = text;
|
||||
lblUnarVersion.Visible = true;
|
||||
Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
});
|
||||
}
|
||||
|
||||
void CheckUnarFailed(string text)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
Workers.FinishedWithText -= CheckUnarFinished;
|
||||
Workers.Failed -= CheckUnarFailed;
|
||||
|
||||
if(string.IsNullOrWhiteSpace(oldUnarPath))
|
||||
txtUnar.Text = "";
|
||||
else
|
||||
txtUnar.Text = oldUnarPath;
|
||||
Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
MessageBox.Show(text, MessageBoxType.Error);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Panel xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
<StackLayout>
|
||||
<Label>Some Content</Label>
|
||||
<Form xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="365" Width="612">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<GroupBox Text="Operating systems">
|
||||
<GridView ID="treeOSes" Enabled="False"></GridView>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<Label ID="lblProgress">lblProgress</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<Label ID="lblProgress2" Visible="False">lblProgress2</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress2" Visible="False"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button x:Name="btnAdd" Click="OnBtnAddClicked" Visible="False">Add</Button>
|
||||
<Button x:Name="btnRemove" Click="OnBtnRemoveClicked" Visible="False">Remove</Button>
|
||||
<Button x:Name="btnStop" Click="OnBtnStopClicked" Visible="False">Stop</Button>
|
||||
<Button x:Name="btnCompress" Click="OnBtnCompressClicked" Visible="False">Compress to</Button>
|
||||
<Button x:Name="btnSave" Click="OnBtnSaveClicked" Visible="False">Save As</Button>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
<Form.Menu>
|
||||
<MenuBar>
|
||||
<ButtonMenuItem Text="&File" ID="mnuFile">
|
||||
<ButtonMenuItem Text="Add" Click="OnBtnAddClicked" Shortcut="CommonModifier+A"/>
|
||||
<ButtonMenuItem Text="Remove" Click="OnBtnRemoveClicked" Shortcut="CommonModifier+R"/>
|
||||
<ButtonMenuItem Text="Save As" Click="OnBtnSaveClicked" Shortcut="CommonModifier+S"/>
|
||||
<ButtonMenuItem Text="Compress" Click="OnBtnCompressClicked" Shortcut="CommonModifier+E"/>
|
||||
</ButtonMenuItem>
|
||||
<ButtonMenuItem Text="Help" ID="btnHelp" Click="OnBtnHelpClicked"/>
|
||||
<MenuBar.ApplicationItems>
|
||||
<ButtonMenuItem ID="btnSettings" Text="Preferences..." Click="OnBtnSettingsClicked" Shortcut="{On Control+O, Mac=Application+Comma}"/>
|
||||
</MenuBar.ApplicationItems>
|
||||
<MenuBar.QuitItem>
|
||||
<ButtonMenuItem ID="btnQuit" Text="Quit" Click="OnBtnQuitClicked" Shortcut="CommonModifier+Q"/>
|
||||
</MenuBar.QuitItem>
|
||||
</MenuBar>
|
||||
</Form.Menu>
|
||||
</Form>
|
||||
|
||||
@@ -30,14 +30,486 @@ using System.Collections.Generic;
|
||||
using Eto.Forms;
|
||||
using Eto.Drawing;
|
||||
using Eto.Serialization.Xaml;
|
||||
using osrepodbmgr.Core;
|
||||
using System.Threading;
|
||||
using Eto;
|
||||
using System.Collections.ObjectModel;
|
||||
|
||||
namespace osrepodbmgr.Eto
|
||||
{
|
||||
public class frmMain : Panel
|
||||
public class frmMain : Form
|
||||
{
|
||||
Thread thdPopulateOSes;
|
||||
Thread thdCompressTo;
|
||||
Thread thdSaveAs;
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
GridView treeOSes;
|
||||
Label lblProgress;
|
||||
ProgressBar prgProgress;
|
||||
Label lblProgress2;
|
||||
ProgressBar prgProgress2;
|
||||
Button btnAdd;
|
||||
Button btnRemove;
|
||||
Button btnCompress;
|
||||
Button btnSave;
|
||||
Button btnStop;
|
||||
ButtonMenuItem btnSettings;
|
||||
ButtonMenuItem btnHelp;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
|
||||
ObservableCollection<DBEntryForEto> lstOSes;
|
||||
|
||||
public frmMain()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
|
||||
Workers.InitDB();
|
||||
|
||||
lstOSes = new ObservableCollection<DBEntryForEto>();
|
||||
|
||||
treeOSes.DataStore = lstOSes;
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.developer) },
|
||||
HeaderText = "Developer"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.product) },
|
||||
HeaderText = "Product"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.version) },
|
||||
HeaderText = "Version"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.languages) },
|
||||
HeaderText = "Languages"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.architecture) },
|
||||
HeaderText = "Architecture"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.machine) },
|
||||
HeaderText = "Machine"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.format) },
|
||||
HeaderText = "Format"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell { Binding = Binding.Property<DBEntryForEto, string>(r => r.description) },
|
||||
HeaderText = "Description"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new CheckBoxCell { Binding = Binding.Property<DBEntryForEto, bool?>(r => r.oem) },
|
||||
HeaderText = "OEM?"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new CheckBoxCell { Binding = Binding.Property<DBEntryForEto, bool?>(r => r.upgrade) },
|
||||
HeaderText = "Upgrade?"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new CheckBoxCell { Binding = Binding.Property<DBEntryForEto, bool?>(r => r.update) },
|
||||
HeaderText = "Update?"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new CheckBoxCell { Binding = Binding.Property<DBEntryForEto, bool?>(r => r.source) },
|
||||
HeaderText = "Source?"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new CheckBoxCell { Binding = Binding.Property<DBEntryForEto, bool?>(r => r.files) },
|
||||
HeaderText = "Files?"
|
||||
});
|
||||
treeOSes.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new CheckBoxCell { Binding = Binding.Property<DBEntryForEto, bool?>(r => r.netinstall) },
|
||||
HeaderText = "NetInstall?"
|
||||
});
|
||||
|
||||
treeOSes.AllowMultipleSelection = false;
|
||||
|
||||
prgProgress.Indeterminate = true;
|
||||
|
||||
Workers.Failed += LoadOSesFailed;
|
||||
Workers.Finished += LoadOSesFinished;
|
||||
Workers.UpdateProgress += UpdateProgress;
|
||||
Workers.AddOS += AddOS;
|
||||
thdPopulateOSes = new Thread(Workers.GetAllOSes);
|
||||
thdPopulateOSes.Start();
|
||||
}
|
||||
|
||||
void LoadOSesFailed(string text)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
MessageBox.Show(string.Format("Error {0} when populating OSes file, exiting...", text), MessageBoxButtons.OK, MessageBoxType.Error, MessageBoxDefaultButton.OK);
|
||||
if(thdPopulateOSes != null)
|
||||
{
|
||||
thdPopulateOSes.Abort();
|
||||
thdPopulateOSes = null;
|
||||
}
|
||||
Workers.Failed -= LoadOSesFailed;
|
||||
Workers.Finished -= LoadOSesFinished;
|
||||
Workers.UpdateProgress -= UpdateProgress;
|
||||
Application.Instance.Quit();
|
||||
});
|
||||
}
|
||||
|
||||
void LoadOSesFinished()
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
if(thdPopulateOSes != null)
|
||||
{
|
||||
thdPopulateOSes.Abort();
|
||||
thdPopulateOSes = null;
|
||||
}
|
||||
Workers.Failed -= LoadOSesFailed;
|
||||
Workers.Finished -= LoadOSesFinished;
|
||||
Workers.UpdateProgress -= UpdateProgress;
|
||||
Workers.AddOS -= AddOS;
|
||||
lblProgress.Visible = false;
|
||||
prgProgress.Visible = false;
|
||||
treeOSes.Enabled = true;
|
||||
btnAdd.Visible = true;
|
||||
btnRemove.Visible = true;
|
||||
btnCompress.Visible = true;
|
||||
btnSave.Visible = true;
|
||||
btnHelp.Enabled = true;
|
||||
btnSettings.Enabled = true;
|
||||
});
|
||||
}
|
||||
|
||||
public void UpdateProgress(string text, string inner, long current, long maximum)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(inner))
|
||||
lblProgress.Text = inner;
|
||||
else
|
||||
lblProgress.Text = text;
|
||||
if(maximum > 0)
|
||||
{
|
||||
prgProgress.Indeterminate = false;
|
||||
prgProgress.MinValue = 0;
|
||||
prgProgress.MaxValue = (int)maximum;
|
||||
prgProgress.Value = (int)current;
|
||||
}
|
||||
else
|
||||
prgProgress.Indeterminate = true;
|
||||
});
|
||||
}
|
||||
|
||||
public void UpdateProgress2(string text, string inner, long current, long maximum)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
if(!string.IsNullOrWhiteSpace(inner))
|
||||
lblProgress2.Text = inner;
|
||||
else
|
||||
lblProgress2.Text = text;
|
||||
if(maximum > 0)
|
||||
{
|
||||
prgProgress2.Indeterminate = false;
|
||||
prgProgress2.MinValue = 0;
|
||||
prgProgress2.MaxValue = (int)maximum;
|
||||
prgProgress2.Value = (int)current;
|
||||
}
|
||||
else
|
||||
prgProgress2.Indeterminate = true;
|
||||
});
|
||||
}
|
||||
|
||||
void AddOS(DBEntry os, bool existsInRepo, string pathInRepo)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
lstOSes.Add(new DBEntryForEto(os));
|
||||
});
|
||||
}
|
||||
|
||||
protected void OnBtnAddClicked(object sender, EventArgs e)
|
||||
{
|
||||
dlgAdd _dlgAdd = new dlgAdd();
|
||||
_dlgAdd.OnAddedOS += (os, existsInRepo, pathInRepo) =>
|
||||
{
|
||||
Color color = existsInRepo ? Colors.Green : Colors.Red;
|
||||
lstOSes.Add(new DBEntryForEto(os));
|
||||
};
|
||||
_dlgAdd.ShowModal(this);
|
||||
}
|
||||
|
||||
protected void OnBtnRemoveClicked(object sender, EventArgs e)
|
||||
{
|
||||
if(treeOSes.SelectedItem != null)
|
||||
{
|
||||
if(MessageBox.Show("Are you sure you want to remove the selected OS?", MessageBoxButtons.YesNo, MessageBoxType.Question,
|
||||
MessageBoxDefaultButton.No) == DialogResult.Yes)
|
||||
{
|
||||
Workers.RemoveOS(((DBEntryForEto)treeOSes.SelectedItem).id, ((DBEntryForEto)treeOSes.SelectedItem).mdid);
|
||||
lstOSes.Remove((DBEntryForEto)treeOSes.SelectedItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnBtnSaveClicked(object sender, EventArgs e)
|
||||
{
|
||||
if(treeOSes.SelectedItem != null)
|
||||
{
|
||||
SelectFolderDialog dlgFolder = new SelectFolderDialog();
|
||||
dlgFolder.Title = "Save to...";
|
||||
if(dlgFolder.ShowDialog(this) == DialogResult.Ok)
|
||||
{
|
||||
Context.dbInfo.id = ((DBEntryForEto)treeOSes.SelectedItem).id;
|
||||
Context.path = dlgFolder.Directory;
|
||||
|
||||
lblProgress.Visible = true;
|
||||
prgProgress.Visible = true;
|
||||
lblProgress2.Visible = true;
|
||||
prgProgress2.Visible = true;
|
||||
treeOSes.Enabled = false;
|
||||
btnAdd.Visible = false;
|
||||
btnRemove.Visible = false;
|
||||
btnCompress.Visible = false;
|
||||
btnSave.Visible = false;
|
||||
btnHelp.Enabled = true;
|
||||
btnSettings.Enabled = false;
|
||||
btnStop.Visible = true;
|
||||
|
||||
Workers.Failed += SaveAsFailed;
|
||||
Workers.Finished += SaveAsFinished;
|
||||
Workers.UpdateProgress += UpdateProgress;
|
||||
Workers.UpdateProgress2 += UpdateProgress2;
|
||||
thdSaveAs = new Thread(Workers.SaveAs);
|
||||
thdSaveAs.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveAsFailed(string text)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
MessageBox.Show(text, MessageBoxButtons.OK, MessageBoxType.Error);
|
||||
if(thdSaveAs != null)
|
||||
{
|
||||
thdSaveAs.Abort();
|
||||
thdSaveAs = null;
|
||||
}
|
||||
|
||||
lblProgress.Visible = false;
|
||||
prgProgress.Visible = false;
|
||||
lblProgress2.Visible = false;
|
||||
prgProgress2.Visible = false;
|
||||
treeOSes.Enabled = true;
|
||||
btnAdd.Visible = true;
|
||||
btnRemove.Visible = true;
|
||||
btnCompress.Visible = true;
|
||||
btnSave.Visible = true;
|
||||
btnHelp.Enabled = true;
|
||||
btnSettings.Enabled = true;
|
||||
btnStop.Visible = false;
|
||||
|
||||
Workers.Failed -= SaveAsFailed;
|
||||
Workers.Finished -= SaveAsFinished;
|
||||
Workers.UpdateProgress -= UpdateProgress;
|
||||
Workers.UpdateProgress2 -= UpdateProgress2;
|
||||
|
||||
Context.path = null;
|
||||
});
|
||||
}
|
||||
|
||||
public void SaveAsFinished()
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
if(thdSaveAs != null)
|
||||
{
|
||||
thdSaveAs.Abort();
|
||||
thdSaveAs = null;
|
||||
}
|
||||
|
||||
lblProgress.Visible = false;
|
||||
prgProgress.Visible = false;
|
||||
lblProgress2.Visible = false;
|
||||
prgProgress2.Visible = false;
|
||||
treeOSes.Enabled = true;
|
||||
btnAdd.Visible = true;
|
||||
btnRemove.Visible = true;
|
||||
btnCompress.Visible = true;
|
||||
btnSave.Visible = true;
|
||||
btnHelp.Enabled = true;
|
||||
btnSettings.Enabled = true;
|
||||
btnStop.Visible = false;
|
||||
|
||||
Workers.Failed -= SaveAsFailed;
|
||||
Workers.Finished -= SaveAsFinished;
|
||||
Workers.UpdateProgress -= UpdateProgress;
|
||||
|
||||
MessageBox.Show(string.Format("Correctly saved to {0}", Context.path));
|
||||
|
||||
Context.path = null;
|
||||
});
|
||||
}
|
||||
|
||||
protected void OnBtnHelpClicked(object sender, EventArgs e)
|
||||
{
|
||||
dlgHelp _dlgHelp = new dlgHelp();
|
||||
_dlgHelp.ShowModal();
|
||||
}
|
||||
|
||||
protected void OnBtnSettingsClicked(object sender, EventArgs e)
|
||||
{
|
||||
dlgSettings _dlgSettings = new dlgSettings();
|
||||
_dlgSettings.ShowModal();
|
||||
}
|
||||
|
||||
protected void OnBtnQuitClicked(object sender, EventArgs e)
|
||||
{
|
||||
OnBtnStopClicked(sender, e);
|
||||
Application.Instance.Quit();
|
||||
}
|
||||
|
||||
protected void OnBtnStopClicked(object sender, EventArgs e)
|
||||
{
|
||||
if(thdPopulateOSes != null)
|
||||
{
|
||||
thdPopulateOSes.Abort();
|
||||
thdPopulateOSes = null;
|
||||
}
|
||||
if(thdCompressTo != null)
|
||||
{
|
||||
thdPopulateOSes.Abort();
|
||||
thdPopulateOSes = null;
|
||||
}
|
||||
if(thdSaveAs != null)
|
||||
{
|
||||
thdSaveAs.Abort();
|
||||
thdSaveAs = null;
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnDeleteEvent(object sender, EventArgs e)
|
||||
{
|
||||
OnBtnStopClicked(sender, e);
|
||||
}
|
||||
|
||||
protected void OnBtnCompressClicked(object sender, EventArgs e)
|
||||
{
|
||||
if(treeOSes.SelectedItem != null)
|
||||
{
|
||||
SaveFileDialog dlgFile = new SaveFileDialog();
|
||||
dlgFile.Title = "Compress to...";
|
||||
|
||||
if(dlgFile.ShowDialog(this) == DialogResult.Ok)
|
||||
{
|
||||
Context.dbInfo.id = ((DBEntryForEto)treeOSes.SelectedItem).id;
|
||||
Context.path = dlgFile.FileName;
|
||||
|
||||
lblProgress.Visible = true;
|
||||
prgProgress.Visible = true;
|
||||
lblProgress2.Visible = true;
|
||||
prgProgress2.Visible = true;
|
||||
treeOSes.Enabled = false;
|
||||
btnAdd.Visible = false;
|
||||
btnRemove.Visible = false;
|
||||
btnCompress.Visible = false;
|
||||
btnSave.Visible = false;
|
||||
//btnHelp.Visible = false;
|
||||
btnSettings.Enabled = false;
|
||||
btnStop.Visible = true;
|
||||
|
||||
Workers.Failed += CompressToFailed;
|
||||
Workers.Finished += CompressToFinished;
|
||||
Workers.UpdateProgress += UpdateProgress;
|
||||
Workers.UpdateProgress2 += UpdateProgress2;
|
||||
thdCompressTo = new Thread(Workers.CompressTo);
|
||||
thdCompressTo.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void CompressToFailed(string text)
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
MessageBox.Show(text, MessageBoxButtons.OK, MessageBoxType.Error);
|
||||
if(thdCompressTo != null)
|
||||
{
|
||||
thdCompressTo.Abort();
|
||||
thdCompressTo = null;
|
||||
}
|
||||
|
||||
lblProgress.Visible = false;
|
||||
lblProgress2.Visible = false;
|
||||
prgProgress.Visible = false;
|
||||
prgProgress2.Visible = false;
|
||||
treeOSes.Enabled = true;
|
||||
btnAdd.Visible = true;
|
||||
btnRemove.Visible = true;
|
||||
btnCompress.Visible = true;
|
||||
btnSave.Visible = true;
|
||||
btnHelp.Enabled = true;
|
||||
btnSettings.Enabled = true;
|
||||
btnStop.Visible = false;
|
||||
|
||||
Workers.Failed -= CompressToFailed;
|
||||
Workers.Finished -= CompressToFinished;
|
||||
Workers.UpdateProgress -= UpdateProgress;
|
||||
Workers.UpdateProgress2 -= UpdateProgress2;
|
||||
|
||||
Context.path = null;
|
||||
});
|
||||
}
|
||||
|
||||
public void CompressToFinished()
|
||||
{
|
||||
Application.Instance.Invoke(delegate
|
||||
{
|
||||
if(thdCompressTo != null)
|
||||
{
|
||||
thdCompressTo.Abort();
|
||||
thdCompressTo = null;
|
||||
}
|
||||
|
||||
lblProgress.Visible = false;
|
||||
lblProgress2.Visible = false;
|
||||
prgProgress.Visible = false;
|
||||
prgProgress2.Visible = false;
|
||||
treeOSes.Enabled = true;
|
||||
btnAdd.Visible = true;
|
||||
btnRemove.Visible = true;
|
||||
btnCompress.Visible = true;
|
||||
btnSave.Visible = true;
|
||||
btnHelp.Enabled = true;
|
||||
btnSettings.Enabled = true;
|
||||
btnStop.Visible = false;
|
||||
|
||||
Workers.Failed -= CompressToFailed;
|
||||
Workers.Finished -= CompressToFinished;
|
||||
Workers.UpdateProgress -= UpdateProgress;
|
||||
Workers.UpdateProgress2 -= UpdateProgress2;
|
||||
|
||||
MessageBox.Show(string.Format("Correctly compressed as {0}", Context.path));
|
||||
|
||||
Context.path = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,12 +26,70 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="MainForm.xeto.cs">
|
||||
<DependentUpon>MainForm.xeto</DependentUpon>
|
||||
<Compile Include="frmMain.xeto.cs">
|
||||
<DependentUpon>frmMain.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgHelp.xeto.cs">
|
||||
<DependentUpon>dlgHelp.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgSettings.xeto.cs">
|
||||
<DependentUpon>dlgSettings.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgAdd.xeto.cs">
|
||||
<DependentUpon>dlgAdd.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgMetadata.xeto.cs">
|
||||
<DependentUpon>dlgMetadata.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgFilesystem.xeto.cs">
|
||||
<DependentUpon>dlgFilesystem.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgBlockMedia.xeto.cs">
|
||||
<DependentUpon>dlgBlockMedia.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgOpticalDisc.xeto.cs">
|
||||
<DependentUpon>dlgOpticalDisc.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WrappersForEto.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="MainForm.xeto" />
|
||||
<Reference Include="Eto">
|
||||
<HintPath>..\packages\Eto.Forms.2.3.0\lib\net45\Eto.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Portable.Xaml">
|
||||
<HintPath>..\packages\Portable.Xaml.0.14.0\lib\dotnet\Portable.Xaml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Eto.Serialization.Xaml">
|
||||
<HintPath>..\packages\Eto.Serialization.Xaml.2.3.0\lib\net45\Eto.Serialization.Xaml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Newtonsoft.Json">
|
||||
<HintPath>..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="frmMain.xeto" />
|
||||
<EmbeddedResource Include="dlgHelp.xeto" />
|
||||
<EmbeddedResource Include="dlgSettings.xeto" />
|
||||
<EmbeddedResource Include="dlgAdd.xeto" />
|
||||
<EmbeddedResource Include="dlgMetadata.xeto" />
|
||||
<EmbeddedResource Include="dlgFilesystem.xeto" />
|
||||
<EmbeddedResource Include="dlgBlockMedia.xeto" />
|
||||
<EmbeddedResource Include="dlgOpticalDisc.xeto" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\osrepodbmgr.Core\osrepodbmgr.Core.csproj">
|
||||
<Project>{076D5C4D-9601-4164-B979-0DABACB56BB8}</Project>
|
||||
<Name>osrepodbmgr.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DiscImageChef\DiscImageChef.Metadata\DiscImageChef.Metadata.csproj">
|
||||
<Project>{9F213318-5CB8-4066-A757-074489C9F818}</Project>
|
||||
<Name>DiscImageChef.Metadata</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,4 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Eto.Forms" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Eto.Serialization.Xaml" version="2.3.0" targetFramework="net45" />
|
||||
<package id="Newtonsoft.Json" version="10.0.2" targetFramework="net45" />
|
||||
<package id="Portable.Xaml" version="0.14.0" targetFramework="net45" />
|
||||
</packages>
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2012
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr", "osrepodbmgr\osrepodbmgr.csproj", "{19FB7436-031F-42B3-87F6-8508F63EDADA}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr.Gtk", "osrepodbmgr\osrepodbmgr.Gtk.csproj", "{19FB7436-031F-42B3-87F6-8508F63EDADA}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Checksums", "DiscImageChef\DiscImageChef.Checksums\DiscImageChef.Checksums.csproj", "{CC48B324-A532-4A45-87A6-6F91F7141E8D}"
|
||||
EndProject
|
||||
@@ -27,6 +27,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DiscImageChef.Metadata", "D
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr.Core", "osrepodbmgr.Core\osrepodbmgr.Core.csproj", "{076D5C4D-9601-4164-B979-0DABACB56BB8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr.Eto", "osrepodbmgr.Eto\osrepodbmgr.Eto.csproj", "{E805559F-89AE-47B4-926D-5B63A4F3A123}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr.Eto.Desktop", "osrepodbmgr.Eto.Desktop\osrepodbmgr.Eto.Desktop.csproj", "{DCC4B0CF-0F0D-4EDA-87CB-ED8303D07555}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osrepodbmgr.Eto.XamMac2", "osrepodbmgr.Eto.XamMac2\osrepodbmgr.Eto.XamMac2.csproj", "{FE0C10AD-1C0D-490F-B1BF-9702A5B01074}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x86 = Debug|x86
|
||||
@@ -85,6 +91,18 @@ Global
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{076D5C4D-9601-4164-B979-0DABACB56BB8}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E805559F-89AE-47B4-926D-5B63A4F3A123}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E805559F-89AE-47B4-926D-5B63A4F3A123}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E805559F-89AE-47B4-926D-5B63A4F3A123}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E805559F-89AE-47B4-926D-5B63A4F3A123}.Release|x86.Build.0 = Release|Any CPU
|
||||
{DCC4B0CF-0F0D-4EDA-87CB-ED8303D07555}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{DCC4B0CF-0F0D-4EDA-87CB-ED8303D07555}.Debug|x86.Build.0 = Debug|x86
|
||||
{DCC4B0CF-0F0D-4EDA-87CB-ED8303D07555}.Release|x86.ActiveCfg = Release|x86
|
||||
{DCC4B0CF-0F0D-4EDA-87CB-ED8303D07555}.Release|x86.Build.0 = Release|x86
|
||||
{FE0C10AD-1C0D-490F-B1BF-9702A5B01074}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{FE0C10AD-1C0D-490F-B1BF-9702A5B01074}.Debug|x86.Build.0 = Debug|x86
|
||||
{FE0C10AD-1C0D-490F-B1BF-9702A5B01074}.Release|x86.ActiveCfg = Release|x86
|
||||
{FE0C10AD-1C0D-490F-B1BF-9702A5B01074}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
Policies = $0
|
||||
|
||||
Reference in New Issue
Block a user