Remove unneeded files
This commit is contained in:
145
ChangeLog
145
ChangeLog
@@ -1,145 +0,0 @@
|
||||
* packages.config:
|
||||
* osrepodbmgr.Eto.csproj:
|
||||
Updated nuget packages.
|
||||
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
* dlgMetadata.xeto.cs:
|
||||
Corrected progress bars when value is outside of int bounds.
|
||||
|
||||
* dlgMetadata.xeto:
|
||||
* dlgMetadata.xeto.cs:
|
||||
* dlgOpticalDisc.xeto:
|
||||
* dlgBlockMedia.xeto.cs:
|
||||
* dlgOpticalDisc.xeto.cs:
|
||||
Updated DIC and Metadata code.
|
||||
|
||||
2017-05-21 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto.cs:
|
||||
* dlgOpticalDisc.xeto.cs:
|
||||
Corrected some NULL exceptions on GUI.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto.cs:
|
||||
Don't readd delegates every time.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto:
|
||||
* frmMain.xeto:
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
* packages.config:
|
||||
* dlgSettings.xeto.cs:
|
||||
Refactor: Format document.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
Corrected delegate.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto:
|
||||
* frmMain.xeto:
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
Added status fields.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto.cs:
|
||||
* dlgBlockMedia.xeto:
|
||||
* dlgBlockMedia.xeto.cs:
|
||||
* dlgOpticalDisc.xeto.cs:
|
||||
Corrected GUI behaviour.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto:
|
||||
* dlgHelp.xeto:
|
||||
* frmMain.xeto:
|
||||
* dlgMetadata.xeto:
|
||||
* dlgSettings.xeto:
|
||||
* dlgFilesystem.xeto:
|
||||
Added window titles.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
Do not color OS tables. Has no sense to be on the opaque
|
||||
repo.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto:
|
||||
* frmMain.xeto.cs:
|
||||
Added code to clean database and repository.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto.cs:
|
||||
Make sure the OnBtnPopulateFilesClicked() is called.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto:
|
||||
* frmMain.xeto.cs:
|
||||
Added an option to scan all pending files with clamd.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
Corrected GUI behaviour.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto.cs:
|
||||
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto.cs:
|
||||
Added progress messages to clamd core.
|
||||
|
||||
2017-05-19 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto.cs:
|
||||
* dlgSettings.xeto:
|
||||
* dlgSettings.xeto.cs:
|
||||
Added support for VirusTotal.
|
||||
|
||||
2017-05-18 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto:
|
||||
* frmMain.xeto.cs:
|
||||
* dlgSettings.xeto:
|
||||
* dlgSettings.xeto.cs:
|
||||
Added support for clamd scanning.
|
||||
|
||||
2017-05-18 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgAdd.xeto:
|
||||
* frmMain.xeto:
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
Added support for marking/unmarking/detecting cracks.
|
||||
|
||||
2017-05-18 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* frmMain.xeto:
|
||||
* dlgAdd.xeto.cs:
|
||||
* frmMain.xeto.cs:
|
||||
|
||||
|
||||
2017-05-18 Natalia Portillo <claunia@claunia.com>
|
||||
|
||||
* dlgSettings.xeto.cs:
|
||||
If program files folder does not exist do not try to create
|
||||
an Uri from null.
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
//
|
||||
// Author:
|
||||
// Natalia Portillo claunia@claunia.com
|
||||
//
|
||||
// Copyright (c) 2017, © Claunia.com
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
|
||||
// the documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the [ORGANIZATION] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
// Information about this assembly is defined by the following attributes.
|
||||
// Change them to the values specific to your project.
|
||||
|
||||
[assembly: AssemblyTitle("apprepodbmgr.Eto")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Claunia.com")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("© Claunia.com")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
|
||||
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
|
||||
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
// The following attributes are used to specify the signing key for the assembly,
|
||||
// if desired. See the Mono documentation for more information about signing.
|
||||
|
||||
//[assembly: AssemblyDelaySign(false)]
|
||||
//[assembly: AssemblyKeyFile("")]
|
||||
@@ -1,169 +0,0 @@
|
||||
//
|
||||
// Author:
|
||||
// Natalia Portillo claunia@claunia.com
|
||||
//
|
||||
// Copyright (c) 2017, © Claunia.com
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
|
||||
// the documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the [ORGANIZATION] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
using apprepodbmgr.Core;
|
||||
using Schemas;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
class DBEntryForEto
|
||||
{
|
||||
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 targetos
|
||||
{
|
||||
get { return _item.TargetOs; }
|
||||
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 Installer
|
||||
{
|
||||
get { return _item.Installer; }
|
||||
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; }
|
||||
}
|
||||
|
||||
class TargetOsEntry
|
||||
{
|
||||
public string name { get; set; }
|
||||
public string version { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{E805559F-89AE-47B4-926D-5B63A4F3A123}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>apprepodbmgr.Eto</RootNamespace>
|
||||
<AssemblyName>apprepodbmgr.Eto</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="frmMain.xeto.cs">
|
||||
<DependentUpon>frmMain.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" />
|
||||
<Compile Include="dlgImportMetadata.xeto.cs">
|
||||
<DependentUpon>dlgImportMetadata.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="pnlDescription.xeto.cs">
|
||||
<DependentUpon>pnlDescription.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="pnlStrings.xeto.cs">
|
||||
<DependentUpon>pnlStrings.xeto</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="pnlVersions.xeto.cs">
|
||||
<DependentUpon>pnlVersions.xeto</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Claunia.Encoding, Version=1.6.1.0, Culture=neutral, PublicKeyToken=null">
|
||||
<HintPath>..\packages\Claunia.Encoding.1.6.1\lib\portable40-net40+sl5+win8+wp8\Claunia.Encoding.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Eto, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null">
|
||||
<HintPath>..\packages\Eto.Forms.2.4.1\lib\netstandard1.0\Eto.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Eto.Serialization.Xaml, Version=2.4.0.0, Culture=neutral, PublicKeyToken=null">
|
||||
<HintPath>..\packages\Eto.Serialization.Xaml.2.4.1\lib\netstandard1.0\Eto.Serialization.Xaml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="libexeinfo, Version=1.0.6649.29678, Culture=neutral, PublicKeyToken=null">
|
||||
<HintPath>..\packages\libexeinfo.0.5.0\lib\net46\libexeinfo.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed">
|
||||
<HintPath>..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Portable.Xaml, Version=0.21.0.0, Culture=neutral, PublicKeyToken=ba4456acace7dab7">
|
||||
<HintPath>..\packages\Portable.Xaml.0.21.0\lib\netstandard1.0\Portable.Xaml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.ComponentModel.Primitives, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.ComponentModel.Primitives.4.3.0\lib\net45\System.ComponentModel.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.TypeConverter, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.ComponentModel.TypeConverter.4.3.0\lib\net45\System.ComponentModel.TypeConverter.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.Net.Http.4.3.2\lib\net46\System.Net.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">
|
||||
<HintPath>..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="frmMain.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" />
|
||||
<EmbeddedResource Include="dlgImportMetadata.xeto" />
|
||||
<EmbeddedResource Include="pnlDescription.xeto" />
|
||||
<EmbeddedResource Include="pnlStrings.xeto" />
|
||||
<EmbeddedResource Include="pnlVersions.xeto" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\apprepodbmgr.Core\apprepodbmgr.Core.csproj">
|
||||
<Project>{076D5C4D-9601-4164-B979-0DABACB56BB8}</Project>
|
||||
<Name>apprepodbmgr.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" />
|
||||
<Import Project="..\packages\Eto.Forms.2.4.1\build\Eto.Forms.targets" Condition="Exists('..\packages\Eto.Forms.2.4.1\build\Eto.Forms.targets')" />
|
||||
<Import Project="..\packages\Eto.Serialization.Xaml.2.4.1\build\Eto.Serialization.Xaml.targets" Condition="Exists('..\packages\Eto.Serialization.Xaml.2.4.1\build\Eto.Serialization.Xaml.targets')" />
|
||||
<Import Project="..\packages\NETStandard.Library.2.0.1\build\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.1\build\NETStandard.Library.targets')" />
|
||||
</Project>
|
||||
159
dlgAdd.xeto
159
dlgAdd.xeto
@@ -1,159 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" Title="Add application">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Developer</Label>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<TextBox ID="txtDeveloper" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Product</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtProduct" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Version</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtVersion" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Languages</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtLanguages" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Architecture</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtArchitecture" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Target OS</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtTargetOs" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Format</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtFormat" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Description</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextArea ID="txtDescription" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left">
|
||||
<CheckBox ID="chkSource">source</CheckBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right">
|
||||
<CheckBox ID="chkInstaller">installer</CheckBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<TabControl>
|
||||
<TabPage Text="Files">
|
||||
<GridView ID="treeFiles" SelectionChanged="treeFilesSelectionChanged" />
|
||||
</TabPage>
|
||||
<TabPage Text="Applications" ID="tabApps" Visible="False">
|
||||
<GridView ID="treeApps" />
|
||||
</TabPage>
|
||||
</TabControl>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblStatus" Visible="False">lblStatus</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Label ID="lblProgress" Visible="False">Progress</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress" Visible="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Label ID="lblProgress2" Visible="False">Progress2</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress2" Visible="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnRemoveFile" Click="OnBtnRemoveFileClicked" Visible="False">Remove</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Button ID="btnToggleCrack" Click="OnBtnToggleCrackClicked" Visible="False">Mark as crack</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>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Dialog>
|
||||
1235
dlgAdd.xeto.cs
1235
dlgAdd.xeto.cs
File diff suppressed because it is too large
Load Diff
@@ -1,145 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Edit filesystem metadata">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Filesystem type</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtType" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtFiles" />
|
||||
</StackLayoutItem>
|
||||
<Label>files</Label>
|
||||
<CheckBox ID="chkBootable" ThreeState="False">Bootable</CheckBox>
|
||||
<CheckBox ID="chkDirty" ThreeState="False">Dirty</CheckBox>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<NumericUpDown ID="spClusterSize" MaxValue="1048576" />
|
||||
<Label>bytes per cluster</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtClusters" />
|
||||
</StackLayoutItem>
|
||||
<Label>clusters</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtFreeClusters" />
|
||||
</StackLayoutItem>
|
||||
<Label>free clusters</Label>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkCreationDate" ThreeState="False" CheckedChanged="OnChkCreationDateToggled">Creation date</CheckBox>
|
||||
<StackLayoutItem Expand="True">
|
||||
<DateTimePicker ID="cldCreationDate" Mode="DateTime" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkModificationDate" ThreeState="False" CheckedChanged="OnChkModificationDateToggled">Modification date</CheckBox>
|
||||
<StackLayoutItem Expand="True">
|
||||
<DateTimePicker ID="cldModificationDate" Mode="DateTime" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkEffectiveDate" ThreeState="False" CheckedChanged="OnChkEffectiveDateToggled">Effective date</CheckBox>
|
||||
<StackLayoutItem Expand="True">
|
||||
<DateTimePicker ID="cldEffectiveDate" Mode="DateTime" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkExpirationDate" ThreeState="False" CheckedChanged="OnChkExpirationDateToggled">Expiration date</CheckBox>
|
||||
<StackLayoutItem Expand="True">
|
||||
<DateTimePicker ID="cldExpirationDate" Mode="DateTime" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<CheckBox ID="chkBackupDate" ThreeState="False" CheckedChanged="OnChkBackupDateToggled">Last backup date</CheckBox>
|
||||
<StackLayoutItem Expand="True">
|
||||
<DateTimePicker ID="cldBackupDate" Mode="DateTime" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Volume label</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtLabel" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Volume serial</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtSerial" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<GroupBox Text="ISO9660 information">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>System identifier</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtSysId" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Volume identifier</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtVolId" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Publisher identifier</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtPubId" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Data preparer identifier</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtDataId" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Label>Application identifier</Label>
|
||||
<StackLayoutItem Expand="True">
|
||||
<TextBox ID="txtAppId" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClicked">Cancel</Button>
|
||||
<Button ID="btnSave" Click="OnBtnSaveClicked">Save</Button>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Dialog>
|
||||
@@ -1,245 +0,0 @@
|
||||
//
|
||||
// Author:
|
||||
// Natalia Portillo claunia@claunia.com
|
||||
//
|
||||
// Copyright (c) 2017, © Claunia.com
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
|
||||
// the documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the [ORGANIZATION] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
using System;
|
||||
using Eto.Forms;
|
||||
using Eto.Serialization.Xaml;
|
||||
using Schemas;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
public class dlgFilesystem : Dialog
|
||||
{
|
||||
public FileSystemType Metadata;
|
||||
public bool Modified;
|
||||
|
||||
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)
|
||||
{
|
||||
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 long 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 {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();
|
||||
}
|
||||
|
||||
#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
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="544" Width="857" Resizable="True" Title="Import metadata">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblPanelName">Panel name goes here</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<Panel ID="pnlPanel" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnCancel" Click="OnBtnCancelClick">Cancel</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnPrevious" Click="OnBtnPreviousClick">Previous</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnNext" Click="OnBtnNextClick">Next</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Dialog>
|
||||
@@ -1,421 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using apprepodbmgr.Core;
|
||||
using Eto.Forms;
|
||||
using Eto.Serialization.Xaml;
|
||||
using libexeinfo;
|
||||
using Schemas;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
public class dlgImportMetadata : Dialog
|
||||
{
|
||||
List<string> architectures;
|
||||
internal bool canceled;
|
||||
internal List<ArchitecturesTypeArchitecture> chosenArchitectures;
|
||||
internal List<TargetOsEntry> chosenOses;
|
||||
Panels currentPanel;
|
||||
internal string description;
|
||||
internal string developer;
|
||||
Panels maximumPanel;
|
||||
Panels minimumPanel;
|
||||
List<TargetOsEntry> operatingSystems;
|
||||
pnlDescription panelDescription;
|
||||
pnlStrings panelStrings;
|
||||
pnlVersions panelVersions;
|
||||
internal string product;
|
||||
internal string publisher;
|
||||
List<string> strings;
|
||||
internal string version;
|
||||
List<string> versions;
|
||||
|
||||
public dlgImportMetadata()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
|
||||
Topmost = true;
|
||||
canceled = true;
|
||||
AbortButton = btnCancel;
|
||||
DefaultButton = btnNext;
|
||||
DisplayMode = DialogDisplayMode.Attached;
|
||||
panelDescription = new pnlDescription();
|
||||
panelStrings = new pnlStrings();
|
||||
panelVersions = new pnlVersions();
|
||||
strings = new List<string>();
|
||||
architectures = new List<string>();
|
||||
operatingSystems = new List<TargetOsEntry>();
|
||||
versions = new List<string>();
|
||||
chosenArchitectures = new List<ArchitecturesTypeArchitecture>();
|
||||
chosenOses = new List<TargetOsEntry>();
|
||||
|
||||
LoadComplete += OnLoadComplete;
|
||||
|
||||
// TODO: Show relative path only
|
||||
panelDescription.treeFiles.DataStore = Context.Readmes;
|
||||
|
||||
//pnlPanel.Content = panelDescription;
|
||||
//pnlPanel.Content = panelStrings;
|
||||
//pnlPanel.Content = panelVersions;
|
||||
|
||||
minimumPanel = Context.Readmes?.Count > 0 ? Panels.Description : Panels.Strings;
|
||||
maximumPanel = Context.Readmes?.Count > 0 ? Panels.Description : Panels.Strings;
|
||||
}
|
||||
|
||||
// TODO: Icons
|
||||
void OnLoadComplete(object sender, EventArgs eventArgs)
|
||||
{
|
||||
if(Context.Executables?.Count > 0)
|
||||
{
|
||||
lblPanelName.Text = "Please wait while reading executables found";
|
||||
prgProgress.MaxValue = Context.Executables.Count;
|
||||
prgProgress.MinValue = 0;
|
||||
prgProgress.Value = 0;
|
||||
|
||||
foreach(string file in Context.Executables)
|
||||
{
|
||||
FileStream exeStream = new FileStream(file, FileMode.Open, FileAccess.Read);
|
||||
MZ mzExe = new MZ(exeStream);
|
||||
NE neExe = new NE(exeStream);
|
||||
AtariST stExe = new AtariST(exeStream);
|
||||
LX lxExe = new LX(exeStream);
|
||||
COFF coffExe = new COFF(exeStream);
|
||||
PE peExe = new PE(exeStream);
|
||||
Geos geosExe = new Geos(exeStream);
|
||||
ELF elfExe = new ELF(exeStream);
|
||||
IExecutable recognizedExe;
|
||||
|
||||
if(neExe.Recognized) recognizedExe = neExe;
|
||||
else if(lxExe.Recognized) recognizedExe = lxExe;
|
||||
else if(peExe.Recognized) recognizedExe = peExe;
|
||||
else if(mzExe.Recognized) recognizedExe = mzExe;
|
||||
else if(coffExe.Recognized) recognizedExe = coffExe;
|
||||
else if(stExe.Recognized) recognizedExe = stExe;
|
||||
else if(elfExe.Recognized) recognizedExe = elfExe;
|
||||
else if(geosExe.Recognized) recognizedExe = geosExe;
|
||||
else
|
||||
{
|
||||
exeStream.Close();
|
||||
continue;
|
||||
}
|
||||
|
||||
if(recognizedExe.Strings != null) strings.AddRange(recognizedExe.Strings);
|
||||
|
||||
foreach(Architecture exeArch in recognizedExe.Architectures)
|
||||
{
|
||||
ArchitecturesTypeArchitecture? arch = ExeArchToSchemaArch(exeArch);
|
||||
if(arch.HasValue && !architectures.Contains($"{arch.Value}"))
|
||||
architectures.Add($"{arch.Value}");
|
||||
}
|
||||
|
||||
operatingSystems.Add(new TargetOsEntry
|
||||
{
|
||||
name = recognizedExe.RequiredOperatingSystem.Name,
|
||||
version =
|
||||
$"{recognizedExe.RequiredOperatingSystem.MajorVersion}.{recognizedExe.RequiredOperatingSystem.MinorVersion}"
|
||||
});
|
||||
|
||||
switch(recognizedExe)
|
||||
{
|
||||
case NE _:
|
||||
if(neExe.Versions != null)
|
||||
foreach(NE.Version exeVersion in neExe.Versions)
|
||||
{
|
||||
versions.Add(exeVersion.FileVersion);
|
||||
versions.Add(exeVersion.ProductVersion);
|
||||
version = exeVersion.ProductVersion;
|
||||
foreach(KeyValuePair<string, Dictionary<string, string>> kvp in exeVersion
|
||||
.StringsByLanguage)
|
||||
{
|
||||
if(kvp.Value.TryGetValue("CompanyName", out string tmpValue))
|
||||
developer = tmpValue;
|
||||
if(kvp.Value.TryGetValue("ProductName", out string tmpValue2))
|
||||
product = tmpValue2;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case PE _:
|
||||
if(peExe.Versions != null)
|
||||
foreach(PE.Version exeVersion in peExe.Versions)
|
||||
{
|
||||
versions.Add(exeVersion.FileVersion);
|
||||
versions.Add(exeVersion.ProductVersion);
|
||||
version = exeVersion.ProductVersion;
|
||||
foreach(KeyValuePair<string, Dictionary<string, string>> kvp in exeVersion
|
||||
.StringsByLanguage)
|
||||
{
|
||||
if(kvp.Value.TryGetValue("CompanyName", out string tmpValue))
|
||||
developer = tmpValue;
|
||||
if(kvp.Value.TryGetValue("ProductName", out string tmpValue2))
|
||||
product = tmpValue2;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case LX _:
|
||||
if(lxExe.WinVersion != null)
|
||||
{
|
||||
versions.Add(lxExe.WinVersion.FileVersion);
|
||||
versions.Add(lxExe.WinVersion.ProductVersion);
|
||||
version = lxExe.WinVersion.ProductVersion;
|
||||
foreach(KeyValuePair<string, Dictionary<string, string>> kvp in lxExe
|
||||
.WinVersion
|
||||
.StringsByLanguage)
|
||||
{
|
||||
if(kvp.Value.TryGetValue("CompanyName", out string tmpValue)) developer = tmpValue;
|
||||
if(kvp.Value.TryGetValue("ProductName", out string tmpValue2)) product = tmpValue2;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
exeStream.Close();
|
||||
prgProgress.Value++;
|
||||
}
|
||||
|
||||
strings = strings.Distinct().ToList();
|
||||
strings.Sort();
|
||||
|
||||
if(strings.Count == 0 && minimumPanel == Panels.Strings) minimumPanel = Panels.Versions;
|
||||
else maximumPanel = Panels.Strings;
|
||||
|
||||
panelStrings.treeStrings.DataStore = strings;
|
||||
versions = versions.Distinct().ToList();
|
||||
versions.Sort();
|
||||
panelVersions.treeVersions.DataStore = versions;
|
||||
architectures = architectures.Distinct().ToList();
|
||||
architectures.Sort();
|
||||
panelVersions.treeArchs.DataStore = architectures;
|
||||
|
||||
Dictionary<string, List<string>> osEntriesDictionary = new Dictionary<string, List<string>>();
|
||||
|
||||
foreach(TargetOsEntry osEntry in operatingSystems)
|
||||
{
|
||||
if(string.IsNullOrEmpty(osEntry.name)) continue;
|
||||
|
||||
osEntriesDictionary.TryGetValue(osEntry.name, out List<string> osvers);
|
||||
|
||||
if(osvers == null) osvers = new List<string>();
|
||||
|
||||
osvers.Add(osEntry.version);
|
||||
osEntriesDictionary.Remove(osEntry.name);
|
||||
osEntriesDictionary.Add(osEntry.name, osvers);
|
||||
}
|
||||
|
||||
operatingSystems = new List<TargetOsEntry>();
|
||||
foreach(KeyValuePair<string, List<string>> kvp in osEntriesDictionary.OrderBy(t => t.Key))
|
||||
{
|
||||
kvp.Value.Sort();
|
||||
foreach(string s in kvp.Value.Distinct())
|
||||
operatingSystems.Add(new TargetOsEntry {name = kvp.Key, version = s});
|
||||
}
|
||||
|
||||
panelVersions.treeOs.DataStore = operatingSystems;
|
||||
|
||||
if(versions.Count > 0 || architectures.Count > 0 || operatingSystems.Count > 0)
|
||||
maximumPanel = Panels.Versions;
|
||||
}
|
||||
|
||||
prgProgress.Visible = false;
|
||||
btnPrevious.Enabled = false;
|
||||
switch(minimumPanel)
|
||||
{
|
||||
case Panels.Description:
|
||||
pnlPanel.Content = panelDescription;
|
||||
currentPanel = Panels.Description;
|
||||
break;
|
||||
case Panels.Strings:
|
||||
pnlPanel.Content = panelStrings;
|
||||
currentPanel = Panels.Strings;
|
||||
break;
|
||||
case Panels.Versions:
|
||||
pnlPanel.Content = panelVersions;
|
||||
currentPanel = Panels.Versions;
|
||||
break;
|
||||
}
|
||||
|
||||
if(currentPanel == maximumPanel) btnNext.Text = "Finish";
|
||||
lblPanelName.Visible = false;
|
||||
}
|
||||
|
||||
static ArchitecturesTypeArchitecture? ExeArchToSchemaArch(Architecture arch)
|
||||
{
|
||||
switch(arch)
|
||||
{
|
||||
case Architecture.Aarch64: return ArchitecturesTypeArchitecture.aarch64;
|
||||
case Architecture.Alpha: return ArchitecturesTypeArchitecture.axp;
|
||||
case Architecture.Amd64: return ArchitecturesTypeArchitecture.amd64;
|
||||
case Architecture.Arm: return ArchitecturesTypeArchitecture.arm;
|
||||
case Architecture.Avr: return ArchitecturesTypeArchitecture.avr;
|
||||
case Architecture.Avr32: return ArchitecturesTypeArchitecture.avr32;
|
||||
case Architecture.Clipper: return ArchitecturesTypeArchitecture.clipper;
|
||||
case Architecture.Hobbit: return ArchitecturesTypeArchitecture.hobbit;
|
||||
case Architecture.I286: return ArchitecturesTypeArchitecture.i86;
|
||||
case Architecture.I386: return ArchitecturesTypeArchitecture.ia32;
|
||||
case Architecture.I8051: return ArchitecturesTypeArchitecture.Item8051;
|
||||
case Architecture.I86: return ArchitecturesTypeArchitecture.i86;
|
||||
case Architecture.I860: return ArchitecturesTypeArchitecture.i860;
|
||||
case Architecture.I960: return ArchitecturesTypeArchitecture.i960;
|
||||
case Architecture.IA64: return ArchitecturesTypeArchitecture.ia64;
|
||||
case Architecture.M68HC05: return ArchitecturesTypeArchitecture.m6805;
|
||||
case Architecture.M68K: return ArchitecturesTypeArchitecture.m68k;
|
||||
case Architecture.M88K: return ArchitecturesTypeArchitecture.m88k;
|
||||
case Architecture.Mips: return ArchitecturesTypeArchitecture.mips32;
|
||||
case Architecture.Mips16: return ArchitecturesTypeArchitecture.mips32;
|
||||
case Architecture.Mips3: return ArchitecturesTypeArchitecture.mips64;
|
||||
case Architecture.NIOS2: return ArchitecturesTypeArchitecture.nios2;
|
||||
case Architecture.OpenRisc: return ArchitecturesTypeArchitecture.openrisc;
|
||||
case Architecture.PaRisc: return ArchitecturesTypeArchitecture.parisc;
|
||||
case Architecture.Pdp10: return ArchitecturesTypeArchitecture.pdp10;
|
||||
case Architecture.Pdp11: return ArchitecturesTypeArchitecture.pdp11;
|
||||
case Architecture.Power: return ArchitecturesTypeArchitecture.power;
|
||||
case Architecture.PowerPc: return ArchitecturesTypeArchitecture.ppc;
|
||||
case Architecture.PowerPc64: return ArchitecturesTypeArchitecture.ppc64;
|
||||
case Architecture.Prism: return ArchitecturesTypeArchitecture.prism;
|
||||
case Architecture.RiscV: return ArchitecturesTypeArchitecture.riscv;
|
||||
case Architecture.S370: return ArchitecturesTypeArchitecture.s360;
|
||||
case Architecture.S390: return ArchitecturesTypeArchitecture.esa390;
|
||||
case Architecture.Sh2: return ArchitecturesTypeArchitecture.sh2;
|
||||
case Architecture.Sh3: return ArchitecturesTypeArchitecture.sh3;
|
||||
case Architecture.Sh4: return ArchitecturesTypeArchitecture.sh4;
|
||||
case Architecture.Sh5: return ArchitecturesTypeArchitecture.sh5;
|
||||
case Architecture.Sparc: return ArchitecturesTypeArchitecture.sparc;
|
||||
case Architecture.Sparc64: return ArchitecturesTypeArchitecture.sparc64;
|
||||
case Architecture.Thumb: return ArchitecturesTypeArchitecture.arm;
|
||||
case Architecture.Thumb2: return ArchitecturesTypeArchitecture.arm;
|
||||
case Architecture.Vax: return ArchitecturesTypeArchitecture.vax;
|
||||
case Architecture.We32000: return ArchitecturesTypeArchitecture.we32000;
|
||||
case Architecture.Z80: return ArchitecturesTypeArchitecture.z80;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
void OnBtnCancelClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
canceled = true;
|
||||
Close();
|
||||
// throw new NotImplementedException();
|
||||
}
|
||||
|
||||
void OnBtnPreviousClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
switch(currentPanel)
|
||||
{
|
||||
case Panels.Description:
|
||||
// Ok...
|
||||
break;
|
||||
case Panels.Strings:
|
||||
if(minimumPanel == Panels.Strings) return;
|
||||
|
||||
pnlPanel.Content = panelDescription;
|
||||
currentPanel = Panels.Description;
|
||||
|
||||
btnPrevious.Enabled = currentPanel != minimumPanel;
|
||||
|
||||
break;
|
||||
case Panels.Versions:
|
||||
if(minimumPanel == Panels.Versions) return;
|
||||
|
||||
pnlPanel.Content = panelStrings;
|
||||
currentPanel = Panels.Strings;
|
||||
|
||||
btnPrevious.Enabled = currentPanel != minimumPanel;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if(currentPanel != maximumPanel) btnNext.Text = "Next";
|
||||
}
|
||||
|
||||
void OnBtnNextClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
if(currentPanel != maximumPanel)
|
||||
{
|
||||
switch(currentPanel)
|
||||
{
|
||||
case Panels.Description:
|
||||
if(maximumPanel == Panels.Description) return;
|
||||
|
||||
pnlPanel.Content = panelStrings;
|
||||
currentPanel = Panels.Strings;
|
||||
|
||||
btnPrevious.Enabled = currentPanel != minimumPanel;
|
||||
|
||||
break;
|
||||
case Panels.Strings:
|
||||
if(maximumPanel == Panels.Strings) return;
|
||||
|
||||
pnlPanel.Content = panelVersions;
|
||||
currentPanel = Panels.Versions;
|
||||
|
||||
btnPrevious.Enabled = currentPanel != minimumPanel;
|
||||
|
||||
break;
|
||||
case Panels.Versions:
|
||||
if(minimumPanel == Panels.Versions) return;
|
||||
|
||||
pnlPanel.Content = panelStrings;
|
||||
currentPanel = Panels.Strings;
|
||||
|
||||
btnPrevious.Enabled = currentPanel != minimumPanel;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if(currentPanel == maximumPanel) btnNext.Text = "Finish";
|
||||
return;
|
||||
}
|
||||
|
||||
if(Context.Readmes?.Count > 0 && !string.IsNullOrWhiteSpace(panelDescription.description))
|
||||
description = panelDescription.description;
|
||||
|
||||
if(!(Context.Executables?.Count > 0)) return;
|
||||
|
||||
if(!string.IsNullOrWhiteSpace(panelStrings.txtDeveloper.Text)) developer = panelStrings.txtDeveloper.Text;
|
||||
if(!string.IsNullOrWhiteSpace(panelStrings.txtPublisher.Text)) publisher = panelStrings.txtPublisher.Text;
|
||||
if(!string.IsNullOrWhiteSpace(panelStrings.txtProduct.Text)) product = panelStrings.txtProduct.Text;
|
||||
if(!string.IsNullOrWhiteSpace(panelStrings.txtVersion.Text)) version = panelStrings.txtVersion.Text;
|
||||
|
||||
foreach(object archsSelectedItem in panelVersions.treeArchs.SelectedItems)
|
||||
{
|
||||
if(!(archsSelectedItem is string arch)) continue;
|
||||
|
||||
if(Enum.TryParse(arch, true, out ArchitecturesTypeArchitecture realArch))
|
||||
chosenArchitectures.Add(realArch);
|
||||
}
|
||||
|
||||
foreach(object osesSelectedItem in panelVersions.treeOs.SelectedItems)
|
||||
{
|
||||
if(!(osesSelectedItem is TargetOsEntry os)) continue;
|
||||
|
||||
chosenOses.Add(os);
|
||||
}
|
||||
|
||||
if(panelVersions.treeVersions.SelectedItem is string chosenVersion) version = chosenVersion;
|
||||
|
||||
canceled = false;
|
||||
Close();
|
||||
}
|
||||
|
||||
enum Panels
|
||||
{
|
||||
Description,
|
||||
Strings,
|
||||
Versions
|
||||
}
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
Label lblPanelName;
|
||||
Panel pnlPanel;
|
||||
ProgressBar prgProgress;
|
||||
Button btnCancel;
|
||||
Button btnPrevious;
|
||||
Button btnNext;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
}
|
||||
}
|
||||
145
dlgSettings.xeto
145
dlgSettings.xeto
@@ -1,145 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Dialog xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="650" Height="225" xmlns:e="clr-namespace:apprepodbmgr.Core;assembly=apprepodbmgr.Core" Title="Settings">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
<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>
|
||||
<StackLayout Orientation="Vertical">
|
||||
<CheckBox ID="chkAntivirus" CheckedChanged="OnChkAntivirusToggled" ThreeState="False">Use antivirus?</CheckBox>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<GroupBox Text="clamd" ID="frmClamd">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<CheckBox ID="chkClamd" CheckedChanged="OnChkClamdToggled" ThreeState="False">Use clamd?</CheckBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<Label>Host</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtClamdHost" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<Label>port</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<NumericUpDown ID="spClamdPort" MaxValue="65535" MinValue="1" Value="3310" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Button ID="btnClamdTest" Click="OnBtnClamdTestClicked" Enabled="False">Test</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<Label Visible="False" ID="lblClamdVersion" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<CheckBox ID="chkClamdIsLocal" ThreeState="False" Enabled="False">Clamd is local?</CheckBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<GroupBox Text="VirusTotal" ID="frmVirusTotal">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<CheckBox ID="chkVirusTotal" CheckedChanged="OnChkVirusTotalToggled" ThreeState="False">Use VirusTotal?</CheckBox>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<Label>API Key</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtVirusTotal" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Button ID="btnVirusTotal" Click="OnBtnVirusTotalClicked" Enabled="False">Test</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<Label Visible="False" ID="lblVirusTotal" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</GroupBox>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Dialog>
|
||||
@@ -1,329 +0,0 @@
|
||||
//
|
||||
// Author:
|
||||
// Natalia Portillo claunia@claunia.com
|
||||
//
|
||||
// Copyright (c) 2017, © Claunia.com
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
|
||||
// the documentation and/or other materials provided with the distribution.
|
||||
// * Neither the name of the [ORGANIZATION] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using apprepodbmgr.Core;
|
||||
using Eto.Forms;
|
||||
using Eto.Serialization.Xaml;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
public class dlgSettings : Dialog
|
||||
{
|
||||
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;
|
||||
|
||||
spClamdPort.Value = 3310;
|
||||
chkAntivirus.Checked = Settings.Current.UseAntivirus;
|
||||
frmClamd.Visible = chkAntivirus.Checked.Value;
|
||||
if(Settings.Current.UseAntivirus && Settings.Current.UseClamd)
|
||||
{
|
||||
chkClamd.Checked = Settings.Current.UseClamd;
|
||||
txtClamdHost.Text = Settings.Current.ClamdHost;
|
||||
spClamdPort.Value = Settings.Current.ClamdPort;
|
||||
chkClamdIsLocal.Checked = Settings.Current.ClamdIsLocal;
|
||||
}
|
||||
|
||||
if(!Settings.Current.UseAntivirus || !Settings.Current.UseVirusTotal) return;
|
||||
|
||||
chkVirusTotal.Checked = true;
|
||||
chkVirusTotal.Enabled = true;
|
||||
txtVirusTotal.Enabled = true;
|
||||
txtVirusTotal.Text = Settings.Current.VirusTotalKey;
|
||||
btnVirusTotal.Enabled = true;
|
||||
}
|
||||
|
||||
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;
|
||||
if(!chkClamd.Checked.Value || !chkAntivirus.Checked.Value)
|
||||
{
|
||||
Settings.Current.UseClamd = false;
|
||||
Settings.Current.ClamdHost = null;
|
||||
Settings.Current.ClamdPort = 3310;
|
||||
Settings.Current.ClamdIsLocal = false;
|
||||
}
|
||||
|
||||
if(chkVirusTotal.Checked.Value && chkAntivirus.Checked.Value)
|
||||
{
|
||||
Settings.Current.UseVirusTotal = true;
|
||||
Settings.Current.VirusTotalKey = txtVirusTotal.Text;
|
||||
Workers.InitVirusTotal(Settings.Current.VirusTotalKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
Settings.Current.UseVirusTotal = false;
|
||||
Settings.Current.VirusTotalKey = null;
|
||||
}
|
||||
|
||||
Settings.SaveSettings();
|
||||
Workers.CloseDB();
|
||||
Workers.InitDB();
|
||||
Context.ClamdVersion = null;
|
||||
Workers.InitClamd();
|
||||
Context.CheckUnar();
|
||||
Close();
|
||||
}
|
||||
|
||||
protected void OnBtnUnarClicked(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog dlgFile = new OpenFileDialog {Title = "Choose UnArchiver executable", MultiSelect = false};
|
||||
if(!string.IsNullOrWhiteSpace(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)))
|
||||
dlgFile.Directory = new Uri(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
|
||||
|
||||
if(dlgFile.ShowDialog(this) != DialogResult.Ok) return;
|
||||
|
||||
txtUnar.Text = dlgFile.FileName;
|
||||
lblUnarVersion.Visible = false;
|
||||
CheckUnar();
|
||||
}
|
||||
|
||||
protected void OnBtnTmpClicked(object sender, EventArgs e)
|
||||
{
|
||||
SelectFolderDialog dlgFolder =
|
||||
new SelectFolderDialog {Title = "Choose temporary folder", Directory = Path.GetTempPath()};
|
||||
|
||||
if(dlgFolder.ShowDialog(this) == DialogResult.Ok) txtTmp.Text = dlgFolder.Directory;
|
||||
}
|
||||
|
||||
protected void OnBtnRepositoryClicked(object sender, EventArgs e)
|
||||
{
|
||||
SelectFolderDialog dlgFolder =
|
||||
new SelectFolderDialog {Title = "Choose repository folder", Directory = Path.GetTempPath()};
|
||||
|
||||
if(dlgFolder.ShowDialog(this) == DialogResult.Ok) txtRepository.Text = dlgFolder.Directory;
|
||||
}
|
||||
|
||||
protected void OnBtnDatabaseClicked(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog dlgFile = new SaveFileDialog
|
||||
{
|
||||
Title = "Choose database to open/create",
|
||||
Directory = new Uri(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)),
|
||||
CheckFileExists = false,
|
||||
FileName = "apprepodbmgr.db"
|
||||
};
|
||||
|
||||
if(dlgFile.ShowDialog(this) != DialogResult.Ok) return;
|
||||
|
||||
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;
|
||||
|
||||
txtUnar.Text = string.IsNullOrWhiteSpace(oldUnarPath) ? "" : oldUnarPath;
|
||||
Settings.Current.UnArchiverPath = oldUnarPath;
|
||||
MessageBox.Show(text, MessageBoxType.Error);
|
||||
});
|
||||
}
|
||||
|
||||
protected void OnChkAntivirusToggled(object sender, EventArgs e)
|
||||
{
|
||||
frmClamd.Visible = chkAntivirus.Checked.Value;
|
||||
frmVirusTotal.Visible = chkAntivirus.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnChkClamdToggled(object sender, EventArgs e)
|
||||
{
|
||||
txtClamdHost.Enabled = chkClamd.Checked.Value;
|
||||
spClamdPort.Enabled = chkClamd.Checked.Value;
|
||||
btnClamdTest.Enabled = chkClamd.Checked.Value;
|
||||
lblClamdVersion.Visible = false;
|
||||
chkClamdIsLocal.Enabled = chkClamd.Checked.Value;
|
||||
}
|
||||
|
||||
protected void OnBtnClamdTestClicked(object sender, EventArgs e)
|
||||
{
|
||||
lblClamdVersion.Visible = false;
|
||||
|
||||
if(string.IsNullOrEmpty(txtClamdHost.Text))
|
||||
{
|
||||
MessageBox.Show("clamd host cannot be empty", MessageBoxType.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
string oldVersion = Context.ClamdVersion;
|
||||
Context.ClamdVersion = null;
|
||||
|
||||
string oldHost = Settings.Current.ClamdHost;
|
||||
ushort oldPort = Settings.Current.ClamdPort;
|
||||
Settings.Current.ClamdHost = txtClamdHost.Text;
|
||||
Settings.Current.ClamdPort = (ushort)spClamdPort.Value;
|
||||
|
||||
Workers.TestClamd();
|
||||
|
||||
Settings.Current.ClamdHost = oldHost;
|
||||
Settings.Current.ClamdPort = oldPort;
|
||||
|
||||
if(string.IsNullOrEmpty(Context.ClamdVersion))
|
||||
{
|
||||
MessageBox.Show("Cannot connect to clamd", MessageBoxType.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
lblClamdVersion.Text = Context.ClamdVersion;
|
||||
Context.ClamdVersion = oldVersion;
|
||||
lblClamdVersion.Visible = true;
|
||||
}
|
||||
|
||||
protected void OnChkVirusTotalToggled(object sender, EventArgs e)
|
||||
{
|
||||
txtVirusTotal.Enabled = chkVirusTotal.Checked.Value;
|
||||
btnVirusTotal.Enabled = chkVirusTotal.Checked.Value;
|
||||
lblVirusTotal.Visible = false;
|
||||
}
|
||||
|
||||
protected void OnBtnVirusTotalClicked(object sender, EventArgs e)
|
||||
{
|
||||
Workers.Failed += VirusTotalTestFailed;
|
||||
if(!Workers.TestVirusTotal(txtVirusTotal.Text)) return;
|
||||
|
||||
lblVirusTotal.Visible = true;
|
||||
lblVirusTotal.Text = "Working!";
|
||||
}
|
||||
|
||||
static void VirusTotalTestFailed(string text)
|
||||
{
|
||||
MessageBox.Show(text, MessageBoxType.Error);
|
||||
}
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
TextBox txtTmp;
|
||||
TextBox txtUnar;
|
||||
TextBox txtDatabase;
|
||||
TextBox txtRepository;
|
||||
Label lblUnarVersion;
|
||||
EnumDropDown<AlgoEnum> cmbCompAlg;
|
||||
StackLayout StackLayoutForAlgoEnum;
|
||||
GroupBox frmClamd;
|
||||
CheckBox chkAntivirus;
|
||||
CheckBox chkClamd;
|
||||
TextBox txtClamdHost;
|
||||
NumericUpDown spClamdPort;
|
||||
Button btnClamdTest;
|
||||
Label lblClamdVersion;
|
||||
CheckBox chkClamdIsLocal;
|
||||
GroupBox frmVirusTotal;
|
||||
CheckBox chkVirusTotal;
|
||||
TextBox txtVirusTotal;
|
||||
Button btnVirusTotal;
|
||||
Label lblVirusTotal;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
}
|
||||
}
|
||||
85
frmMain.xeto
85
frmMain.xeto
@@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Form xmlns="http://schema.picoe.ca/eto.forms" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="365" Width="612" Title="App Repository DB Manager">
|
||||
<TabControl>
|
||||
<TabPage Text="Operating systems" ID="tabApps">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<GridView ID="treeApps" Enabled="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblAppStatus" Visible="False">lblAppStatus</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Label ID="lblProgress">lblProgress</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Label ID="lblProgress2" Visible="False">lblProgress2</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgress2" Visible="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<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>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
<TabPage Text="Files" ID="tabFiles">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<GridView ID="treeFiles" Enabled="False" SelectionChanged="treeFilesSelectionChanged" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label ID="lblFileStatus" Visible="False">lblFileStatus</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Label ID="lblProgressFiles1" Visible="False">lblProgress</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgressFiles1" Visible="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<Label ID="lblProgressFiles2" Visible="False">lblProgress2</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch">
|
||||
<ProgressBar ID="prgProgressFiles2" Visible="False" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<Button x:Name="btnStopFiles" Click="OnBtnStopFilesClicked" Visible="False">Stop</Button>
|
||||
<Button x:Name="btnCleanFiles" Click="OnBtnCleanFilesClicked" Visible="False">Clean files</Button>
|
||||
<Button x:Name="btnToggleCrack" Click="OnBtnToggleCrackClicked" Visible="False">Mark as crack</Button>
|
||||
<Button x:Name="btnScanAllPending" Click="OnBtnScanAllPendingClicked" Visible="False">Scan all with clamd</Button>
|
||||
<Button x:Name="btnScanWithClamd" Click="OnBtnScanWithClamdClicked" Visible="False">Scan with clamd</Button>
|
||||
<Button x:Name="btnCheckInVirusTotal" Click="OnBtnCheckInVirusTotalClicked" Visible="False">Check with VirusTotal</Button>
|
||||
<Button x:Name="btnPopulateFiles" Click="OnBtnPopulateFilesClicked">Populate</Button>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</TabPage>
|
||||
</TabControl>
|
||||
<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 ID="mnuCompress" Text="Compress" Click="OnBtnCompressClicked" Shortcut="CommonModifier+E" />
|
||||
</ButtonMenuItem>
|
||||
<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>
|
||||
1088
frmMain.xeto.cs
1088
frmMain.xeto.cs
File diff suppressed because it is too large
Load Diff
@@ -1,49 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Claunia.Encoding" version="1.6.1" targetFramework="net46" />
|
||||
<package id="Eto.Forms" version="2.4.1" targetFramework="net45" />
|
||||
<package id="Eto.Serialization.Xaml" version="2.4.1" targetFramework="net45" />
|
||||
<package id="libexeinfo" version="0.5.0" targetFramework="net46" />
|
||||
<package id="Microsoft.NETCore.Platforms" version="2.0.1" targetFramework="net45" />
|
||||
<package id="NETStandard.Library" version="2.0.1" targetFramework="net45" />
|
||||
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net45" />
|
||||
<package id="Portable.Xaml" version="0.21.0" targetFramework="net45" />
|
||||
<package id="System.Collections" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.ComponentModel" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.ComponentModel.Primitives" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.ComponentModel.TypeConverter" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Globalization" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.IO" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.IO.Compression" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Linq" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Net.Http" version="4.3.2" targetFramework="net46" />
|
||||
<package id="System.Net.Primitives" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.ObjectModel" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Reflection" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Runtime" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Runtime.Serialization.Primitives" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net46" />
|
||||
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" />
|
||||
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" />
|
||||
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net46" />
|
||||
<package id="System.Text.Encoding" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Text.RegularExpressions" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Threading" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="net45" />
|
||||
<package id="System.ValueTuple" version="4.4.0" targetFramework="net46" />
|
||||
<package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="net45" />
|
||||
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net45" />
|
||||
</packages>
|
||||
@@ -1,38 +0,0 @@
|
||||
<?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 Orientation="Horizontal">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Left" VerticalAlignment="Stretch">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Files with description</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeFiles"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Right" VerticalAlignment="Stretch">
|
||||
<StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Description</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<TextArea ID="txtDescription" ReadOnly="True"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem VerticalAlignment="Bottom">
|
||||
<StackLayout Orientation="Horizontal">
|
||||
<StackLayoutItem HorizontalAlignment="Left">
|
||||
<Label>Codepage:</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Center">
|
||||
<DropDown ID="cmbCodepages"/>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Right">
|
||||
<Button ID="btnClear" Click="OnBtnClearClick">Clear</Button>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
@@ -1,86 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Eto.Forms;
|
||||
using Eto.Serialization.Xaml;
|
||||
using EncodingInfo = Claunia.Encoding.EncodingInfo;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
public class pnlDescription : Panel
|
||||
{
|
||||
ObservableCollection<ListItem> cmbCodepagesItems;
|
||||
Encoding currentEncoding;
|
||||
public string description;
|
||||
|
||||
public pnlDescription()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
|
||||
treeFiles.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell {Binding = Binding.Property<string, string>(r => r)},
|
||||
HeaderText = "File"
|
||||
});
|
||||
|
||||
treeFiles.AllowMultipleSelection = false;
|
||||
treeFiles.SelectionChanged += TreeFilesOnSelectionChanged;
|
||||
cmbCodepagesItems = new ObservableCollection<ListItem>();
|
||||
foreach(EncodingInfo enc in Claunia.Encoding.Encoding.GetEncodings())
|
||||
cmbCodepagesItems.Add(new ListItem {Key = enc.Name, Text = enc.DisplayName});
|
||||
foreach(System.Text.EncodingInfo enc in Encoding.GetEncodings())
|
||||
cmbCodepagesItems.Add(new ListItem {Key = enc.Name, Text = enc.GetEncoding().EncodingName});
|
||||
cmbCodepages.DataStore = cmbCodepagesItems.OrderBy(t => t.Text);
|
||||
try
|
||||
{
|
||||
currentEncoding = Claunia.Encoding.Encoding.GetEncoding("ibm437");
|
||||
cmbCodepages.SelectedKey = currentEncoding.BodyName;
|
||||
}
|
||||
catch { currentEncoding = Encoding.ASCII; }
|
||||
|
||||
cmbCodepages.SelectedIndexChanged += CmbCodepagesOnSelectedIndexChanged;
|
||||
}
|
||||
|
||||
void CmbCodepagesOnSelectedIndexChanged(object sender, EventArgs eventArgs)
|
||||
{
|
||||
try { currentEncoding = Claunia.Encoding.Encoding.GetEncoding(cmbCodepages.SelectedKey); }
|
||||
catch
|
||||
{
|
||||
currentEncoding = Encoding.ASCII;
|
||||
cmbCodepages.SelectedKey = currentEncoding.BodyName;
|
||||
}
|
||||
|
||||
TreeFilesOnSelectionChanged(sender, eventArgs);
|
||||
}
|
||||
|
||||
void TreeFilesOnSelectionChanged(object sender, EventArgs eventArgs)
|
||||
{
|
||||
txtDescription.Text = "";
|
||||
description = null;
|
||||
if(!(treeFiles.SelectedItem is string file)) return;
|
||||
|
||||
StreamReader sr = new StreamReader(file, currentEncoding);
|
||||
description = sr.ReadToEnd();
|
||||
txtDescription.Text = description;
|
||||
sr.Close();
|
||||
}
|
||||
|
||||
void OnBtnClearClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
txtDescription.Text = "";
|
||||
description = null;
|
||||
treeFiles.UnselectAll();
|
||||
}
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
public GridView treeFiles;
|
||||
TextArea txtDescription;
|
||||
DropDown cmbCodepages;
|
||||
Button btnClear;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
<?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 Orientation="Horizontal">
|
||||
<StackLayoutItem VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Expand="True">
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem>
|
||||
<Label>Strings found in executables</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeStrings"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<StackLayout Orientation="Vertical">
|
||||
<StackLayoutItem>
|
||||
<Button Click="OnBtnDeveloperClick">Set as developer</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Button Click="OnBtnPublisherClick">Set as publisher</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Button Click="OnBtnProductClick">Set as product</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Button Click="OnBtnVersionClick">Set as version</Button>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Label>Developer</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtDeveloper" ReadOnly="True" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Label>Publisher</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtPublisher" ReadOnly="True" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Label>Product</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch">
|
||||
<TextBox ID="txtProduct" ReadOnly="True" />
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem>
|
||||
<Label>Version</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Stretch" Expand="True">
|
||||
<TextBox ID="txtVersion" ReadOnly="True" />
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
@@ -1,64 +0,0 @@
|
||||
using System;
|
||||
using Eto.Forms;
|
||||
using Eto.Serialization.Xaml;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
public class pnlStrings : Panel
|
||||
{
|
||||
public pnlStrings()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
|
||||
treeStrings.AllowMultipleSelection = false;
|
||||
treeStrings.ShowHeader = false;
|
||||
treeStrings.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell {Binding = Binding.Property<string, string>(r => r)},
|
||||
HeaderText = "String"
|
||||
});
|
||||
}
|
||||
|
||||
void OnBtnDeveloperClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
txtDeveloper.Text = "";
|
||||
if(!(treeStrings.SelectedItem is string str)) return;
|
||||
|
||||
txtDeveloper.Text = str;
|
||||
}
|
||||
|
||||
void OnBtnPublisherClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
txtPublisher.Text = "";
|
||||
if(!(treeStrings.SelectedItem is string str)) return;
|
||||
|
||||
txtPublisher.Text = str;
|
||||
}
|
||||
|
||||
void OnBtnProductClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
txtProduct.Text = "";
|
||||
if(!(treeStrings.SelectedItem is string str)) return;
|
||||
|
||||
txtProduct.Text = str;
|
||||
}
|
||||
|
||||
void OnBtnVersionClick(object sender, EventArgs eventArgs)
|
||||
{
|
||||
txtVersion.Text = "";
|
||||
if(!(treeStrings.SelectedItem is string str)) return;
|
||||
|
||||
txtVersion.Text = str;
|
||||
}
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
public TextBox txtDeveloper;
|
||||
public TextBox txtPublisher;
|
||||
public TextBox txtProduct;
|
||||
public TextBox txtVersion;
|
||||
public GridView treeStrings;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
<?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 Orientation="Horizontal" VerticalContentAlignment="Stretch">
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Select architectures</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>(multiple selection)</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeArchs"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Select OSes</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>(multiple selection)</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeOs"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<StackLayout>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>Select version</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem HorizontalAlignment="Center">
|
||||
<Label>(single selection)</Label>
|
||||
</StackLayoutItem>
|
||||
<StackLayoutItem Expand="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||
<GridView ID="treeVersions"/>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</StackLayoutItem>
|
||||
</StackLayout>
|
||||
</Panel>
|
||||
@@ -1,50 +0,0 @@
|
||||
using Eto.Forms;
|
||||
using Eto.Serialization.Xaml;
|
||||
|
||||
namespace apprepodbmgr.Eto
|
||||
{
|
||||
public class pnlVersions : Panel
|
||||
{
|
||||
public pnlVersions()
|
||||
{
|
||||
XamlReader.Load(this);
|
||||
|
||||
treeArchs.AllowMultipleSelection = true;
|
||||
treeOs.AllowMultipleSelection = true;
|
||||
treeVersions.AllowMultipleSelection = false;
|
||||
|
||||
treeArchs.ShowHeader = false;
|
||||
treeOs.ShowHeader = true;
|
||||
treeVersions.ShowHeader = false;
|
||||
|
||||
treeArchs.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell {Binding = Binding.Property<string, string>(r => r)},
|
||||
HeaderText = "Arch"
|
||||
});
|
||||
treeOs.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell {Binding = Binding.Property<TargetOsEntry, string>(r => r.name)},
|
||||
HeaderText = "Name"
|
||||
});
|
||||
treeOs.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell {Binding = Binding.Property<TargetOsEntry, string>(r => r.version)},
|
||||
HeaderText = "Version"
|
||||
});
|
||||
treeVersions.Columns.Add(new GridColumn
|
||||
{
|
||||
DataCell = new TextBoxCell {Binding = Binding.Property<string, string>(r => r)},
|
||||
HeaderText = "Version"
|
||||
});
|
||||
}
|
||||
|
||||
#region XAML UI elements
|
||||
#pragma warning disable 0649
|
||||
public GridView treeArchs;
|
||||
public GridView treeOs;
|
||||
public GridView treeVersions;
|
||||
#pragma warning restore 0649
|
||||
#endregion XAML UI elements
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user