- moved all files to a "source" subdirectory to tidy up the GitHub project page

- started to write a readme.md
This commit is contained in:
hbeham
2015-06-04 13:31:43 +02:00
parent 664235b1ed
commit d4318b13a5
397 changed files with 602 additions and 0 deletions

199
source/ChanSort/AboutForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,199 @@
namespace ChanSort.Ui
{
partial class AboutForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
this.lblWebsite = new DevExpress.XtraEditors.LabelControl();
this.lnkDownload = new DevExpress.XtraEditors.HyperLinkEdit();
this.gcPlugins = new DevExpress.XtraGrid.GridControl();
this.gvPlugins = new DevExpress.XtraGrid.Views.Grid.GridView();
this.colPlugin = new DevExpress.XtraGrid.Columns.GridColumn();
this.colDisplayText = new DevExpress.XtraGrid.Columns.GridColumn();
this.colFileTypes = new DevExpress.XtraGrid.Columns.GridColumn();
this.lnkEmail = new DevExpress.XtraEditors.HyperLinkEdit();
this.lblAuthor = new DevExpress.XtraEditors.LabelControl();
this.lblLicense = new DevExpress.XtraEditors.LabelControl();
this.lnkLicense = new DevExpress.XtraEditors.HyperLinkEdit();
this.lblCredits = new DevExpress.XtraEditors.LabelControl();
this.txtCredits = new DevExpress.XtraEditors.MemoEdit();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.txtAuthor = new DevExpress.XtraEditors.LabelControl();
((System.ComponentModel.ISupportInitialize)(this.lnkDownload.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gcPlugins)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gvPlugins)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lnkEmail.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lnkLicense.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.txtCredits.Properties)).BeginInit();
this.SuspendLayout();
//
// lblWebsite
//
resources.ApplyResources(this.lblWebsite, "lblWebsite");
this.lblWebsite.Name = "lblWebsite";
//
// lnkDownload
//
resources.ApplyResources(this.lnkDownload, "lnkDownload");
this.lnkDownload.Name = "lnkDownload";
this.lnkDownload.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkDownload.Properties.Appearance.BackColor")));
this.lnkDownload.Properties.Appearance.Options.UseBackColor = true;
this.lnkDownload.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.lnkDownload.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkDownload_OpenLink);
//
// gcPlugins
//
resources.ApplyResources(this.gcPlugins, "gcPlugins");
this.gcPlugins.MainView = this.gvPlugins;
this.gcPlugins.Name = "gcPlugins";
this.gcPlugins.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
this.gvPlugins});
//
// gvPlugins
//
this.gvPlugins.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
this.colPlugin,
this.colDisplayText,
this.colFileTypes});
this.gvPlugins.GridControl = this.gcPlugins;
this.gvPlugins.Name = "gvPlugins";
this.gvPlugins.OptionsBehavior.ReadOnly = true;
this.gvPlugins.OptionsView.ShowGroupPanel = false;
this.gvPlugins.OptionsView.ShowIndicator = false;
//
// colPlugin
//
this.colPlugin.FieldName = "PluginDll";
this.colPlugin.Name = "colPlugin";
this.colPlugin.UnboundType = DevExpress.Data.UnboundColumnType.String;
//
// colDisplayText
//
this.colDisplayText.FieldName = "PluginName";
this.colDisplayText.Name = "colDisplayText";
//
// colFileTypes
//
this.colFileTypes.FieldName = "FileFilter";
this.colFileTypes.Name = "colFileTypes";
//
// lnkEmail
//
resources.ApplyResources(this.lnkEmail, "lnkEmail");
this.lnkEmail.Name = "lnkEmail";
this.lnkEmail.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkEmail.Properties.Appearance.BackColor")));
this.lnkEmail.Properties.Appearance.Options.UseBackColor = true;
this.lnkEmail.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.lnkEmail.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkEmail_OpenLink);
//
// lblAuthor
//
resources.ApplyResources(this.lblAuthor, "lblAuthor");
this.lblAuthor.Name = "lblAuthor";
//
// lblLicense
//
resources.ApplyResources(this.lblLicense, "lblLicense");
this.lblLicense.Name = "lblLicense";
//
// lnkLicense
//
resources.ApplyResources(this.lnkLicense, "lnkLicense");
this.lnkLicense.Name = "lnkLicense";
this.lnkLicense.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkLicense.Properties.Appearance.BackColor")));
this.lnkLicense.Properties.Appearance.Options.UseBackColor = true;
this.lnkLicense.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.lnkLicense.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkLicense_OpenLink);
//
// lblCredits
//
resources.ApplyResources(this.lblCredits, "lblCredits");
this.lblCredits.Name = "lblCredits";
//
// txtCredits
//
resources.ApplyResources(this.txtCredits, "txtCredits");
this.txtCredits.Name = "txtCredits";
//
// btnClose
//
resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnClose.Name = "btnClose";
//
// txtAuthor
//
resources.ApplyResources(this.txtAuthor, "txtAuthor");
this.txtAuthor.Name = "txtAuthor";
//
// AboutForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.txtAuthor);
this.Controls.Add(this.btnClose);
this.Controls.Add(this.txtCredits);
this.Controls.Add(this.lblCredits);
this.Controls.Add(this.lnkLicense);
this.Controls.Add(this.lblLicense);
this.Controls.Add(this.lblAuthor);
this.Controls.Add(this.lnkEmail);
this.Controls.Add(this.lnkDownload);
this.Controls.Add(this.lblWebsite);
this.Name = "AboutForm";
this.ShowInTaskbar = false;
((System.ComponentModel.ISupportInitialize)(this.lnkDownload.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gcPlugins)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gvPlugins)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lnkEmail.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lnkLicense.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.txtCredits.Properties)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private DevExpress.XtraEditors.LabelControl lblWebsite;
private DevExpress.XtraEditors.HyperLinkEdit lnkDownload;
private DevExpress.XtraGrid.GridControl gcPlugins;
private DevExpress.XtraGrid.Views.Grid.GridView gvPlugins;
private DevExpress.XtraGrid.Columns.GridColumn colPlugin;
private DevExpress.XtraGrid.Columns.GridColumn colDisplayText;
private DevExpress.XtraGrid.Columns.GridColumn colFileTypes;
private DevExpress.XtraEditors.HyperLinkEdit lnkEmail;
private DevExpress.XtraEditors.LabelControl lblAuthor;
private DevExpress.XtraEditors.LabelControl lblLicense;
private DevExpress.XtraEditors.HyperLinkEdit lnkLicense;
private DevExpress.XtraEditors.LabelControl lblCredits;
private DevExpress.XtraEditors.MemoEdit txtCredits;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraEditors.LabelControl txtAuthor;
}
}

View File

@@ -0,0 +1,50 @@
using System.Collections.Generic;
using ChanSort.Api;
using DevExpress.XtraEditors;
namespace ChanSort.Ui
{
public partial class AboutForm :XtraForm
{
public AboutForm(IList<ISerializerPlugin> plugins)
{
InitializeComponent();
this.gcPlugins.DataSource = plugins;
this.txtCredits.Text =
@"TCr82:
Support for VDR's channels.conf file format
Vitor Martins Augusto:
Portuguese translation
PDA-User:
Analysis of TLL file structure and extensive testing of ChanSort
HellG:
For writing TLLsort which was the basis for the first versions of ChanSort
edank, JLevi, Oleg:
For writing TLLview, TLLedit and edankTLL and making the source available
Many more on lg-forum.com:
For providing example TLL files, error feedback and other helpful information
";
}
private void lnkLicense_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e)
{
BrowserHelper.OpenUrl("http://www.gnu.org/licenses/gpl.html");
}
private void lnkEmail_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e)
{
BrowserHelper.OpenMail("mailto:horst@beham.biz&subject=ChanSort%20" + MainForm.AppVersion);
}
private void lnkDownload_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e)
{
BrowserHelper.OpenUrl(this.lnkDownload.Text);
}
}
}

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblAuthor.Text" xml:space="preserve">
<value>Programmautor:</value>
</data>
<data name="lblLicense.Text" xml:space="preserve">
<value>Lizenz:</value>
</data>
<data name="lblWebsite.Text" xml:space="preserve">
<value>Projektwebseite:</value>
</data>
<data name="lblCredits.Text" xml:space="preserve">
<value>Referenzen:</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>Schließen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Über ChanSort</value>
</data>
</root>

View File

@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblAuthor.Text" xml:space="preserve">
<value>Autor:</value>
</data>
<data name="lblLicense.Text" xml:space="preserve">
<value>Licença:</value>
</data>
<data name="lblWebsite.Text" xml:space="preserve">
<value>Website:</value>
</data>
<data name="lblCredits.Text" xml:space="preserve">
<value>Cumprimentos e obrigado:</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>Fechar</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Sobre ChanSort</value>
</data>
</root>

View File

@@ -0,0 +1,457 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="DevExpress.XtraEditors.v14.2" name="DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="lblWebsite.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v14.2">
<value>Vertical</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblWebsite.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 92</value>
</data>
<data name="lblWebsite.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 13</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblWebsite.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblWebsite.Text" xml:space="preserve">
<value>Project website:</value>
</data>
<data name="&gt;&gt;lblWebsite.Name" xml:space="preserve">
<value>lblWebsite</value>
</data>
<data name="&gt;&gt;lblWebsite.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblWebsite.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lblWebsite.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lnkDownload.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="lnkDownload.EditValue" xml:space="preserve">
<value>http://sourceforge.net/p/chansort/</value>
</data>
<data name="lnkDownload.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 90</value>
</data>
<data name="lnkDownload.Properties.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="lnkDownload.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 18</value>
</data>
<data name="lnkDownload.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;lnkDownload.Name" xml:space="preserve">
<value>lnkDownload</value>
</data>
<data name="&gt;&gt;lnkDownload.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lnkDownload.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lnkDownload.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="gcPlugins.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="gcPlugins.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="gcPlugins.Size" type="System.Drawing.Size, System.Drawing">
<value>400, 200</value>
</data>
<data name="gcPlugins.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;gcPlugins.Name" xml:space="preserve">
<value>gcPlugins</value>
</data>
<data name="&gt;&gt;gcPlugins.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="lnkEmail.EditValue" xml:space="preserve">
<value>horst@beham.biz</value>
</data>
<data name="lnkEmail.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 31</value>
</data>
<data name="lnkEmail.Properties.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="lnkEmail.Size" type="System.Drawing.Size, System.Drawing">
<value>97, 18</value>
</data>
<data name="lnkEmail.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;lnkEmail.Name" xml:space="preserve">
<value>lnkEmail</value>
</data>
<data name="&gt;&gt;lnkEmail.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lnkEmail.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lnkEmail.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="lblAuthor.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v14.2">
<value>Vertical</value>
</data>
<data name="lblAuthor.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 12</value>
</data>
<data name="lblAuthor.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 13</value>
</data>
<data name="lblAuthor.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="lblAuthor.Text" xml:space="preserve">
<value>Program author:</value>
</data>
<data name="&gt;&gt;lblAuthor.Name" xml:space="preserve">
<value>lblAuthor</value>
</data>
<data name="&gt;&gt;lblAuthor.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblAuthor.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lblAuthor.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="lblLicense.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v14.2">
<value>Vertical</value>
</data>
<data name="lblLicense.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 68</value>
</data>
<data name="lblLicense.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 13</value>
</data>
<data name="lblLicense.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="lblLicense.Text" xml:space="preserve">
<value>License:</value>
</data>
<data name="&gt;&gt;lblLicense.Name" xml:space="preserve">
<value>lblLicense</value>
</data>
<data name="&gt;&gt;lblLicense.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblLicense.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lblLicense.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="lnkLicense.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="lnkLicense.EditValue" xml:space="preserve">
<value>GNU GPLv3</value>
</data>
<data name="lnkLicense.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 66</value>
</data>
<data name="lnkLicense.Properties.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="lnkLicense.Size" type="System.Drawing.Size, System.Drawing">
<value>338, 18</value>
</data>
<data name="lnkLicense.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;lnkLicense.Name" xml:space="preserve">
<value>lnkLicense</value>
</data>
<data name="&gt;&gt;lnkLicense.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lnkLicense.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lnkLicense.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="lblCredits.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v14.2">
<value>Vertical</value>
</data>
<data name="lblCredits.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 116</value>
</data>
<data name="lblCredits.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 13</value>
</data>
<data name="lblCredits.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="lblCredits.Text" xml:space="preserve">
<value>Credits:</value>
</data>
<data name="&gt;&gt;lblCredits.Name" xml:space="preserve">
<value>lblCredits</value>
</data>
<data name="&gt;&gt;lblCredits.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblCredits.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lblCredits.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="txtCredits.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="txtCredits.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 113</value>
</data>
<data name="txtCredits.Size" type="System.Drawing.Size, System.Drawing">
<value>374, 120</value>
</data>
<data name="txtCredits.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;txtCredits.Name" xml:space="preserve">
<value>txtCredits</value>
</data>
<data name="&gt;&gt;txtCredits.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.MemoEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;txtCredits.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;txtCredits.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="btnClose.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 210</value>
</data>
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>Close</value>
</data>
<data name="&gt;&gt;btnClose.Name" xml:space="preserve">
<value>btnClose</value>
</data>
<data name="&gt;&gt;btnClose.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnClose.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnClose.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="txtAuthor.Location" type="System.Drawing.Point, System.Drawing">
<value>110, 12</value>
</data>
<data name="txtAuthor.Size" type="System.Drawing.Size, System.Drawing">
<value>61, 13</value>
</data>
<data name="txtAuthor.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="txtAuthor.Text" xml:space="preserve">
<value>Horst Beham</value>
</data>
<data name="&gt;&gt;txtAuthor.Name" xml:space="preserve">
<value>txtAuthor</value>
</data>
<data name="&gt;&gt;txtAuthor.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;txtAuthor.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;txtAuthor.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>494, 245</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>About ChanSort</value>
</data>
<data name="&gt;&gt;gvPlugins.Name" xml:space="preserve">
<value>gvPlugins</value>
</data>
<data name="&gt;&gt;gvPlugins.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;colPlugin.Name" xml:space="preserve">
<value>colPlugin</value>
</data>
<data name="&gt;&gt;colPlugin.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;colDisplayText.Name" xml:space="preserve">
<value>colDisplayText</value>
</data>
<data name="&gt;&gt;colDisplayText.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;colFileTypes.Name" xml:space="preserve">
<value>colFileTypes</value>
</data>
<data name="&gt;&gt;colFileTypes.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AboutForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

77
source/ChanSort/ActionBox.Designer.cs generated Normal file
View File

@@ -0,0 +1,77 @@
namespace ChanSort.Ui
{
partial class ActionBoxDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ActionBoxDialog));
this.lblMessage = new DevExpress.XtraEditors.LabelControl();
this.imageCollection1 = new DevExpress.Utils.ImageCollection(this.components);
((System.ComponentModel.ISupportInitialize)(this.imageCollection1)).BeginInit();
this.SuspendLayout();
//
// lblMessage
//
resources.ApplyResources(this.lblMessage, "lblMessage");
this.lblMessage.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("lblMessage.Appearance.Font")));
this.lblMessage.Name = "lblMessage";
//
// imageCollection1
//
resources.ApplyResources(this.imageCollection1, "imageCollection1");
this.imageCollection1.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("imageCollection1.ImageStream")));
this.imageCollection1.Images.SetKeyName(0, "0000.png");
this.imageCollection1.Images.SetKeyName(1, "0001.png");
this.imageCollection1.Images.SetKeyName(2, "0002.png");
this.imageCollection1.Images.SetKeyName(3, "0003.png");
this.imageCollection1.Images.SetKeyName(4, "0004.png");
this.imageCollection1.Images.SetKeyName(5, "0005.png");
this.imageCollection1.Images.SetKeyName(6, "0006.png");
this.imageCollection1.Images.SetKeyName(7, "0007.png");
//
// ActionBoxDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ControlBox = false;
this.Controls.Add(this.lblMessage);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ActionBoxDialog";
this.ShowInTaskbar = false;
((System.ComponentModel.ISupportInitialize)(this.imageCollection1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraEditors.LabelControl lblMessage;
private DevExpress.Utils.ImageCollection imageCollection1;
}
}

View File

@@ -0,0 +1,94 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.Utils;
using DevExpress.XtraEditors;
namespace ChanSort.Ui
{
public partial class ActionBoxDialog : XtraForm
{
private const int ButtonSpacing = 10;
private const int ButtonHeight = 50;
public ActionBoxDialog(string message)
{
InitializeComponent();
this.lblMessage.Text = message;
}
public Image EmptyList { get { return this.imageCollection1.Images[0]; } }
public Image FullList { get { return this.imageCollection1.Images[1]; } }
public Image CopyList { get { return this.imageCollection1.Images[2]; } }
public Image Delete { get { return this.imageCollection1.Images[3]; } }
public Image Cancel { get { return this.imageCollection1.Images[4]; } }
public Image Save { get { return this.imageCollection1.Images[5]; } }
public Image Overwrite { get { return this.imageCollection1.Images[6]; } }
public Image Discard { get { return this.imageCollection1.Images[7]; } }
#region AddAction()
public void AddAction(string text, DialogResult result, Image image = null, bool isDefault = false)
{
int width = this.ClientSize.Width-20;
var button = new SimpleButton();
button.Text = text;
button.Appearance.TextOptions.HAlignment = HorzAlignment.Near;
button.Image = image;
button.Width = width;
button.Left = 10;
button.Height = ButtonHeight;
button.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;
button.Tag = result;
button.Click += button_Click;
this.Controls.Add(button);
if (isDefault)
this.AcceptButton = button;
button.DialogResult = result;
if (result == DialogResult.Cancel)
{
this.CancelButton = button;
this.ControlBox = true;
this.SelectedAction = result;
}
}
#endregion
#region SelectedAction
/// <summary>
/// Returns the action selected by the user
/// </summary>
public DialogResult SelectedAction { get; protected set; }
#endregion
#region OnCreateControl()
protected override void OnCreateControl()
{
base.OnCreateControl();
int top = this.lblMessage.Bottom + 20;
foreach (Control c in this.Controls)
{
var button = c as SimpleButton;
if (button != null)
{
button.Top = top;
top += button.Height + ButtonSpacing;
}
}
this.ClientSize = new Size(this.ClientSize.Width, top + 10);
this.ActiveControl = this.lblMessage;
}
#endregion
#region button_Click
void button_Click(object sender, EventArgs e)
{
this.SelectedAction = (DialogResult)((Control)sender).Tag;
this.DialogResult = this.SelectedAction;
}
#endregion
}
}

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblMessage.Text" xml:space="preserve">
<value>Wie möchten Sie fortfahren?</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Aktion wählen...</value>
</data>
</root>

View File

@@ -0,0 +1,470 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblMessage.Appearance.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 9pt</value>
</data>
<assembly alias="DevExpress.XtraEditors.v14.2" name="DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="lblMessage.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v14.2">
<value>Vertical</value>
</data>
<data name="lblMessage.Location" type="System.Drawing.Point, System.Drawing">
<value>15, 11</value>
</data>
<data name="lblMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>527, 14</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblMessage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>How would you like to continue?</value>
</data>
<data name="&gt;&gt;lblMessage.Name" xml:space="preserve">
<value>lblMessage</value>
</data>
<data name="&gt;&gt;lblMessage.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblMessage.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lblMessage.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="imageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="imageCollection1.ImageSize" type="System.Drawing.Size, System.Drawing">
<value>32, 32</value>
</data>
<assembly alias="DevExpress.Utils.v14.2" name="DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="imageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxMi4yLCBWZXJzaW9uPTEyLjIu
OC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAACAAAAAgAAAACQUAAAAP
BQAAANo+AAACtgQAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARnQU1BAADX+28z
GAEAAAAgY0hSTQAAbJsAAHJvAAD2rgAAhYMAAG73AADoQQAAMXQAABdsobYtmwAAAAlwSFlzAAALEAAA
CxABrSO9dQAABCxJREFUWEfFlclLW1EUxl0UQSp0IRQKpd0Vuikthf4J3Rah4uymXblxJSIixgFnJSoO
iCgOqAtBpURUnFBRiVIHVERRcWhVNInGxFQUT893yw1vSF4cIr3wZbj3cc/vfuec+0KI6L9KN1FbW2vt
6Oiwtbe369TW1ibU0tIi1NzcfFxXV/ezurr6m3af20o3wYFci4uLND8/r9Lc3JyQ1Wql6elpmpycpNHR
URoYGKCmpibq6+szr6yshGr3CyTdBE6KgLOzszoh+MzMjACYmJigkZERAcCOkcViwfoPhgrX7mkk3QQs
XlhY8J5YKQkCiKmpKa8DnZ2d1N3dTTs7OzQ2NmbhtTDtvv6km4ADvlIgJUEAARcGBwepq6tLuGCz2Whp
aQnOtGv39SfdBACWl5cJEL4EdwACCLgwPDwsTt/a2koul4t2d3cFJDtj0u7tS7oJVPfq6qo4iT8BBBBw
AWno7e0l7ghyu93Chc3NTbHG7nzX7q+VboI3sq2trRFc8CdAwAm4gDRwBwgADEAcHBwQDsFrVz09PV/l
3r6km+CWsq+vrxO3lF9JCLiAjhgaGhIpwLi5uSGn00l7e3viGV67ZNAvcn+tdBONjY12WAgX/AmnAwhS
IV2QDsgBiMPDQ/Ec14mba+MzT+vi6SYaGhrsW1tbBBeMBBAJgaJDK8IFiFtZ/EdtoE1RqJym05OTk0/a
eKo/UH19vR39DBeMtLGxIUCUToyPj4t6QEvW1NRQSUkJ5efnU2FhIZWVlQFuc39/P0IZTxUc4rvdgVaC
C4EkQWTXKDujv79f3A9IDWAqKyvJbDZTQUFBtTKeKjjEDztQxXAhkLa3t4UAAjeUIChOXNUAwT0BGKSE
9z9SxlMFh6qqqk6Pjo5EFd9GcEvCwBU4grSgTeVtCRDUAV5g7MSZMp4qOFRRUXF6fHxMnKs7SQkDR+AG
agMvMNyYCI5ixf7KeKrgEBfLKW4ztNBdhdQBRtYQOkV2CYoU6QkIUFxcfMaD4MJdhdRBgIEjSAtqQ15c
+F1eXm6cAm6ZM1wi3LP3loSBG0gJ6gJuAIgdNgbgvnXireZwOO4tpBAggEBaZEoAVFpa6lTGUwWH8vLy
nBcXF4Q0PEQSBG4AAikBEF9OxgDZ2dnOy8tL8W5/iJBGCSLdwP+ioiJjgKysrPPr62vxWn2oJIwEgbMM
cK6MpwoOZWZmnuOVioeDISXM1dUVrmJjgIyMDDxAHo8naJIwGFzkxgDp6eku/ibUQTCEU8vfGLm5udjf
G08VHEpLSxMAqINgC+PWAKiDYAsjJyfHGCA1NfWfV4802IE//OWNF2IymZ4kJiY+ZT2Pi4t7HRsb+ysl
JcXzWEpKSvodHx//MjIyMiIqKioshD9CWc944VV0dPRbhnjP+vgYiomJ+cAHfMex3iQkJLxITk4O/wuP
oQEZbqZmUwAAAABJRU5ErkJggu0EAACJUE5HDQoaCgAAAA1JSERSAAAAIAAAACAIBgAAAHN6evQAAAAE
Z0FNQQAA1/tvMxgBAAAAIGNIUk0AAGybAABybwAA9q4AAIWDAABu9wAA6EEAADF0AAAXbKG2LZsAAAAJ
cEhZcwAACw8AAAsPAZL5A6UAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAABD1J
REFUWEfFlUlLXFEQhV0EIUTIQggEQrILZBMSAvkJ2QYh4uwmWblxJSIijjgrzvOsOIOK8ywqKipxQEUU
FYdERdvWttU0ipU6F17zJp/aUXLh66bva6pOnVt1nxMR/Vc0G7m5uZM1NTWm6upqDVVVVYKKigpBeXn5
QV5e3s/s7Ozv6jh3RbPBiaxzc3M0MzOjYHp6WjA5OUnj4+M0OjpKg4OD1N3dTaWlpdTR0ZG2uLjorI53
G5oNVIqEU1NTGpB8YmJCCBgZGaGBgQEhgB2j9vZ2PG9lUS7qmEZoNmDx7OysvWI5khCIGBsbsztQW1tL
TU1NtLm5SUNDQ+387Kk67k1oNuCA3hFISEIgAi709PRQY2OjcMFkMtH8/DycqVbHvQnNBgQsLCwQRGRl
ZVFERIQh3LSi+srKSrJarbS1tSVEsjMR6th6aDbQ3UtLS6KSm5Acggs4hpaWFuKJoLOzM+HC2tqaeMbu
/FDHV6PZ4ECm5eVlggtlZWXEI6YL3MnMzBS0trYKAVgQsbu7SyiCj+iyubn5mxRbD80Gj9TRysoK8UiJ
ruem0oCq+/v7qbe3lzo7O6mvr08cAdb19TVZLBba3t4WbvEzG/fMVym+Gs1GSUnJESyECzk5Obrnrqa+
vt7ugLQgYm9vTxTCYs+4N77wtiafZqOoqOhofX2d4IIREIjg6Ac0HUYRLgAeZfEbvYExhVt8UR0fHh5+
VudT/AAFBQVHmGe4gA7Xq1gNEmA0h4eHkUiMJNxLSkqi2NhYio+Pp5SUFIhb29nZcZXnUyQHfLebMUpw
4TYgcnV1VTQczls+GV1dXeJ+wNFATEZGBqWlpVFcXFy2PJ8iOeA/m9HFcIHF6FZ8X+rq6oQYHAnH35fn
UyQHPFbH+/v7oovvAtyC2I2NDeEKHEFv4DqXbku8M3BMeIGxEyfyfIrkID09/fjg4ID4rCg/P1+3ovvS
0NAgkqNZEV+eT5EccLMc4zbDCN0XHB2ESz2ESZGmBE2KPrlVQGJi4gkvgguFhYW6FTkCbkuMb2pqqvER
8Mic4BLhmXUYiEcfwQ30B/oCbqBP2GFjATy3FrzVzGYz8aWkW40jYKIgKDk52SLPp0gOYmJiLOfn54Rj
+BdQAHoJbqA3MDFwhS8nYwGRkZEWm80m3u3FxcW61ThCW1ubEJaQkGAsIDw8/PTq6kq8Vv8VFAEkR+As
CziV51MkB2FhYad4peLP/GbUrcYRcCldXl7iKjYWEBoaij/QxcXFg4FiABY3ubGAkJAQK38T+uAhHcAo
YkVHRyO+PZ8iOQgODhYC0AcPDdadBaAPHhqsqKgoYwFBQUE2/n60xQ784S97Pic+nyd+fn7PmBfe3t5v
vLy8fgUGBl48Fv7+/r99fHxeubm5ubq7uz914g9n5jk/eO3h4fGORXxgPj0Gnp6eH7nA95zrra+v78uA
gACXvwrYNK14tLKNAAAAAElFTkSuQmCCnggAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p6
9AAAAARnQU1BAADX+28zGAEAAAAgY0hSTQAAbJsAAHJvAAD2rgAAhYMAAG73AADoQQAAMXQAABdsobYt
mwAAAAlwSFlzAAALDwAACw8BkvkDpQAAABp0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKh
AAAH7klEQVRYR61VCVSU1xWeDjMQT22W40m1ilo1JkqIS6vWQ0xqUptjksbUGCsCsWn1aF0KSCSIsmtE
FimL7DuyCVRARPZFIIKgbEcWQcQBVLZZmBlEFv367nOwDiFVUu853/nnX9673/2+++4IphKBgYGVCQkJ
0vj4eC3ExMRIo6Oj+4KCgqr9/f13aj5/8cGSqevq6lBTU6OFsrIyFBUVIScnB5GRkbh48aJ3Q0ODrmbZ
iwuqlhJWVVVpobS0FIWFhZwAUwiZmZmorKzMYKSma5a+mIiNjZXW1tbi6tWrWrh8+fITBRITE5GamgqJ
RILi4uJM9m6aZvnkMRVf6flkFlRUVHAVcnNzkZKSwlWQSqWor68nZeJ5oh8Ltulz+0oErl+/Dvr+9OnT
cHJy0gIrhld/5swZqNVqdHR0cIXYHk6adD8M2pQSPo+vzIKRxsZGXtnToPWkAhFOT08HUw6Dg4Nchba2
Nv6OqbNLk1I7puJrXFwcmpubQSpERUWBWcNBavj5+XFkZGRwAhRE4t69eyDSrKDRtLS0LzVp/xtT8ZWR
RUtLC9gRoy6nJuMoKChAXl4esrKykJ+fzy2gePToEZRKJTo7O7lS7N0wU/dzTerHMRVfCSQpqRAQEPCD
bwlJSUnwjDgO5ZCCk6AgEt3d3Zw4IzvIeuMjTXqBgLr9eX2NjIpEfVMtaq5fQ1NzI1eDQIRocyqi7EoJ
kqqCsd5rAYKi/blqZCHtQXaSWqyhFf39/Ws4Abax9H/56ubjCsvIPfh9wDswjHoNy1OnwyjvFXxSOhsm
3xvAvPgD2Kb9BdY+u+HgZI/E4nBIVK34+7kNOJxkxq0jtTw8PHDixAmcPHkSp06dIjXburq6ZgjYEZNN
5mtefi5s4y2xLHwWlp9/Ce+WifFRvQhftIlg3CGGaacYJh26+EryCr65bYRDNzfAsnojYm+6o05VhBRJ
AIyz9JFbdBHZ2dm8j0hFIuPr6wtvb2+4urr6CyIiImQTfbVztMN7Lisw11+Mt9NE+M0lHXzAkn/WKsYX
7WJsuS3Gl+y6XSLG13d1sad3Glzl6+AvN0Wq2hEl90NwVZ2MA3UrYXt2k1aPJCcn8xlDJ83Hx0chCAsL
k926deuJn+StWeznmO0lwsIwHSyKE2JplhArGIlVZSKsIZSKsJZd110R4cMaET5pEmObRBeH+wwRrDTB
2UFL5A+6IujOfjh1GqC17XGfUI9QYpoz1GecQEhIiIzmNqlAHb/FdSPm+OphboAIs72F0PcVYl6IEAuj
hVh8RoglCTp4O0kHy88xZTJEWJ0jxrsluvhDtS7+dEMPe7vegGv/xwhR7EC8zAq76hbANsJYSwWaFVSs
l5fXgIDNejmNTFKBsDJwPma56TAIMdNdiFmeDF4M/xJyVQyDXsdbIS9jQYQOFsfoYGmiCMvTxVidJ8a6
cl1sqNeDSdt8WHStxXd3N+Fg84dwbTfis4AKbW1t5Wq0t7dTMw4ISIa+vj6wjkRwcDB2On+FOR4vYfbJ
n0H/FFOAqbDCcy5MXbbA4Ts7PuOlMimcg+zwvscyzAsUY16oDhZEifBmsgjLssRYdUkPf6yciW11S7C7
zgjbvp8Ja++vnyjAiub5PD09lQLGQkEzmwbFODxKnDHfTwyDwFcRUOKJrjud/Lmbmxvu37+PgYEBDoVC
gcirflga93MsZEosOivGohQxFqeKsSRDF8uzf4H1ufrYWPhrOF/7FL29vXw0kxo9PT10NJUCd3d3ttcA
SIXQ0FDO0NHJER97vQdzF9ZEGtbjGB4e5iqEh4drvnXA+9Fz8M55MQwZDJgdS9MYAYa32G+D1GkwTH0V
RrEzYOG8l6+5cOECL4AVpBSwwTBAo5JNpmfi+PHjGBsb438y46i8XYA16XpYy5pxbZ4ufpejh9VZbG7k
vIzPyl7HgfpVCGi2RPbtUNzqvcETy+VyriQjoBKw6aSkiughO5Ja1U6Evb09/4OhxWx+8GdbQlbCKJM1
X85r+HPJL7GrfDFsCtbj23Bj2Hsc5GpO3IdG/OjoKA0ilYBVpXza18lAXhMcHR0w9nAMKrWKQ6GSwTx3
E9wq9uJCWwha+2vQI7+HHlk3pANS/s3Q0JAWKBeBghWvEjg7Oysn+kqgZPaO9rBzOIrDDjawtj+Ef367
H7d6bqKhox4nTh/DgSN7sf/IP/iVsPfIbuw8/Ff87bAZdtvuhJWdJY46HGF7aatAR5Hi2LFjagF7qZro
q1LFekLeB0l3O5o6GlDbdg1VLRXYY7ML1e1VqGy9jPIbpShpLER+fRYyq9OQVpmE5PJ4xJVFIeZSGL9m
12ZwsjKVFMMjw7x/xvGEAPNVNdFXqt7O8XHlh+yt8I3dQRyys4K59QG+mUIt5+gb6MXN7haUt5Qhq+Y8
zlWeRcqVBCRXxOPfVxJx4Voqfyfpa4d6SI2HDx/yHiJQuLi4qAVHjx5V0c1ErwikhnpQzb2kq42NDV84
HiOjI1AMytHRL8GNu01ouccmXG8buqTsnCu6IVfLoBpS4cHIA558YjAFHghsbW3VdEN9MK7Aj8HMzAwW
FhZaMDc357A8aAkrK6bS4/sh9u6Z2LFjx10Bq4oTeNqfnwoK7utUYpzAuDf/Dyi4r1MJa2vrYb7yBQX3
9Rlhamqqv3nz5hlbt26dJti+ffudyfz5qeC+TggTE5PfEoyNjVeyfMvYN2+yfvrVvn37pv8HvCkwgKFr
n78AAAAASUVORK5CYILCCAAAiVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEA
AK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAhUSURBVFhHxZd5UFXX
HcfPu+fc+/aVRXFBcUPpaJ1aQp3WsUnTGcwk2ulMmphM0rFqa5OOU6ORRbbHosADHjuoaNS0aU3dWmuK
mjiTxYUCyqKDdNxwyWiJ1hJXeO/9+j1PaJE8jGln0j8+HObey/l+f7/z+51zYET0f4XVTI1lZWPHiLqZ
M0saU5Ovd7+z7d7hJYu618eML6oIj7BUhYezXM5ZlUFj6YrC3ApnBYKzQpWzUpCvCrYBYzXIEgrz4p0H
3xXodHgvWLlBj1FlRTrd1Bq7rXRXQkLX0YUv3N8WNeJWpeDHmHdU1OTf/eCpg+e3bCbfx4fIv38v9W3f
SueSfk1/jJ/V5rXZ5rox4X9jwCsEK+J8dK3ZXL1n1reudya/SV2efHp/wYK+Spv1k0Kuy2INaam3exoO
E508ToEDeymw420KbK0i2lBEfetWU8u8ub5yq2VTCRePZaBUvoN4HmNKhaZWvzdz5p2Lb6ygf5R66eir
r/g3TYjZU2axxJRbzKwIQbHzmzcE7jfCwOEPKLDrt+TbWk2+ijzy5awkf/JiouXP041nvk3vOk1nUplu
bOYjDLhBMdfJdP9se9TI6x3zn6UbSauo/ZWXqS5q5Emv0TCj2OlgNRHhLGhArzJWFROzcPfTT526XJJP
9O5mok0l5MtfTX1Ji6l32Y+o94XvUuCZqXQ3PpL2OfU9GTo+dx1qwjPEQBVI5zrHRqO+4UjsZPp0/nPU
9ZPn6U9x0+56BE/JZNCCeJnL9bCB2imTWfnIEazQal30lzmzr15Zvogo8zUKIPL7C+fQvcQ4upUwknpm
OOnzKVY6ZFd78zn/aT4Ey/oN1GJEBlbsMBvunJowji7OTqDWJ+Jpa5jzXDpjkR5NZbk6acAZwkDsFFY9
LpoVwV2RzarUupxpB+Im3rzx3BMUmP9Nuj17LF3/houuTrLSp9FGuhalp0NW4StQ+WslEF6rCtNGldd/
ZFSpw2mjznFj6OPoMVSqqfVlmmpxox6KH8eAXJvyMCc+srMqo15Zb1DrjkQ7ez+b5qLPJtnp0mgjnY/U
6Ey4Rl1OleqNvA8G1m1V+aUmjdNJg0ZtJiMdtJgCqI/CbClo1LNs9lUMuJysGmy0WYLV7NGxmW8ZRNOJ
cANdhvhZF6K0CTpl4XTKoNCHmkLHhY5aOBCcdqvCVyyUZXnohjxF978ZKEd6vZiomCtsvcqX7THyWx1m
Th0mTq16hU5AvBXizYqO/soY7eTK3TyVL5Ddkd9voOYrG8AS1Ia52Cb7AwOlmKgMmajVBMsUwlau8cNH
INyi6qipX7gZHMDv2ZpIycJ3OSBbe9CSayGQheofMFAD8YqwMFYbGcHK/mMgltXEjGcliLzM5WAlVgur
NBuDLeZFhXswYS5I08TojYJfaIBYs05HjToWNNAIjuPZFpV3Z2hibAb+ZoC0/jETBIvRYpXdxsodDlaJ
LBfrsRHJDOQ77CwH6ZKky/RBvAgU4w8LghGJxO2C32oJij8QbZLiMHIC698ms4KaqNKLthTsmGnDkIpN
TJKBLTpXr2dujCxT7vEQGyATgmuBNOCBgUJN/GKPUPpaId7UH/VxjNuFcmeL4NeaUQ+nURtnUJwNdpWy
hahMVUIbGMwaGJEjy8B6IXX/ZsCA3OmKVLHiz1zxt/anWiKN7IShYpUn4r1WrYnT7XYR7JJro/VU79J8
KYr4YTJMYPxSHhIfMJAHkIFV+xTF3wJRGbWkDeIHVCWAQlsuvyt4sMaGUoPa3IkNqmeSif4Za6FNdu3S
G0wwaeLL+IIBCQws3avo/Cf6o26EcCvW+qiqkEfjf5DfSANyG84ByUilFyauTDETxdupa6qF3KqoSZJr
jnPjUTwkjEqX4/d2cKVXRi4rvUlB2tF2bVjr9Zo4l45vZLsNNpCGYlrJhKnaqnXenG4lmmWn/SMMvSkK
T0iDyKNgbkw0CLFFKN0yctlqzXKXQ4X/DZvPTj3vRVvFD0QvxwED6TAg0/kmE5HbHPq/35tho5txVqo2
qcdggmVAaDhkiwWRk+J0+6hBthZSfhxRt6K1OlHhn5gFQShHRi+/GzAga2AgA7Kg1gTh8fURhvu+6XZq
wvmB+8OPMyGUNQwst3+SXMFfque6QDtSLqNuMyJyq6AOh0rletGyBiKDNxlJNnZJNyaRAhmIVF5W5KTZ
nL/ePMpIn8fa6Ddm9Zx8noPnocAPhWVh396g1zrarSZqM+BkQ8rlodOFk2+3Rb2bKkScjFKmejAyhVlS
FMir2sDvaUxeVsR7V2Is1B5lpjyuLMmEjjsELB17NC4NMftjov1np02kjjAzdTo1uhihUXOEnrJUsQ4G
WCjWwMDQNR0AO55jl0270T3OSluMomUtnhXKq9wQ2Fq4KNDU/JPznqbLiXPpwvTxdCHaRt3jjXR4hD5Q
aFBHFBtVVhIC+Twdk4QiFSDFS9sjTXTUZfC7FTHajXbNHgIrtZhYpdO+r+v1JdS99CW6+uwcuvadSXR7
Rhg1jjMH6mz6mLfsehaKzcANoSwEEYoM3KLrDOLY6TAT1WjcI69w8pQdDFuHYvKYjHWXM5LpVm4S3fzl
i9Tz4pNE8+LoyESHv9SsRlVaNRaKKpsWzEKWvK5DcCj96z75oFnr/dAozr5vEGwoLBXndQpjCU2/+jnR
js10N28l+Va/Sv4lifT7UY6rubhmF+pxKA1DPtoRHTQseaBEFYVva2InYEMJGlgNKsZHN19/ZwPR3m1E
NdnUPv/7hBSuSnpgMCTJIB0dhIspjvDhka3uhVhpCNgaTCLBhFHVkyY0HV38sv+DxCfvF1lM3keJSx7X
gHxfDrGKEHzhv9Wvm5APvz6I/QuZzBFpeiSaDwAAAABJRU5ErkJggn0KAACJUE5HDQoaCgAAAA1JSERS
AAAAIAAAACAIBgAAAHN6evQAAAABc1JHQgCuzhzpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAABJ0QAA
SdEBBfyrlQAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuN6eEncwAAAntSURBVFhHnZcJVNT1
FsevgGyiqBiEmqmkT5+5ZAj4emVohhxEEBQQDQSUNRwVlEWNdQQVFBWxMHu5lTyzl2K2aZkppLYIirLM
DDPDpj4BCZSZAfl2/38GyaOVdc+5Z+Z/zpzf53u33/8O/Y6ZmxK9Zk0UM5QonX3j33Tp00QJFkSefOaQ
7qP/2IxtiCSLiNTbiLo+IsLJv+CfCd6H8LkB4QtDwpdGhBN9CXvZo4yoaYwBZTNjcDfqUbOcRlS4h8Ff
W1vj8sKFKI+NRWViIirj41ERF4eKNWtQHhOD8lWrcF0iwbXoaFyLjERZaCiuhgTj6tJAXH1jMa74LUCp
lztK5rqgxMUZPzpMRtFTFig0J3j0pSvGRGP0zAdmNJXoaAFH8MOcOaj/8EM0HD6M+oMHUff++6h5912o
334bqtxcKHNyUJ2VBUVmJuTp6ZAlJ0G2YR1kiXGQrY1BVYwEVSujUBUdhqqIEFSGBqAyxB8VAQtweepY
fDeA4GVMZcy06kazDSIKzCW6f/HVV3Hz2DHcOHoUDQUFqD90CHX79qF2717UvPMOVLt2PSRAIU2HIjUZ
iqT1UKyPhyIhBoq1EihWR0EuCYP8zRDIIwIhX+4PWbAPZAFeKJ0yEqcHE543op16PBnOJSo91b8/6vbv
F+E3jhx5KAO1+gzI9BlQZmdBuTkTyo3pUKYlQZm8DsoNcVAmxkAeJ0FlbBSUq8KgXBECZVQAqsP8Ub3M
B9VBXpAvckXJUCOsG0AtzOY+JZqQRKT9ycNDhIrOJXgQ/XvvQZ2fj+/5+fsThajK2QZV9haoNmdAlZEG
VXoSVCnroE6KQ/W6GHyWvQknd+ZAtjoU6pXBUEcHQB3hD3WoD1QhXlAtnYcK++E4aUOwMqAl1J9HJJ9r
L0tNFTNQd+BA96cQuQDfswcXPjiE5qYm6HQ6FBceRxVD1JulqMlIQY10A2pSE6BKWosvcraIv7vb1oZP
t2dBvioItSveQG3UItSGL0Tt8vmoDXZHtcskXBtBGN2XMoWZCDhgYoIaBgm17nHhWc11v8CRC4f2mCDi
/P8+hmxTGmozklArXQ91ajy+2pH90O/aWEThVi6TZAkaov3QELkADWGeaFg2F7Xe0yEfTZhiSnmCgMAC
W1uod+8W6yw6f1fl5aGYs9Hc1Kg/std0Wi3OflQA+UaOPj0Bp3K3obm5F95jba2tOLYlncvgi5tR3rgZ
7oGby91wY/ErUI0lTDWl3aKA/44YAeX27VDt2CG6kv08l6Cp8VF4j2lZxJnDh0T4ncfAe6yVRXySmcxl
mI/bke64HeaK/wfOQN0/CS+a6QUUDBsmjlZ1drbocvazLOCXlhb9MY83QUTLnTv6p8dbe3s7jm3nnony
QFOUG5rDXdAU9DJuTibY99MLOGRuDkVGxkMuy8zAmXf3/Cngj0yAH9+5BbWS+WhZ6Y6WFa5oeXM2Wpb9
C42OhGkWegH7eQoq+LoVJkFwObsiLYVvumR8/XYe7txp1h/55CbAC3OzUB/jhdY189Aa64a21S5oWzkL
bWEOaJnBAgb8RkBpQACqNmwQXf7WBvF2Ey6Y6pRErnMO1/nJRWgYfmJXFhrivNGW4IG78XNxL24O2te+
hvZYZ7RHTsVdF4LDwN8I+NHNTXzhVMbznc73uiJhDWTRoagK9kO5jyv2BfqiRqXSI37fhM7PlwSh3m8c
2pZNxr0oB2hiZ0CbOJt9FnQJztBKpkLjaQzHwX16BZybMAEXpjuhaPwYnLe1wrn+BijmF8fFQYQLQwip
jpOgfkIBW4O9oHyFxCjb3fpA49EXmgUW0AQOgzZyArRvToJmsTUch/TtFfA5+1f8Hv/amHDWjHDegsED
CcVWTw7vMUFEzjIv1LkyeCGDF1lBE2ALTdAIaJaNhjZ0DLRhY+FoY9Yr4AteJE7xAnHGhLPRj8EcfRFH
n+Lw1+A9JooI90GdL4MFaPg4MXIh/dpV06Bd7QBHW4teAV8K0fPm0hP9OY7+78J7TBQRtRj1yydCG+MI
bdzL3AczoV3P/fCWCxyHD+wVcIpXqG84+u94aznL0SfbT/xTuACoq63RPz3ehJswZ8VSHkdn6FLdoZPO
hy5zIXSbfOE4wqpbwAFO/2lO/7em3dEXWRLSJoxCeVmZ/phHTWy2IG9kvz7pD6ejsfE2ciIXoTGFwVlL
oMsJgm7ncuhyw+A0yqZbwMHfNF9Rf+58Tv8l7vyNEx8vQoBnL/WGnG+zRmfCdrfHi2jkd4lQgkapD3Q7
QqDbHYWOPavQ8d4adLwfBye7YaKAgIOc/jPmRmL6hea7xCvTz08RLtsSMieziGu9IkR4oDeq7Em8ze6+
TvhlriF2eNo/JOIBfOMi6HaFd4P3JaDjg2R0fLQJHUcy4ThmRJ64kOxlAcV2w1E02ATfc/p/4NG7bE24
OpRQ9gxhywujUMEiBHhWgDcqphCaXyK0ziTccyVovMzwi78Ndvr+WxTRDfdnuB/DI9CxNxYdh5JEaOdn
76Cz+BNoT+Rh3DNPZ4orWaohac8Ps0KpsxN+GN4fP7KAEl6ZyobxO+JZQiUvD9n2o5Dp545rEwi3HQh3
Xia0zeaLxt0AGt+BPOPPojXieex8YzZyIvzQlLaA6xzK8BiGc9RHt6Dz2w9xv/ISOi99ivIPtsF6kOUS
QYChhyGVnjXvg9KZTrjuMQtljmNx5RljXBvOcBYgtyNU8wJxfRzhJkff6KRPP990wpWqWfwUtMufg3al
PVrjndGUNI+bbSk68iXoOLABHZ/m4X7JaXRVl6BLeUUUkBsf9WAppUF9KHCvKa/lwwei3HMWZL5zUO3v
CoXLFCjsbaAYawD1Pwj1HP2tqYSm6Vx3bj4x/d5m4i2njRgPbex06JLm8Ihx6vNXovP4DtxnWFfFxW54
bTnuXy/CrXOFmDZx/IO1XDCjaYZ09CSP4E+jB6Nq/kwoA+aiJsQD9eFeuBnphVtBs3Db1x5NC8ajxXsk
2nyHQ7OEwXyliuB0z+5mO5yOzlP/QefFQty/fFoEdsl/QpfqKn8vRnvJGYQt8n74j4neLKcbUeERS+q6
bGuI6xOGQPbSaKhdJ6N+oRNuLZ2JpvA5aFk9D22JXmhP4Rpn8nhtDejt8v3r0FEgRccn29D5eT46vzmI
zqKPcf/iCXReOI4bZz7Gcl/PK6Ymxo/8NesxY1sDkizrR+qDQ6jrAjdh+SjugecIKq5/3fPcAy9yD/AE
tMziHnAzwD0fS9zjBmyPnoL2+BnQpHlAszUQWi6BhpuvuWAzft6TjixJcNML48dkMYMn/8/N3KwPvTbU
iGKe7Uvp7NKRxiQdJbgJSUebspuT1K4fu4WB1G6AkdTO0kRqN8hMamfVT2o3ZIDUznqg1M5msHSkjVXC
IAvz3/l7TvQr893zMDR/cVoAAAAASUVORK5CYIIqBwAAiVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYA
AABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgA
AHUwAADqYAAAOpgAABdwnLpRPAAABqhJREFUWEftl3tQlFUYxrdpuljN1DjT1IhNTZk1JdY0NV0sU8QL
CYooaAQoKCyS3BdQrnGxkKtFiOEFAUUCZaF0YdlluQSCUIaxu18LEqmIAQKCLLcFn97zsQbFWk5bM/3R
O/Pb/Xb3nOd9vnf3nPes4D8VCx3iH3zqnfjFD5nu3nDvC1H/GPcviLK7Z8Fuu0dfjbWZbxa3UCDAXfqU
08LW9u4FFmlxSzfna/3iKiZCPq36xxFGyMdft8vseOG9z1fps07Fgwt2PfaGbZZSXNmFfyu0o0DkFyrM
M9+XqE87Ffc9GfTUcpfcC+3dY+i/wRjFxMRNjI/fhM4Ixkmjf3AM3X0jpAdIqq/iabPUdH3aaTEvcK65
Sy6nbB1Ea/sArnRpodPdxMjYxN9knGdMN4GOriG0XOpHV+8wTsgu4Rnz1P36rFMxiwwsc87las734RzX
g5aL/RgloaGRcaNgGi2XBtCg6obm534c+eqn2xsw25LLlZzphKK+A42aHgyPjmNwSGcUTON8cy/kdVdQ
r7yGfXnNmL/idgYcj3P58naIFRdxprET2uFxXKffgzEwjdrzXSiQt0FGJpKyOTy/ar8BA88FzFnilKM6
VNiGjMJmfvANrQ69/aNGwTTK6jpwWNyM/NKfEXOgCc9bGDAw+6VgkyVOx9TJORokH1WisPzib79eY2Aa
RaSVlK3EwYJmBKd8jxcNGZj7RrDJux8cU0cdUCEi7RxyJK18CTt7ho2CaRwvbkXEvnOIz1TCJ74BpqvT
DRt42/6oOiD5e/jE1eHgSQ16B0ZxtXvIKNjXcEis4TXDUs9BGF0HUyuDBmJMFpEB4e56OIdX4bMcFa5d
H0F7p9YomEYKaTmHfwPP2Do4hlTjZauDMw08axZj8tamo2obURXWesuw5/B59A2M0YY0ZBR9VMU9GT/A
xlcO+12VsPRS4BXr2xh4kwys2F6Gd7acQtDeBtoRb0B5oc8omAbTWuxyGiu3S7FMWIrXbA79uQEzVwlW
upfwlVgzHa87ZNocpsG0zLZJYO5WAvM7MWDuVsxPeJdcL9k6ydKtEt4YY5lrMQ8bx7j1mn22lOYt1c9Z
QvOZxmTyYiwX3oGBlR4KrCDHqzyksPRkdyHHOt8y2PiVYYO/ArYiBewCynk2Bk7Crtn77PP1NI6vHFXC
ckcpLEiHVYAlZyxzu50BWgVsGa7zq+KF7ERlsPQohsX201j9oQRWOyRY61UMa2Kdd8kMrL0YxXAMLsfm
0Eo47KrA+0FkMIAZK4O1jxxWXnJYfCjH64YMsGVIzUjtFFaLbZE1WONRhM2ifIQkyhCeLEdokhzBCaWE
zCAhhG/0KawR5sE3vh6en9Rie0wN3KKq4RJRRcuvkl8FG0QVeNPWgAG2Fa9yzVN7fNIA34QGrHYvQFlN
C3+Suck//nUMakewxj2PT8aq4ETPjiEVVJUKuJMZ95gzcAqtxtsbMwwbsBLmqwM/bUR4WiPsfL6GtEpD
y0gLv7hq5EkaeSPD1OOnc6vv07kD7b/08wYc6E5ZcidmgnChjU2UWA9RUj2ZqMNi+8yZBmY9G2yyfodY
HZWuREKmCk5BEpwu56BuG8C2iHJknKjnj1gD1Fz+CGs4QyMTaLvch/U7TsB7z1l+672Ff8JZfET9JZz6
gX/CtzBzzNynTzsVzMAmv0J1YrYGafkauIaVoEimRlNLL4SRZODkd3ySHtrbf8f1UdpuR8mEDpq2Hmzy
Ock3M5aMNSB2HbmfGtGRH2hHbEJISiOWO2Wn6dNOCzLwgahInZbfiqzTrfCMlkEsVeFbdRecQxXUUNR0
tzp00rmOZ1rH+4VgZpQt3XAUiamdq5CU1YRkasE81N5Tv+SQcpxDdHoTVjgfnfkVCOb6mjjv+lqTeeoi
ChSX4B9bhhMlKlymhpKaq4K09goGh6kCA7op+sd4rhED2glwP/XAeWcRnfsu4DAdatjBJqOwBUeKJjkk
bkFCFoeVzlkGTsUPez9i55V/Nru4AyW11xB74Du6m0JEpdYgbG8VdsYrEJpcOcXeadcEG+MVI4XHR6U0
vwtFlVeJDp7Cig7kydpxvOQKdh9UYtHGA2H6rL+PRTb77R18T1Z5Rkt/9IqScg7+BZy9dx63JaCAc2EE
irmtwWJOGDKJe2ghD7veFiTmXAj/j6VcSKKcC9gj50SxMs7n41KOaXlESjnXUEmTpVtO3kLrlPn6lIbC
8gHBHL8nBCaBc2ebRvzGLEPM06N/zcax/xeC2Z4zYZqPejxOCe6ezPN/sBAIfgUj9zzexZoZ2wAAAABJ
RU5ErkJgggEHAACJUE5HDQoaCgAAAA1JSERSAAAAIAAAACAIBgAAAHN6evQAAAABc1JHQgCuzhzpAAAA
BGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAAAd0SU1FB9gCDwcbCcW/Em8AAAAadEVY
dFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAABl1JREFUWEftlnlMVFcUxl3S1q6JdoliE6tp
Gtu01TR1BVvbamVxAYbZZFELyDLMxr4O28CALDMMyCKIDPsiIlBEccAuakSLS9sYpSo1ad27YFHTGt7X
8968Yq0DDrF/+iW/vDdn3j3n3HvPefdNeKzHehTNe3/hzHkLFroTQlt4e8Gid/mhjyaxVPjROvd1O0Se
nkN6owFB8mAEyAKtEhgSBOPWfOwwVSAmPp751MmxQygWmERSkQPvbnwSSTzeidfE/JmWqYUmOQml27dB
rpKNSnhUKJqaG7G/uwvmni6Um8pQ21CF5NTE3yWSdU/xbm2Xp7e0bXtFCUOzaFhov2zfp87Oww7Ll8N+
DFY6OcNx9Wos+3jFmTWua7KTUhKYqJiwP4VCtxd4t7ZJJBXa6zK1TERU2KBQ4v4Sbx6XvLylHTtMpYxI
ItTzJtvls9Hry8rqHYxI7KHhTeMSbd+KzOx0JixC9RtN4EXebJvE64XOhvxcGqy+IpAInuPNNsvJyWnS
Jt8NfeUVpbR9HpG82TYJhcJJvv6bTtQ11tDSeSh587hE47wKi/OZEGXwjxKJ6xTebJuo7aQVldsZdahy
gJIZd+XSmCmBwZsHuNlLBD682bro4clU4RuIcqKS52pEZBho77/9l80a1SKpRyNdu4gSgut1kVgQUddQ
w2wO9DvBbgUXyJoo+BOeXtI9+QV5TEtrMzh2205VjQnGAgOKtxWhoNAIlVo+TDOOoa75tax8GyOWeqzk
Q1kXLXVSQ1M909TUiMoqk00072pCa3sLauurERUTDpk8kEOuDIY+LwcBQf7Y27WHoQ7q5MNYl4fY7eVc
Q86t7u5u3L59G8PDw2PCMAwuXryI3t4jONt/BlXVJoQogkYSYAmSBUCXocXWwnxqXcHY54BkvVB59NhR
nDp1CkNDQ7h5cxB//HGTu7916xYlxXIbd+7c4bh79y4OHz7M/X/jlxvI1WdxQdkkWNgV2OTrg68Ofgmp
p3iY6mEWH8q6vDd4tvX19eHSpZ9x7lw/Llz4gWY4QL9/wtWrl3Ht2hVcv34VN25cxy8UcHBwEAcO9KC/
/yyOn+hDaloSFPTuZ1GqQyCjJIqKC5GVnYnE5AS2gDfzoR7Ua84636XrM+64q0rhHVsFgaoEHuoSyFIq
cfz4UZw+/R3Onj1NiZ3B+fP9GBg4Rwyg/fM27OnswKHDBxETFwlVqBzqMAU0ifHQG3JRV18Lv4DP6D4b
tAKjv3opgRpTzwUU7OkfoWz/OYgTmmGqqUdHRys6O9vR1dUBs3kfvvjCTMt/iALUoKauCt/0HQVVOugV
y6FNS+VOPYNBj/BINfKMuWwClXy4B0UJlOa2fA9Zce8I6rJjSKo4AsegYrgp78edVkigLsWGiAI6jsu4
LYiOjUBkdBhtQQgSkzTY3bYLxcVF3Mrk5T8kgdkuGYkp1cfgbzwIP+PX8MuzEF7WC13DSWQ0nYKOpZHl
JEcGocgzY1OEHmY661NSNVwS6nAl5Ao5qO8RFx+LuIRo5Bqyxt6C2S46V1nOPmZjzgH4ZPVweHN0W9hy
Dy8OM7wyzUio6MVK32xU11ZyPc8GY1GFKaFQyhEbH00FGI90nRZ0FoxRhKsypjkqq+766w9AnLaP2GtB
a0E0QqeF1E4Iic36HnwSXA7tli3YVlqEhMRYaJLiuKAs9OGBzKx0hIYrH96Gc92yWgJyzXBLbLegaYcr
R9s9EtqwboRWzuaVSvbANBQWFdBnlmaEFG0i15oGKsC16/2HqM7UfCjrmr1a996KENOwu6YVztHN9xPV
DCeOnfeI3AlHQkDPL/UtgTohE2m6VC6oNj2Z7lMoeA5thworA7dizuqM7XyoUTVxjku6YYWimnGJ3oVV
5HxVZPN/YO08US08u+Ea346FPlvhH2FJgq0HfV42vRcUcPbTYr7UeNluefjYW0B6evKU56e/+nFM4XzP
or8W+1cw9kHVsA+qgQNdHbirBdZmoRYOwXVYJquHA/Gm0Ii31iZjqbsaDu5yLJGmM6+7pPZOneu8nPy/
wsbgIlnRROJZYgbxxpPTZi2Zscg/buaHoUV2y9T5dvYhW2YsDU4bhXQ7e5nuH2aw1w9URjsHRc7zsxY7
kb/5rE/e9zPEqGI/FNgMpxFstuyAR2U6wfqaSrCfYexEbRb78P/BGJow4W/6Fe13GcY+rQAAAABJRU5E
rkJggg8LAACJUE5HDQoaCgAAAA1JSERSAAAAIAAAACAIBgAAAHN6evQAAAABc1JHQgCuzhzpAAAABGdB
TUEAALGPC/xhBQAAAAZiS0dEAP8A/wD/oL2nkwAAAAl2cEFnAAAAIAAAACAAh/qcnQAAAC56VFh0Y3Jl
YXRlLWRhdGUAAHjaMzIwsNA1sNQ1sggxNLMysbQyNdI2sLAyMAAAQukFKFHT8DkAAAAuelRYdG1vZGlm
eS1kYXRlAAB42jMyMLDQNbDQNTIIMTSzMja0MjDSNrCwMjAAAEHTBRHNZzlkAAAKHklEQVRYR6VWCVSU
5Rr+EbNMvd4Wy25aaqfSNDVzySU1xdulBDTTkhRc0CDjgKXI0RRxR0HAC7hgCGKouCJIgCKIDiLDMgzL
MAOzDwyzwLDMBojPff9xKDLxds99znn4hv//z/s87/t97/d9TG8Y7eLHDB45pe84J/cXZy7xeWf+Nxtn
Oq/a4rrQ6ydPt2+DvlvkE+y/yGfXRjfv4I2u3+70+3zddp9/rd660mllwOdzvvafNn2xz6j3nZYPfmHk
xD5vTHG2R30KXnh3FnPkyn1msovX3z/1DJj7ld++QK/t0Wf9DiYWBkZdle2My2rc90ue6VByQUf45eIH
R1J4Xf++xntoY0pJV+Rl7oOw8/kd+xNzjEEn0vWbIi6IvXfHcb4JiExw9d7lN3/FpmlTXdYMIKPMc6++
Y1e1Y86yDczwCXMdPlu71XX9zuN522MzjQev8BGZpUD0bT2Oc1pw8n4b4otM+KXUjGS+BVcqrEgTtCNL
1I4ccQfuSDtRIO8EV0lUdOC+1ILb1c1IKVThWGopAqNSDO4BkWn/9AyY4Rt2kZm9xNuuTljgsZmZvXTD
OP+QRPnRzBqE5RgQmtuKw8TIvFZEc1pxoqANp7hGnCkxIrnMRAbMZMCCLKEVObXtuCslUXkHilWdKKt/
gAr1A1RpumysaOjCPYkZkVd5WLk1pniGm9dr89397eoE57XbmOlua+f+GHrGGJcjwZE8A8KeYCCeDPxS
YrIZuEoGrpOBGyIrcsXt4Mg6KPNOlNZ1otwuLtR2oZpYru7EnRojTmQIsGHfKe3Uz1aOn7e8h4F55Gbc
xy4Tl/nuUW8OTUTY2VzEZlUj/q4aCfcNSOC24XSxibI34RzPjIs0BSmVFqRXW383IG2nCrSDSyySW1Eo
NSO/phXZ5TpcuSfD6cwynLicB+/tkbUjJs59a6rzN3Z1wvjZLszLoyYO8/kpnB8enwL/vbHYsOsYNh2M
R/DRiwhLzMTxKxwKwsP52wJczhcj5b4caUVKpJfUIYNXjxtlDbhVrsHtKi041TrkCzS4W6FCTqkEmQVV
uH6nDJmcMmzYEX6XGfjqS2++N8WuTnh52FvsMGjjriMZdZomCKX1SM0pQkxSBnbHnMeWQ/H4MSQOgWEJ
CI4+h9BTKTiefANJ6flIzeMht0SEomoVqhV6yHVtqGsyQ0mjRG1ArUoPqboJumYTZHU6rNtyIIm0nu0/
cDCr+QiOz/Rjh74r/YJjxQo1Ojq7YGizQq03QqZuhkCmRalQhYIKGThlYtzliZHPl6KwSonSGjUqpDoI
VSSmboVUY4RCb0KzqQNGSydM1gcwt3ehvfMh+EIZviAHpOXAODiwmr8DAPO5h/82Ll+E9o4uNLVaUE8G
6igYSxVRyVJngoIo11JGRKnGBAmJilk2PKJCb0ar+ZF4N61kIKeA/3Dul+u9C0nrTwi5LmWmu3i6/3qb
22G1GbCSsBEqnZFEKajWSKJUERJis7SJklitnTVqliaqgpnMWtFm+V2cpaXjIS78mmecMG+p8+pdiXbV
HljsG8KMnuny8enLWQaTtRNNNAWsgW5xGbE3YXGDBTKdGbV6LbiaMlQ2VcFgbYWRhFkjRpb0O+ZMSv0b
Ez6ZwHbdnzDDdQ3z6pjp74bGJktbjFabAbbsvYmzwiJWnJ5lqzMQKdmC08oQBIlWIETsg+LmXDRZm2Bs
b0crrYVGmtLgyHj+86+Nfv39WQvtqj0wavwMhhkwdEhgyPGChsY2MtBuM8CWvTfxGrUF+Q0FWMv/CK5F
b2AdfyZS1QmIkW3FDf158Fvz0WKxosX8AEpNM3yDIjJIapC96/6IAYNfYof+tEiTa5Xa3wx0Z99TXEis
rqf/ta0IrfWHG4kvKhqB/TU+EBnkuNYQh0xdEiQmAQyWNpuBCnEd3H2DjpFGX8e+z7Baf4TDo7bos2R9
4KGiSslvBrqz75m5kMRraLFJaH3kaNMRJPSwVeFOQx6ETVKUG3hQmMQooWngNKWTCTPyioVwXuG3he22
XlFHL+ct8/4+i8N72Gg30F36nuKSxiZkqC8jQhxIc78ZPD0f9xqKUEkbT1WdCQ0tdC4YcnGuPgKX1DFQ
mVS4epPbMX2h5/LtSSV2tSdg/cGLzKQFX7kkpd0261rbqe8pS3v23eJs6cXU++eVx7C4eCSV/k1ES4JQ
Te/LlEZUqIyoN3SgsqUMCaoDuKCOgsqoQWxylmEMddkiX3Yf6gULPAKYkR86TTqSkNKgNlhsG0/P7Flx
QR0ZaWjBPpGPbd5XlU3BacVhVOhkKFdaUEkVULXqoDUZkK27hEJDNtTNZuw9ek78yjtT3/5ooadd7QmY
MMeNGTR87PAd4fEVcm2bbUfrNtC98KrIgECjQ6BgqW3xHZUGoaZRA662DBw1FyKdAVnaC7ilu2pbjHxD
sW2L/mHvUQ7Tf8hLI8ZNs6s9AUNHjqG//f62YUfEzWq53magZ/kFdgPV9WZcU12wtV28cj82Vy2GJ+9D
7BatBbcxH6Hi77G31guxip2QNutQUqPBqk37kyn4c/ZuezL69nuWHZ5x9935M7dK8QcD3eWvJLLzXEkn
3MW6WOwQulMl3rRxl2i1LfNgkQcipT+Co8uFvLEdt0pq4ea15SDF7mPvtt7BtonzSv9tN+gMl+stvRho
o/mmqdE1I0ERhmUl7+Lr0jE4LN4EQSPdExoSUaVX0D5BCWituHSrhD2EfGqe1oLdCLkuY2a4rFpxPuNe
p7xHBQR1rGgrePIWlEibUSRpBlfSgiJFHVJlqciQ36QLqQwV9J2kSU8L1YyqehOEGgtOXMoxfeC07LM1
e87YVZ6CJRvDmLGzF809ejajRULtVi5vxj2RHrmVGtzkq+nmo0YW3YAy7cziqZFdpsVNInsryqMbUYGo
kQwawFe22UwcOHml4a3JCz5wWrHJrvIUzFq8jnl97MzRu6PPyu6Q6JUCOS5wpH+JFzkyuqopkMpVII2r
tBm9J9Qh4FBc+eDhY4eNn+1qV3kK3v5wDvP8KyNf+S4o6n5ithAns4iZ1Y9IF9Wn8Wf6NiFbhNO3amw8
k1OLS3dFWB1wMJ1CDxrypEPocTzbf4BtmOXisXvL4STLsTQejv8qQFRaJSKvVSA8pRzhV1nyH2M5Iugd
+90x+j7uBhm/XkoX21Mtk52+9KWYjg4OfdjYfwkOjv2ee3vU+OkHFnr4VfjtOdG25+frXRHJHERdLUbU
NR6iUvmITi23k37Ts2h6x36z52Ral29wTPOnX/sUDx89aRvTx3GYPe7/BEfiUAfHvvMHDxn2w6j3p8VO
nrcow+lLryK3VT8Il/lsk9Hxqlz+fZByqfdWqaunv2DeF2sKJ811uT7ivckxA18c6uvQx/FjisHuPH89
9SeANTKQ+A/ie8TpxAVUI1e6Tn9ho0MfF3rmRGT32dHEocTnif+XcG9gtzI2cN/HyD77L9vc42CY/wBc
QuHh/jKt5QAAAABJRU5ErkJgggs=
</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>558, 126</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Choose an action...</value>
</data>
<data name="&gt;&gt;imageCollection1.Name" xml:space="preserve">
<value>imageCollection1</value>
</data>
<data name="&gt;&gt;imageCollection1.Type" xml:space="preserve">
<value>DevExpress.Utils.ImageCollection, DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ActionBoxDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

View File

@@ -0,0 +1,43 @@
using System.IO;
namespace ChanSort.Ui
{
static class BrowserHelper
{
public static void OpenUrl(string url)
{
OpenHtml(@"
<html>
<head>
<meta http-equiv='Refresh' content='0;" + url + @"'/>
</head>
</html>");
}
public static void OpenMail(string url)
{
OpenHtml(@"
<html>
<head>
<script language=""javascript"">
window.open(""" + url + @""");
window.close();
</script>
</head>
</html>");
}
public static void OpenHtml(string html)
{
try
{
string fileName = Path.GetTempFileName() + ".html";
File.WriteAllText(fileName, html);
System.Diagnostics.Process.Start(fileName);
}
catch
{
}
}
}
}

View File

@@ -0,0 +1,300 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5FAFDABC-A52F-498C-BD2F-AFFC4119797A}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ChanSort.Ui</RootNamespace>
<AssemblyName>ChanSort</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>app.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Charts.v14.2.Core, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.Office.v14.2.Core, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.PivotGrid.v14.2.Core, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v14.2.Core, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.RichEdit.v14.2.Core, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v14.2.Core, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.Utils.v14.2.UI, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraBars.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.XtraCharts.v14.2.Wizard, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.XtraPrinting.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.XtraReports.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.DataAccess.v14.2.UI, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v14.2.Extensions, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ActionBox.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ActionBox.Designer.cs">
<DependentUpon>ActionBox.cs</DependentUpon>
</Compile>
<Compile Include="BrowserHelper.cs" />
<Compile Include="Printing\ChannelListReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Printing\ChannelListReport.Designer.cs">
<DependentUpon>ChannelListReport.cs</DependentUpon>
</Compile>
<Compile Include="GlobalImageCollection.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="InfoBox.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="InfoBox.Designer.cs">
<DependentUpon>InfoBox.cs</DependentUpon>
</Compile>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Printing\ReportOptionsDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Printing\ReportOptionsDialog.Designer.cs">
<DependentUpon>ReportOptionsDialog.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.pt.Designer.cs">
<DependentUpon>Resources.pt.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<DependentUpon>Resources.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Settings.cs" />
<Compile Include="UpdateCheck.cs" />
<Compile Include="WaitForm1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="WaitForm1.Designer.cs">
<DependentUpon>WaitForm1.cs</DependentUpon>
</Compile>
<Compile Include="AboutForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="AboutForm.Designer.cs">
<DependentUpon>AboutForm.cs</DependentUpon>
</Compile>
<Compile Include="CharsetForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="CharsetForm.Designer.cs">
<DependentUpon>CharsetForm.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="AboutForm.de.resx">
<DependentUpon>AboutForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="AboutForm.pt.resx">
<DependentUpon>AboutForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="AboutForm.resx">
<DependentUpon>AboutForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ActionBox.de.resx">
<DependentUpon>ActionBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ActionBox.resx">
<DependentUpon>ActionBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CharsetForm.de.resx">
<DependentUpon>CharsetForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CharsetForm.pt.resx">
<DependentUpon>CharsetForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="CharsetForm.resx">
<DependentUpon>CharsetForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="GlobalImageCollection.resx">
<DependentUpon>GlobalImageCollection.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="InfoBox.resx">
<DependentUpon>InfoBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.de.resx">
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.pt.resx">
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Printing\ChannelListReport.resx">
<DependentUpon>ChannelListReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Printing\ReportOptionsDialog.de.resx">
<DependentUpon>ReportOptionsDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Printing\ReportOptionsDialog.resx">
<DependentUpon>ReportOptionsDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.pt.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.pt.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.de.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.de.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.de.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.de.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="WaitForm1.de.resx">
<DependentUpon>WaitForm1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WaitForm1.pt.resx">
<DependentUpon>WaitForm1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WaitForm1.resx">
<DependentUpon>WaitForm1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="app.config" />
<None Include="Properties\DataSources\ChannelInfo.datasource" />
<None Include="Properties\DataSources\ChanSort.Api.ChannelList.datasource" />
<None Include="Properties\DataSources\System.Text.EncodingInfo.datasource" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ChanSort.Api\ChanSort.Api.csproj">
<Project>{DCCFFA08-472B-4D17-BB90-8F513FC01392}</Project>
<Name>ChanSort.Api</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="app.ico" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\Donate.bmp" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\btn_donateCC_LG.gif" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\paypal-button.txt" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\btn_donateCC_LG_de.gif" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

171
source/ChanSort/CharsetForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,171 @@
namespace ChanSort.Ui
{
partial class CharsetForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CharsetForm));
this.gcCharset = new DevExpress.XtraGrid.GridControl();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.gvCharset = new DevExpress.XtraGrid.Views.Grid.GridView();
this.colCodePage = new DevExpress.XtraGrid.Columns.GridColumn();
this.colName = new DevExpress.XtraGrid.Columns.GridColumn();
this.colDisplayName = new DevExpress.XtraGrid.Columns.GridColumn();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
this.btnMyCountry = new DevExpress.XtraEditors.SimpleButton();
this.btnCancel = new DevExpress.XtraEditors.SimpleButton();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
((System.ComponentModel.ISupportInitialize)(this.gcCharset)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gvCharset)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
this.panelControl1.SuspendLayout();
this.SuspendLayout();
//
// gcCharset
//
resources.ApplyResources(this.gcCharset, "gcCharset");
this.gcCharset.DataSource = this.bindingSource1;
this.gcCharset.EmbeddedNavigator.AccessibleDescription = resources.GetString("gcCharset.EmbeddedNavigator.AccessibleDescription");
this.gcCharset.EmbeddedNavigator.AccessibleName = resources.GetString("gcCharset.EmbeddedNavigator.AccessibleName");
this.gcCharset.EmbeddedNavigator.AllowHtmlTextInToolTip = ((DevExpress.Utils.DefaultBoolean)(resources.GetObject("gcCharset.EmbeddedNavigator.AllowHtmlTextInToolTip")));
this.gcCharset.EmbeddedNavigator.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("gcCharset.EmbeddedNavigator.Anchor")));
this.gcCharset.EmbeddedNavigator.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gcCharset.EmbeddedNavigator.BackgroundImage")));
this.gcCharset.EmbeddedNavigator.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("gcCharset.EmbeddedNavigator.BackgroundImageLayout")));
this.gcCharset.EmbeddedNavigator.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("gcCharset.EmbeddedNavigator.ImeMode")));
this.gcCharset.EmbeddedNavigator.TextLocation = ((DevExpress.XtraEditors.NavigatorButtonsTextLocation)(resources.GetObject("gcCharset.EmbeddedNavigator.TextLocation")));
this.gcCharset.EmbeddedNavigator.ToolTip = resources.GetString("gcCharset.EmbeddedNavigator.ToolTip");
this.gcCharset.EmbeddedNavigator.ToolTipIconType = ((DevExpress.Utils.ToolTipIconType)(resources.GetObject("gcCharset.EmbeddedNavigator.ToolTipIconType")));
this.gcCharset.EmbeddedNavigator.ToolTipTitle = resources.GetString("gcCharset.EmbeddedNavigator.ToolTipTitle");
this.gcCharset.MainView = this.gvCharset;
this.gcCharset.Name = "gcCharset";
this.gcCharset.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
this.gvCharset});
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(System.Text.EncodingInfo);
//
// gvCharset
//
resources.ApplyResources(this.gvCharset, "gvCharset");
this.gvCharset.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
this.colCodePage,
this.colName,
this.colDisplayName});
this.gvCharset.GridControl = this.gcCharset;
this.gvCharset.Name = "gvCharset";
this.gvCharset.OptionsBehavior.Editable = false;
this.gvCharset.OptionsView.ShowAutoFilterRow = true;
this.gvCharset.OptionsView.ShowGroupPanel = false;
this.gvCharset.OptionsView.ShowIndicator = false;
this.gvCharset.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gvCharset_RowClick);
this.gvCharset.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gvCharset_FocusedRowChanged);
//
// colCodePage
//
resources.ApplyResources(this.colCodePage, "colCodePage");
this.colCodePage.FieldName = "CodePage";
this.colCodePage.Name = "colCodePage";
this.colCodePage.OptionsColumn.ReadOnly = true;
//
// colName
//
resources.ApplyResources(this.colName, "colName");
this.colName.FieldName = "Name";
this.colName.Name = "colName";
this.colName.OptionsColumn.ReadOnly = true;
//
// colDisplayName
//
resources.ApplyResources(this.colDisplayName, "colDisplayName");
this.colDisplayName.FieldName = "DisplayName";
this.colDisplayName.Name = "colDisplayName";
this.colDisplayName.OptionsColumn.ReadOnly = true;
this.colDisplayName.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] {
new DevExpress.XtraGrid.GridColumnSummaryItem()});
//
// panelControl1
//
resources.ApplyResources(this.panelControl1, "panelControl1");
this.panelControl1.Controls.Add(this.btnMyCountry);
this.panelControl1.Controls.Add(this.btnCancel);
this.panelControl1.Controls.Add(this.btnOk);
this.panelControl1.Name = "panelControl1";
//
// btnMyCountry
//
resources.ApplyResources(this.btnMyCountry, "btnMyCountry");
this.btnMyCountry.Name = "btnMyCountry";
this.btnMyCountry.Click += new System.EventHandler(this.btnMyCountry_Click);
//
// btnCancel
//
resources.ApplyResources(this.btnCancel, "btnCancel");
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Name = "btnCancel";
//
// btnOk
//
resources.ApplyResources(this.btnOk, "btnOk");
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.Name = "btnOk";
//
// CharsetForm
//
this.AcceptButton = this.btnOk;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnCancel;
this.Controls.Add(this.gcCharset);
this.Controls.Add(this.panelControl1);
this.Name = "CharsetForm";
this.Load += new System.EventHandler(this.CharsetForm_Load);
((System.ComponentModel.ISupportInitialize)(this.gcCharset)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gvCharset)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
this.panelControl1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraGrid.GridControl gcCharset;
private DevExpress.XtraGrid.Views.Grid.GridView gvCharset;
private DevExpress.XtraEditors.PanelControl panelControl1;
private DevExpress.XtraEditors.SimpleButton btnMyCountry;
private DevExpress.XtraEditors.SimpleButton btnCancel;
private DevExpress.XtraEditors.SimpleButton btnOk;
private System.Windows.Forms.BindingSource bindingSource1;
private DevExpress.XtraGrid.Columns.GridColumn colCodePage;
private DevExpress.XtraGrid.Columns.GridColumn colName;
private DevExpress.XtraGrid.Columns.GridColumn colDisplayName;
}
}

View File

@@ -0,0 +1,100 @@
using System;
using System.Text;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Base;
namespace ChanSort.Ui
{
public partial class CharsetForm : XtraForm
{
private readonly Encoding initialEncoding = Encoding.Default;
private Encoding currentEncoding;
public EventHandler<EncodingChangedEventArgs> EncodingChanged;
public CharsetForm(Encoding encoding)
{
this.initialEncoding = encoding;
InitializeComponent();
}
public Encoding Encoding
{
get { return this.currentEncoding; }
}
private void SelectEncoding(Encoding encoding)
{
var encodings = Encoding.GetEncodings();
for (int i = 0; i < encodings.Length; i++)
{
if (encodings[i].Name == encoding.WebName)
{
this.gvCharset.FocusedRowHandle = i;
this.gvCharset.MakeRowVisible(i);
}
}
}
private void RaiseEncodingChanged()
{
if (this.EncodingChanged != null)
this.EncodingChanged(this, new EncodingChangedEventArgs(this.currentEncoding));
}
private void CharsetForm_Load(object sender, EventArgs e)
{
var encodings = Encoding.GetEncodings();
this.gcCharset.DataSource = encodings;
}
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
this.SelectEncoding(this.initialEncoding);
}
private void gvCharset_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
{
var encodingInfo = (EncodingInfo) gvCharset.GetFocusedRow();
if (encodingInfo == null)
return;
this.currentEncoding = Encoding.GetEncoding(encodingInfo.Name);
this.RaiseEncodingChanged();
}
private void gvCharset_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
if (e.Clicks == 2 && this.gvCharset.IsDataRow(e.RowHandle))
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void btnMyCountry_Click(object sender, EventArgs e)
{
this.SelectEncoding(Encoding.Default);
}
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
base.OnClosing(e);
if (this.DialogResult != System.Windows.Forms.DialogResult.OK)
{
// restore initial encoding
this.currentEncoding = this.initialEncoding;
this.RaiseEncodingChanged();
}
}
}
#region class EncodingChangedEventArgs
public class EncodingChangedEventArgs : EventArgs
{
public readonly Encoding Encoding;
public EncodingChangedEventArgs(Encoding encoding)
{
this.Encoding = encoding;
}
}
#endregion
}

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="colDisplayName.Caption" xml:space="preserve">
<value>Beschreibung</value>
</data>
<data name="btnMyCountry.Text" xml:space="preserve">
<value>Standard-Zeichensatz meines Landes</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Zeichensatz</value>
</data>
</root>

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="colDisplayName.Caption" xml:space="preserve">
<value>Descrição</value>
</data>
<data name="btnMyCountry.Text" xml:space="preserve">
<value>Tipo de caracteres por defeito do meu país</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abortar</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Tipo de letras</value>
</data>
</root>

View File

@@ -0,0 +1,367 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="&gt;&gt;gcCharset.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="gcCharset.EmbeddedNavigator.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
<value>272, 6</value>
</data>
<data name="&gt;&gt;colCodePage.Name" xml:space="preserve">
<value>colCodePage</value>
</data>
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="&gt;&gt;btnOk.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="gcCharset.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 446</value>
</data>
<data name="&gt;&gt;gvCharset.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>CharsetForm</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="gcCharset.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="colName.VisibleIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnMyCountry.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 6</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="gcCharset.EmbeddedNavigator.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gcCharset.EmbeddedNavigator.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="panelControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="&gt;&gt;btnMyCountry.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<assembly alias="DevExpress.XtraEditors.v14.2" name="DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="gcCharset.EmbeddedNavigator.TextLocation" type="DevExpress.XtraEditors.NavigatorButtonsTextLocation, DevExpress.XtraEditors.v14.2">
<value>Center</value>
</data>
<assembly alias="DevExpress.Utils.v14.2" name="DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="gcCharset.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v14.2">
<value>None</value>
</data>
<data name="&gt;&gt;gvCharset.Name" xml:space="preserve">
<value>gvCharset</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>Manual</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;btnMyCountry.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="gcCharset.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="gcCharset.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="colDisplayName.VisibleIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;gcCharset.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;gcCharset.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;colName.Name" xml:space="preserve">
<value>colName</value>
</data>
<data name="gcCharset.EmbeddedNavigator.ToolTipTitle" xml:space="preserve">
<value />
</data>
<data name="panelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 37</value>
</data>
<data name="panelControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 446</value>
</data>
<data name="btnOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;colDisplayName.Name" xml:space="preserve">
<value>colDisplayName</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;btnOk.Parent" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="&gt;&gt;btnMyCountry.Name" xml:space="preserve">
<value>btnMyCountry</value>
</data>
<data name="colDisplayName.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colCodePage.VisibleIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;panelControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnMyCountry.Parent" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="&gt;&gt;gcCharset.Name" xml:space="preserve">
<value>gcCharset</value>
</data>
<data name="&gt;&gt;colCodePage.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="btnMyCountry.Text" xml:space="preserve">
<value>Default character set for my country</value>
</data>
<data name="colCodePage.Width" type="System.Int32, mscorlib">
<value>67</value>
</data>
<data name="colDisplayName.Width" type="System.Int32, mscorlib">
<value>222</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>353, 6</value>
</data>
<data name="&gt;&gt;colName.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;bindingSource1.Name" xml:space="preserve">
<value>bindingSource1</value>
</data>
<data name="&gt;&gt;btnOk.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnOk.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;panelControl1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="gcCharset.EmbeddedNavigator.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gcCharset.EmbeddedNavigator.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Character set</value>
</data>
<data name="btnMyCountry.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 23</value>
</data>
<data name="colCodePage.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;bindingSource1.Type" xml:space="preserve">
<value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="btnMyCountry.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;panelControl1.Name" xml:space="preserve">
<value>panelControl1</value>
</data>
<data name="gcCharset.EmbeddedNavigator.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
</data>
<data name="panelControl1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnOk.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="&gt;&gt;btnOk.Name" xml:space="preserve">
<value>btnOk</value>
</data>
<data name="gcCharset.EmbeddedNavigator.ToolTip" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;colDisplayName.Type" xml:space="preserve">
<value>DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>433, 483</value>
</data>
<data name="colName.Width" type="System.Int32, mscorlib">
<value>142</value>
</data>
<data name="&gt;&gt;panelControl1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="colName.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="DevExpress.Data.v14.2" name="DevExpress.Data.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="gcCharset.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v14.2">
<value>Default</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,111 @@
using System.CodeDom;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using DevExpress.Utils;
namespace ChanSort.Ui
{
#region class GlobalImageCollectionHolder
[ToolboxItem(false)]
public class GlobalImageCollectionHolder : Component
{
private IContainer components;
private SharedImageCollection sharedImageCollection1;
public GlobalImageCollectionHolder()
{
InitializeComponent();
}
public GlobalImageCollectionHolder(IContainer container)
{
if (container != null)
container.Add(this);
InitializeComponent();
}
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GlobalImageCollectionHolder));
this.sharedImageCollection1 = new DevExpress.Utils.SharedImageCollection(this.components);
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1.ImageSource)).BeginInit();
//
// sharedImageCollection1
//
this.sharedImageCollection1.ImageSource.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("sharedImageCollection1.ImageSource.ImageStream")));
this.sharedImageCollection1.ParentControl = null;
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1.ImageSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1)).EndInit();
}
#endregion
public Images Images { get { return sharedImageCollection1.ImageSource.Images; } }
}
#endregion
#region class GlobalImageCollection
[DesignerSerializer(typeof(GlobalImageCollectionCodeDomSerializer), typeof(CodeDomSerializer))]
public class GlobalImageCollection : SharedImageCollection
{
protected static GlobalImageCollectionHolder holder = new GlobalImageCollectionHolder();
public static Images Images { get { return holder.Images; } }
public GlobalImageCollection() { }
public GlobalImageCollection(IContainer container) : base(container) { }
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new ImageCollection ImageSource { get { return base.ImageSource; } }
}
#endregion
#region class GlobalImageCollectionCodeDomSerializer
internal class GlobalImageCollectionCodeDomSerializer : CodeDomSerializer
{
public override object Deserialize(IDesignerSerializationManager manager, object codeObject)
{
var baseSerializer = (CodeDomSerializer)manager.GetSerializer(typeof(SharedImageCollection), typeof(CodeDomSerializer));
return baseSerializer.Deserialize(manager, codeObject);
}
public override object Serialize(IDesignerSerializationManager manager, object value)
{
var baseSerializer = (CodeDomSerializer)manager.GetSerializer(typeof(SharedImageCollection), typeof(CodeDomSerializer));
object codeObject = baseSerializer.Serialize(manager, value);
// remove all generated code except for the member initialization
CodeStatementCollection coll = codeObject as CodeStatementCollection;
if (coll != null)
{
for (int i=coll.Count-1; i>=0; i--)
{
CodeStatement ex = coll[i];
var ass = ex as CodeAssignStatement;
if (ass == null || !(ass.Left is CodeFieldReferenceExpression))
coll.RemoveAt(i);
}
}
return codeObject;
}
}
#endregion
}

View File

@@ -0,0 +1,573 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="sharedImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="DevExpress.Utils.v14.2" name="DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="sharedImageCollection1.ImageSource.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxMy4yLCBWZXJzaW9uPTEzLjIu
OS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABAAAAAQAAAACQUAAAAP
BQAAABZkAAAC2AIAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAACukAAArpAf11ztMAAAAHdElNRQfWAwEODCaDia/cAAACZ0lEQVQ4T82S7UsTUBSH
75eCCAx6oTAqg7BMRKjoQ6S9Oa1I10gzU8PUZmYpKEamy8gCX8iS2YxqiRmREMrUltEoLdSMps458wXU
EiW0UToNbdTTpaLtP6gDlwuXe57zO79zxP8RC1M7CCzqRSR0IZI7EepOvLO7CI4qRRGpxTejGRHTioiV
d+RrAmMq8FA+4k+6EGHJlfA4H+MoiMJviKtO7nbPQcJqOLaSNtsHxKUpxMUpzmobQX+aYI2E/Y3kftJ1
LVClwfxFQgp+cL3DKQG+ErAek2UUoZmloMwEFeco75hEhJrcAElWRD6ElA3CzVR6ZkDXA5zwgzgfntrs
FGnroVLDleYZRKoEKp+5AP457TR0j/PA4uB9v4QMmGHWAepNcNyPuSEbziYDw2MT3GkcpuZVHz6JT1wA
5dESiF0pq22ERH+ZuPn3ObVNqtgK0RsgfA0cWA57PWC3QLkz0wVQHSmGqCXy41qI8ZZ9S1CclK/eAvFS
RYR8D10B+xeDYgHsEKgC0l0ArywrN2yQ1w7Wafg+0sfs9KSErvuV7Phsx/FxhD6LlexmJ8VtU6yKd/NA
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
tR5VgqpGHUZ1oHpRN1FjqFnURzQZrYjWR9ugvdAR6AR0FroQXYFuQrejL6JvoyfQrzEYDA2jjbHCeGIi
MUmYtZgSzD5MG+YcZhAzjpnDYrHyWH2sHdYfy8QKsIXYKuxR7FnsEHYC+wZHxKngzHDuuCgcD5ePq8Ad
wZ3BDeEmcQt4Kbwm3gbvj2fjc/Cl+EZ8N/46fgK/QJAmaBPsCCGEJMImQiWhlXCR8IDwkkgkqhGtiYFE
LnEjsZJ4jHiZOEZ8S5Ih6ZFcSNEkIWkH6RDpHOku6SWZTNYiO5KjyALyDnIz+QL5EfmNBEXCSMJLgi2x
QaJGokNiSOK5JF5SU9JJcrVkrmSF5AnJ65IzUngpLSkXKabUeqkaqZNSI1Jz0hRpU2l/6VTpEukj0lek
p2SwMloybjJsmQKZgzIXZMYpCEWd4kJhUTZTGikXKRNUDFWb6kVNohZTv6MOUGdlZWSXyYbJZsvWyJ6W
HaUhNC2aFy2FVko7ThumvVuitMRpCWfJ9iWtS4aWzMstlXOU48gVybXJ3ZZ7J0+Xd5NPlt8l3yn/UAGl
oKcQqJClsF/hosLMUupS26WspUVLjy+9pwgr6ikGKa5VPKjYrzinpKzkoZSuVKV0QWlGmabsqJykXK58
RnlahaJir8JVKVc5q/KULkt3oqfQK+m99FlVRVVPVaFqveqA6oKatlqoWr5am9pDdYI6Qz1evVy9R31W
Q0XDTyNPo0XjniZek6GZqLlXs09zXktbK1xrq1an1pS2nLaXdq52i/YDHbKOg84anQadW7oYXYZusu4+
3Rt6sJ6FXqJejd51fVjfUp+rv09/0ABtYG3AM2gwGDEkGToZZhq2GI4Z0Yx8jfKNOo2eG2sYRxnvMu4z
/mhiYZJi0mhy31TG1Ns037Tb9HczPTOWWY3ZLXOyubv5BvMu8xfL9Jdxlu1fdseCYuFnsdWix+KDpZUl
37LVctpKwyrWqtZqhEFlBDBKGJet0dbO1husT1m/tbG0Edgct/nN1tA22faI7dRy7eWc5Y3Lx+3U7Jh2
9Xaj9nT7WPsD9qMOqg5MhwaHx47qjmzHJsdJJ12nJKejTs+dTZz5zu3O8y42Lutczrkirh6uRa4DbjJu
oW7Vbo/c1dwT3FvcZz0sPNZ6nPNEe/p47vIc8VLyYnk1e816W3mv8+71IfkE+1T7PPbV8+X7dvvBft5+
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
AAAASUVORK5CYIIL
</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
<value>08/21/2014 12:42:54</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

91
source/ChanSort/InfoBox.Designer.cs generated Normal file
View File

@@ -0,0 +1,91 @@
namespace ChanSort.Ui
{
partial class InfoBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.txtMessage = new DevExpress.XtraEditors.MemoEdit();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
this.simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
((System.ComponentModel.ISupportInitialize)(this.txtMessage.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
this.panelControl1.SuspendLayout();
this.SuspendLayout();
//
// txtMessage
//
this.txtMessage.Dock = System.Windows.Forms.DockStyle.Fill;
this.txtMessage.Location = new System.Drawing.Point(0, 0);
this.txtMessage.Name = "txtMessage";
this.txtMessage.Properties.Appearance.Font = new System.Drawing.Font("Lucida Console", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txtMessage.Properties.Appearance.Options.UseFont = true;
this.txtMessage.Size = new System.Drawing.Size(953, 486);
this.txtMessage.TabIndex = 0;
//
// panelControl1
//
this.panelControl1.Controls.Add(this.simpleButton1);
this.panelControl1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panelControl1.Location = new System.Drawing.Point(0, 486);
this.panelControl1.Name = "panelControl1";
this.panelControl1.Size = new System.Drawing.Size(953, 45);
this.panelControl1.TabIndex = 1;
//
// simpleButton1
//
this.simpleButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.simpleButton1.DialogResult = System.Windows.Forms.DialogResult.OK;
this.simpleButton1.Location = new System.Drawing.Point(866, 10);
this.simpleButton1.Name = "simpleButton1";
this.simpleButton1.Size = new System.Drawing.Size(75, 23);
this.simpleButton1.TabIndex = 0;
this.simpleButton1.Text = "Ok";
//
// InfoBox
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(953, 531);
this.Controls.Add(this.txtMessage);
this.Controls.Add(this.panelControl1);
this.Name = "InfoBox";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "InfoBox";
((System.ComponentModel.ISupportInitialize)(this.txtMessage.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
this.panelControl1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraEditors.MemoEdit txtMessage;
private DevExpress.XtraEditors.PanelControl panelControl1;
private DevExpress.XtraEditors.SimpleButton simpleButton1;
}
}

View File

@@ -0,0 +1,37 @@
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace ChanSort.Ui
{
public partial class InfoBox : XtraForm
{
public InfoBox()
{
InitializeComponent();
this.ActiveControl = this.simpleButton1;
}
public static void Show(IWin32Window owner, string message, string caption)
{
if (string.IsNullOrEmpty(message))
return;
var box = new InfoBox();
box.Text = caption;
box.txtMessage.Text = message;
box.txtMessage.Properties.ReadOnly = true;
box.txtMessage.SelectionStart = 0;
box.txtMessage.SelectionLength = 0;
box.ShowDialog(owner);
}
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Escape)
{
this.DialogResult = DialogResult.Cancel;
return true;
}
return base.ProcessDialogKey(keyData);
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

2184
source/ChanSort/MainForm.Designer.cs generated Normal file

File diff suppressed because it is too large Load Diff

2527
source/ChanSort/MainForm.cs Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,565 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Neue Pr#</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Neuer Programmplatz</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Sendername</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoriten</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Ge- sperrt</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Über- springen</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Ver- steckt</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblHotkeyLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>333, 17</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filter | F4: Liste | -: nach oben | +: nach unten | Entf: entfernen</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;Datei</value>
</data>
<data name="miOpen.Caption" xml:space="preserve">
<value>TV Senderliste &amp;öffnen...</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>&amp;Erneut laden</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Sicherheitskopie wiederherstellen</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Datei&amp;information...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>&amp;Speichern</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Speichern &amp;unter...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Referenzliste öffnen...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Referenzliste speichern...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Excel liste exportieren...</value>
</data>
<data name="miPrint.Caption" xml:space="preserve">
<value>&amp;Drucken...</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>&amp;Beenden</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Bearbeiten</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Sender &amp;übernehmen</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Sender &amp;entfernen</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Sender umbenennen</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Sender alphabetisch sortieren</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Sender neu &amp;nummerieren</value>
</data>
<data name="miRenumFavByPrNr.Caption" xml:space="preserve">
<value>Favoriten nach Pr# nummerieren</value>
</data>
<data name="miRenumFavByPrNr.Hint" xml:space="preserve">
<value>Verwendet einheitlich die Pr# auch in allen Favoritenlisten</value>
</data>
<data name="mnuFavSet.Caption" xml:space="preserve">
<value>&amp;Favoriten hinzufügen</value>
</data>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Favoriten entfernen</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Sender s&amp;perren: ein</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Sender sperren: aus</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Sender ü&amp;berspringen: ein</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Sender überspringen: aus</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Sender &amp;verstecken: ein</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Sender verstecken: aus</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>TV-Gerät</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Geräte&amp;einstellungen...</value>
</data>
<data name="miCleanupChannels.Caption" xml:space="preserve">
<value>Senderliste bereinigen</value>
</data>
<data name="miCleanupChannels.Hint" xml:space="preserve">
<value>Senderdatensätze neu organisieren und Duplikate entfernen</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Einstellungen</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>&amp;Sprache</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Zeichensatz</value>
</data>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Warnungen beim Laden anzeigen</value>
</data>
<data name="miShowWarningsAfterLoad.Hint" xml:space="preserve">
<value>Eventuelle Warnungen nach dem Laden einer TV-Datei automatisch anzeigen</value>
</data>
<data name="mnuAccessibility.Caption" xml:space="preserve">
<value>Einga&amp;behilfe</value>
</data>
<data name="mnuGotoChannelList.AccessibleDescription" xml:space="preserve">
<value>Öffnet ein Menü zur Auswahl der Eingangsquelle. Dieses kann auch direkt mit der F1-Taste aufgerufen werden.</value>
</data>
<data name="mnuGotoChannelList.Caption" xml:space="preserve">
<value>&amp;Eingangsquelle auswählen</value>
</data>
<data name="mnuGotoFavList.AccessibleDescription" xml:space="preserve">
<value>Öffnet ein Menü zur Auswahl der Programm- oder Favoritenliste. Dieses Menü kann auch direkt über die Umschalt+F1 Tastenkombination geöffnet werden.</value>
</data>
<data name="mnuGotoFavList.Caption" xml:space="preserve">
<value>Program-/&amp;Favoritenliste auswählen</value>
</data>
<data name="miSelectFavList0.Caption" xml:space="preserve">
<value>Programmliste</value>
</data>
<data name="miSelectFavListA.Caption" xml:space="preserve">
<value>Favoriten A</value>
</data>
<data name="miSelectFavListB.Caption" xml:space="preserve">
<value>Favoriten B</value>
</data>
<data name="miSelectFavListC.Caption" xml:space="preserve">
<value>Favoriten C</value>
</data>
<data name="miSelectFavListD.Caption" xml:space="preserve">
<value>Favoriten D</value>
</data>
<data name="miSelectFavListE.Caption" xml:space="preserve">
<value>Favoriten E</value>
</data>
<data name="miGotoLeftFilter.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;linken Liste</value>
</data>
<data name="miGotoLeftList.Caption" xml:space="preserve">
<value>Linke Liste</value>
</data>
<data name="miRightListFilter.Caption" xml:space="preserve">
<value>Filterzeile in der &amp;rechten Liste</value>
</data>
<data name="miGotoRightList.Caption" xml:space="preserve">
<value>Rechte Liste</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Hilfe</value>
</data>
<data name="miOpenWebsite.Caption" xml:space="preserve">
<value>ChanSort Webseite...</value>
</data>
<data name="miAbout.Caption" xml:space="preserve">
<value>&amp;Über ChanSort...</value>
</data>
<assembly alias="DevExpress.XtraBars.v14.2" name="DevExpress.XtraBars.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
Xxl+0wEL
</value>
</data>
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
KphCYAEL
</value>
</data>
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
ZMgcwAEL
</value>
</data>
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
WIeWYGkVXQEL
</value>
</data>
<data name="barManager1.Categories4" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA
AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz
nH8WlU24SIo8kTIJxAEL
</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Nach oben</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Nach unten</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>tauschen</value>
</data>
<data name="rbInsertSwap.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 19</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>dahinter</value>
</data>
<data name="rbInsertAfter.Size" type="System.Drawing.Size, System.Drawing">
<value>62, 19</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>davor</value>
</data>
<data name="rbInsertBefore.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 19</value>
</data>
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
<value>Lücken beim Verschieben/Entfernen von Sendern schließen</value>
</data>
<data name="cbCloseGap.ToolTip" xml:space="preserve">
<value>Wenn aktiv, werden folgende Programmnummer automatisch vorgerückt</value>
</data>
<data name="lblInsertMode.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Einfügemodus:</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>Keine Senderlisten vorhanden</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Setze Pr#:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Programplatz für Einfügen und Festlegen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Senderlisten-Editor für Samsung, LG, Panasonic und Toshiba TVs</value>
</data>
<data name="btnToggleLock.Text" xml:space="preserve">
<value>Kindersicherung bei markierten Sendern ein/ausschalten</value>
</data>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="btnToggleFavE.AccessibleDescription" xml:space="preserve">
<value>Favorit E umschalten</value>
</data>
<data name="btnToggleFavD.AccessibleDescription" xml:space="preserve">
<value>Favorit D umschalten</value>
</data>
<data name="btnToggleFavC.AccessibleDescription" xml:space="preserve">
<value>Favorit C umschalten</value>
</data>
<data name="btnToggleFavB.AccessibleDescription" xml:space="preserve">
<value>Favorit B umschalten</value>
</data>
<data name="btnToggleFavA.AccessibleDescription" xml:space="preserve">
<value>Favorit A umschalten</value>
</data>
<data name="btnClearLeftFilter.AccessibleDescription" xml:space="preserve">
<value>Entfernt den Suchfilter von der sortierten Senderliste</value>
</data>
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
<value>Filter entfernen</value>
</data>
<data name="btnRenum.Text" xml:space="preserve">
<value>Markierte Sender fortlaufend nummerieren</value>
</data>
<data name="btnRenum.ToolTip" xml:space="preserve">
<value>Markierte Sender fortlaufend nummerieren</value>
</data>
<data name="btnDown.Text" xml:space="preserve">
<value>Markierte Sender nach unten verschieben</value>
</data>
<data name="btnDown.ToolTip" xml:space="preserve">
<value>Markierte Sender nach unten verschieben</value>
</data>
<data name="btnUp.Text" xml:space="preserve">
<value>Markierte Sender nach oben verschieben</value>
</data>
<data name="btnUp.ToolTip" xml:space="preserve">
<value>Markierte Sender nach oben verschieben</value>
</data>
<data name="btnRemoveLeft.Text" xml:space="preserve">
<value>Markierte Sender aus sortierter Liste entfernen</value>
</data>
<data name="btnRemoveLeft.ToolTip" xml:space="preserve">
<value>Markierte Sender aus sortierter Liste entfernen</value>
</data>
<data name="grpOutputList.Text" xml:space="preserve">
<value>Sortierte Sender (.csv)</value>
</data>
<data name="colSlotOld.Caption" xml:space="preserve">
<value>Alte Pr#</value>
</data>
<data name="colSlotOld.ToolTip" xml:space="preserve">
<value>Alter Programmplatz</value>
</data>
<data name="colSlotNew.Caption" xml:space="preserve">
<value>Neue Pr#</value>
</data>
<data name="colSlotNew.ToolTip" xml:space="preserve">
<value>Neuer Programmplatz</value>
</data>
<data name="colName.Caption" xml:space="preserve">
<value>Sendername</value>
</data>
<data name="colShortName.Caption" xml:space="preserve">
<value>Kurzname</value>
</data>
<data name="colFavorites.Caption" xml:space="preserve">
<value>Favoriten</value>
</data>
<data name="colLock.Caption" xml:space="preserve">
<value>Ge- sperrt</value>
</data>
<data name="colSkip.Caption" xml:space="preserve">
<value>Über- springen</value>
</data>
<data name="colHidden.Caption" xml:space="preserve">
<value>Ver- steckt</value>
</data>
<data name="colEncrypted.Caption" xml:space="preserve">
<value>Ver- schlüss</value>
</data>
<data name="colEncrypted.ToolTip" xml:space="preserve">
<value>Verschlüsselt</value>
</data>
<data name="colChannelOrTransponder.Caption" xml:space="preserve">
<value>Kanal/ Transp.</value>
</data>
<data name="colChannelOrTransponder.ToolTip" xml:space="preserve">
<value>Kanal- bzw. Transpondernummer</value>
</data>
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Frequenz (MHz)</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Satellit</value>
</data>
<data name="colSymbolRate.Caption" xml:space="preserve">
<value>Symbol- rate</value>
</data>
<data name="colPolarity.Caption" xml:space="preserve">
<value>Polarität</value>
</data>
<data name="colNetworkName.Caption" xml:space="preserve">
<value>Netzwerk Name</value>
</data>
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Netzwerk Betreiber</value>
</data>
<data name="lblHotkeyRight.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 17</value>
</data>
<data name="lblHotkeyRight.Text" xml:space="preserve">
<value>F5: Filter | F6: Liste | Eingabe: übernehmen</value>
</data>
<data name="btnRemoveRight.Text" xml:space="preserve">
<value>Sender aus sortierter Liste entfernen</value>
</data>
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Sender aus sortierter Liste entfernen</value>
</data>
<data name="btnAddAll.AccessibleDescription" xml:space="preserve">
<value>Aller derzeit nicht sortierten Sender ans Ende der Liste anhängen</value>
</data>
<data name="btnAddAll.Text" xml:space="preserve">
<value>&lt;&lt; Alle hinzufügen</value>
</data>
<data name="btnAddAll.ToolTip" xml:space="preserve">
<value>Aller derzeit nicht sortierten Sender ans Ende der Liste anhängen</value>
</data>
<data name="btnClearRightFilter.AccessibleDescription" xml:space="preserve">
<value>Entfernt den Suchfilter von der vollständigen Senderliste</value>
</data>
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
<value>Filter entfernen</value>
</data>
<data name="btnAdd.Text" xml:space="preserve">
<value>Markierte Sender in die sortierte liste übernehmen</value>
</data>
<data name="btnAdd.ToolTip" xml:space="preserve">
<value>Markierte Sender in die sortierte liste übernehmen</value>
</data>
<data name="grpInputList.Text" xml:space="preserve">
<value>Alle Sender</value>
</data>
</root>

View File

@@ -0,0 +1,370 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="DevExpress.Data.v14.2" name="DevExpress.Data.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<assembly alias="DevExpress.XtraEditors.v14.2" name="DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<assembly alias="DevExpress.Utils.v14.2" name="DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="colOutServiceType.Caption" xml:space="preserve">
<value>Tipo serviço</value>
</data>
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Novo Pr#</value>
</data>
<data name="colOutSlot.ToolTip" xml:space="preserve">
<value>Posição de canal novo</value>
</data>
<data name="colOutName.Caption" xml:space="preserve">
<value>Nome do canal</value>
</data>
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoritos</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Blo- queado</value>
</data>
<data name="lblHotkeyLeft.Text" xml:space="preserve">
<value>F3: Filtro | F4: Lista | -: para cima | +: para baixo | DEL: remover</value>
</data>
<data name="lblInsertMode.Text" xml:space="preserve">
<value>Modo acrescentar:</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>Antes</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>Depois</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>Comutar</value>
</data>
<data name="miFile.Caption" xml:space="preserve">
<value>&amp;Ficheiro</value>
</data>
<data name="miOpen.Caption" xml:space="preserve">
<value>Abrir &amp;lista de canais...</value>
</data>
<data name="miReload.Caption" xml:space="preserve">
<value>&amp;Recarregar</value>
</data>
<data name="miRestoreOriginal.Caption" xml:space="preserve">
<value>Repor cópia de segurança</value>
</data>
<data name="miFileInformation.Caption" xml:space="preserve">
<value>Informações&amp; do ficheiro...</value>
</data>
<data name="miSave.Caption" xml:space="preserve">
<value>&amp;Gravar</value>
</data>
<data name="miSaveAs.Caption" xml:space="preserve">
<value>Gravar &amp;como...</value>
</data>
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
<value>Abrir lista de referência...</value>
</data>
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
<value>Gravar lista de referência...</value>
</data>
<data name="miExcelExport.Caption" xml:space="preserve">
<value>Exportar lista de Excel...</value>
</data>
<data name="miQuit.Caption" xml:space="preserve">
<value>&amp;Terminar</value>
</data>
<data name="miEdit.Caption" xml:space="preserve">
<value>&amp;Editar</value>
</data>
<data name="miAddChannel.Caption" xml:space="preserve">
<value>Aceitar &amp;canal</value>
</data>
<data name="miRemove.Caption" xml:space="preserve">
<value>Remover &amp;canal</value>
</data>
<data name="miRenameChannel.Caption" xml:space="preserve">
<value>Rebatizar canal</value>
</data>
<data name="miSort.Caption" xml:space="preserve">
<value>Ordenar canais alfabeticamente</value>
</data>
<data name="miRenum.Caption" xml:space="preserve">
<value>Renumerar &amp;canais de novo</value>
</data>
<data name="mnuFavSet.Caption" xml:space="preserve">
<value>&amp;Acrescentar favoritos</value>
</data>
<data name="mnuFavUnset.Caption" xml:space="preserve">
<value>Remover favoritos</value>
</data>
<data name="miLockOn.Caption" xml:space="preserve">
<value>Bloquear &amp;canais: SIM</value>
</data>
<data name="miLockOff.Caption" xml:space="preserve">
<value>Bloquear canais: NÃO</value>
</data>
<data name="miSkipOn.Caption" xml:space="preserve">
<value>Saltar &amp;canais: SIM</value>
</data>
<data name="miSkipOff.Caption" xml:space="preserve">
<value>Saltar canais: NÃO</value>
</data>
<data name="miHideOn.Caption" xml:space="preserve">
<value>Esconder &amp;canais: SIM</value>
</data>
<data name="miHideOff.Caption" xml:space="preserve">
<value>Esconder canais: NÃO</value>
</data>
<data name="barSubItem2.Caption" xml:space="preserve">
<value>Televisor</value>
</data>
<data name="miTvSettings.Caption" xml:space="preserve">
<value>Configurações TV...</value>
</data>
<data name="mnuOptions.Caption" xml:space="preserve">
<value>&amp;Configurações</value>
</data>
<data name="barSubItem1.Caption" xml:space="preserve">
<value>&amp;Idioma</value>
</data>
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Tabela de caracteres</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Ajuda</value>
</data>
<data name="miAbout.Caption" xml:space="preserve">
<value>&amp;Sobre ChanSort...</value>
</data>
<assembly alias="DevExpress.XtraBars.v14.2" name="DevExpress.XtraBars.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
Xxl+0wEL
</value>
</data>
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
KphCYAEL
</value>
</data>
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
ZMgcwAEL
</value>
</data>
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
WIeWYGkVXQEL
</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Editor de listas de canais para televisores Samsung, LG, Panasonic e Toshiba</value>
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Para cima</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Para baixo</value>
</data>
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
<value>Repor filtro</value>
</data>
<data name="btnRenum.ToolTip" xml:space="preserve">
<value>Renumerar canais seleccionados</value>
</data>
<data name="btnDown.ToolTip" xml:space="preserve">
<value>Mover canais seleccionados para baixo</value>
</data>
<data name="btnUp.ToolTip" xml:space="preserve">
<value>Mover canais seleccionados para cima</value>
</data>
<data name="btnRemoveLeft.ToolTip" xml:space="preserve">
<value>Remover canais seleccionados</value>
</data>
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Remover canais seleccionados</value>
</data>
<data name="lblSetProgramNr.Text" xml:space="preserve">
<value>Aplicar Pr#:</value>
</data>
<data name="lblSetProgramNr.ToolTip" xml:space="preserve">
<value>Acrescentar e definar posição de canal</value>
</data>
<data name="grpOutputList.Text" xml:space="preserve">
<value>Canais ordenados (.csv)</value>
</data>
<data name="colSlotOld.Caption" xml:space="preserve">
<value>Valor Pr# anterior</value>
</data>
<data name="colSlotOld.ToolTip" xml:space="preserve">
<value>Posição de canal anterior Programmplatz</value>
</data>
<data name="colSlotNew.Caption" xml:space="preserve">
<value>Novo Pr#</value>
</data>
<data name="colSlotNew.ToolTip" xml:space="preserve">
<value>Posição de canal novo</value>
</data>
<data name="colName.Caption" xml:space="preserve">
<value>Nome do canal</value>
</data>
<data name="colShortName.Caption" xml:space="preserve">
<value>Abreviatura</value>
</data>
<data name="colFavorites.Caption" xml:space="preserve">
<value>Favoritos</value>
</data>
<data name="colLock.Caption" xml:space="preserve">
<value>Blo- queado</value>
</data>
<data name="colSkip.Caption" xml:space="preserve">
<value>Sal- tar</value>
</data>
<data name="colHidden.Caption" xml:space="preserve">
<value>Esc- onder</value>
</data>
<data name="colEncrypted.Caption" xml:space="preserve">
<value>Cod- ificado</value>
</data>
<data name="colEncrypted.ToolTip" xml:space="preserve">
<value>Codificado</value>
</data>
<data name="colChannelOrTransponder.Caption" xml:space="preserve">
<value>Canal/ Transp.</value>
</data>
<data name="colChannelOrTransponder.ToolTip" xml:space="preserve">
<value>Número de canal ou transponder</value>
</data>
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Frequência (MHz)</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Sátelite</value>
</data>
<data name="colSymbolRate.Caption" xml:space="preserve">
<value>Taxa de- símbolo</value>
</data>
<data name="colPolarity.Caption" xml:space="preserve">
<value>Polaridade</value>
</data>
<data name="colNetworkName.Caption" xml:space="preserve">
<value>Nome da rede</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>Tipo serviço</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>Sserviço ID</value>
</data>
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Operador</value>
</data>
<data name="lblHotkeyRight.Text" xml:space="preserve">
<value>F5: Filtro | F6: Lista | Entrada: aceitar</value>
</data>
<data name="btnAddAll.Text" xml:space="preserve">
<value>&lt;&lt; Acrescentar todos</value>
</data>
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
<value>Repor filtro</value>
</data>
<data name="btnAdd.ToolTip" xml:space="preserve">
<value>Aceitar canais assinalados</value>
</data>
<data name="grpInputList.Text" xml:space="preserve">
<value>Todos os canais</value>
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>No lista de canais</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Parental lock</value>
</data>
<data name="btnToggleLock.ToolTip" xml:space="preserve">
<value>Parental lock</value>
</data>
<data name="colOutSkip.Caption" xml:space="preserve">
<value>Sal- tar</value>
</data>
<data name="colOutHide.Caption" xml:space="preserve">
<value>Esc- onder</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,165 @@
namespace ChanSort.Ui
{
partial class ChannelListReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.bandListDetail = new DevExpress.XtraReports.UI.DetailBand();
this.txtHeading = new DevExpress.XtraReports.UI.XRLabel();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.repChannels = new DevExpress.XtraReports.UI.DetailReportBand();
this.bandChannelDetail = new DevExpress.XtraReports.UI.DetailBand();
this.txtNumber = new DevExpress.XtraReports.UI.XRLabel();
this.txtChannelName = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// bandListDetail
//
this.bandListDetail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.txtHeading});
this.bandListDetail.Dpi = 254F;
this.bandListDetail.HeightF = 40F;
this.bandListDetail.Name = "bandListDetail";
this.bandListDetail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 254F);
this.bandListDetail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// txtHeading
//
this.txtHeading.Dpi = 254F;
this.txtHeading.Font = new System.Drawing.Font("Times New Roman", 10F);
this.txtHeading.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.txtHeading.Name = "txtHeading";
this.txtHeading.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
this.txtHeading.SizeF = new System.Drawing.SizeF(1801F, 40F);
this.txtHeading.StylePriority.UseFont = false;
this.txtHeading.Text = "Heading";
//
// TopMargin
//
this.TopMargin.Dpi = 254F;
this.TopMargin.HeightF = 83.1875F;
this.TopMargin.Name = "TopMargin";
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 254F);
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// BottomMargin
//
this.BottomMargin.Dpi = 254F;
this.BottomMargin.Font = new System.Drawing.Font("Arial", 9.75F);
this.BottomMargin.HeightF = 119.0625F;
this.BottomMargin.Name = "BottomMargin";
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 254F);
this.BottomMargin.StylePriority.UseFont = false;
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// repChannels
//
this.repChannels.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.bandChannelDetail});
this.repChannels.DataMember = "Channels";
this.repChannels.DataSource = this.bindingSource1;
this.repChannels.Dpi = 254F;
this.repChannels.Level = 0;
this.repChannels.Name = "repChannels";
//
// bandChannelDetail
//
this.bandChannelDetail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.txtNumber,
this.txtChannelName});
this.bandChannelDetail.Dpi = 254F;
this.bandChannelDetail.HeightF = 35F;
this.bandChannelDetail.MultiColumn.ColumnCount = 3;
this.bandChannelDetail.MultiColumn.ColumnSpacing = 50F;
this.bandChannelDetail.MultiColumn.Mode = DevExpress.XtraReports.UI.MultiColumnMode.UseColumnCount;
this.bandChannelDetail.Name = "bandChannelDetail";
this.bandChannelDetail.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.bandChannelDetail_BeforePrint);
//
// txtNumber
//
this.txtNumber.Dpi = 254F;
this.txtNumber.Font = new System.Drawing.Font("Times New Roman", 8F);
this.txtNumber.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.txtNumber.Name = "txtNumber";
this.txtNumber.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
this.txtNumber.SizeF = new System.Drawing.SizeF(111.125F, 35F);
this.txtNumber.StylePriority.UseFont = false;
this.txtNumber.Text = "0000";
//
// txtChannelName
//
this.txtChannelName.Dpi = 254F;
this.txtChannelName.Font = new System.Drawing.Font("Times New Roman", 8F);
this.txtChannelName.LocationFloat = new DevExpress.Utils.PointFloat(111.125F, 0F);
this.txtChannelName.Name = "txtChannelName";
this.txtChannelName.Padding = new DevExpress.XtraPrinting.PaddingInfo(5, 5, 0, 0, 254F);
this.txtChannelName.SizeF = new System.Drawing.SizeF(468.3125F, 35F);
this.txtChannelName.StylePriority.UseFont = false;
this.txtChannelName.Text = "Empty channel list";
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(ChanSort.Api.ChannelList);
//
// ChannelListReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.bandListDetail,
this.TopMargin,
this.BottomMargin,
this.repChannels});
this.DataSource = this.bindingSource1;
this.Dpi = 254F;
this.Margins = new System.Drawing.Printing.Margins(148, 111, 83, 119);
this.PageHeight = 2970;
this.PageWidth = 2100;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.ReportUnit = DevExpress.XtraReports.UI.ReportUnit.TenthsOfAMillimeter;
this.SnapGridSize = 25F;
this.Version = "13.1";
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
#endregion
private DevExpress.XtraReports.UI.DetailBand bandListDetail;
private DevExpress.XtraReports.UI.TopMarginBand TopMargin;
private DevExpress.XtraReports.UI.BottomMarginBand BottomMargin;
private DevExpress.XtraReports.UI.XRLabel txtHeading;
private DevExpress.XtraReports.UI.DetailReportBand repChannels;
private DevExpress.XtraReports.UI.DetailBand bandChannelDetail;
private DevExpress.XtraReports.UI.XRLabel txtNumber;
private DevExpress.XtraReports.UI.XRLabel txtChannelName;
private System.Windows.Forms.BindingSource bindingSource1;
}
}

View File

@@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using ChanSort.Api;
using DevExpress.XtraReports.UI;
namespace ChanSort.Ui
{
public partial class ChannelListReport : XtraReport
{
private readonly int subListIndex;
private readonly bool orderByName;
public ChannelListReport(ChannelList list, int subListIndex, bool orderByName, Font font)
{
this.subListIndex = subListIndex;
this.orderByName = orderByName;
InitializeComponent();
this.DataSource = GenerateDataSource(list);
this.txtHeading.Text = list.ShortCaption + (subListIndex <= 0 ? "" : " - Fav " + (char)('A' + subListIndex));
this.txtHeading.Font = new Font(font.Name, font.Size+4, FontStyle.Bold);
this.txtNumber.Font = font;
this.txtChannelName.Font = font;
}
private List<ChannelList> GenerateDataSource(ChannelList list)
{
ChannelList sortedList = new ChannelList(list.SignalSource, list.Caption);
foreach (var channel in list.Channels.OrderBy(this.SortCriteria))
{
int pos = channel.GetPosition(this.subListIndex);
if (orderByName && (channel.Name == "" || channel.Name == "."))
continue;
if (pos >= 0)
sortedList.Channels.Add(channel);
}
List<ChannelList> lists = new List<ChannelList>();
lists.Add(sortedList);
return lists;
}
private IComparable SortCriteria(ChannelInfo a)
{
return this.orderByName ? (IComparable) a.Name : a.GetPosition(this.subListIndex);
}
private void bandChannelDetail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
var channel = (ChannelInfo) this.repChannels.GetCurrentRow();
if (channel == null) // happens if there are no data records
return;
this.txtNumber.Text = channel.GetPosition(this.subListIndex).ToString();
this.txtChannelName.Text = channel.Name;
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,137 @@
namespace ChanSort.Ui.Printing
{
partial class ReportOptionsDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ReportOptionsDialog));
this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
this.rbSortByNumber = new DevExpress.XtraEditors.CheckEdit();
this.rbSortByName = new DevExpress.XtraEditors.CheckEdit();
this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
this.fontEdit1 = new DevExpress.XtraEditors.FontEdit();
this.btnPreview = new DevExpress.XtraEditors.SimpleButton();
this.btnCancel = new DevExpress.XtraEditors.SimpleButton();
this.spinFontSize = new DevExpress.XtraEditors.SpinEdit();
((System.ComponentModel.ISupportInitialize)(this.rbSortByNumber.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rbSortByName.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.fontEdit1.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.spinFontSize.Properties)).BeginInit();
this.SuspendLayout();
//
// labelControl1
//
resources.ApplyResources(this.labelControl1, "labelControl1");
this.labelControl1.Name = "labelControl1";
//
// rbSortByNumber
//
resources.ApplyResources(this.rbSortByNumber, "rbSortByNumber");
this.rbSortByNumber.Name = "rbSortByNumber";
this.rbSortByNumber.Properties.Caption = resources.GetString("rbSortByNumber.Properties.Caption");
this.rbSortByNumber.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbSortByNumber.Properties.RadioGroupIndex = 1;
//
// rbSortByName
//
resources.ApplyResources(this.rbSortByName, "rbSortByName");
this.rbSortByName.Name = "rbSortByName";
this.rbSortByName.Properties.Caption = resources.GetString("rbSortByName.Properties.Caption");
this.rbSortByName.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbSortByName.Properties.RadioGroupIndex = 1;
this.rbSortByName.TabStop = false;
//
// labelControl2
//
resources.ApplyResources(this.labelControl2, "labelControl2");
this.labelControl2.Name = "labelControl2";
//
// fontEdit1
//
resources.ApplyResources(this.fontEdit1, "fontEdit1");
this.fontEdit1.Name = "fontEdit1";
this.fontEdit1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("fontEdit1.Properties.Buttons"))))});
//
// btnPreview
//
resources.ApplyResources(this.btnPreview, "btnPreview");
this.btnPreview.Name = "btnPreview";
this.btnPreview.Click += new System.EventHandler(this.btnPreview_Click);
//
// btnCancel
//
resources.ApplyResources(this.btnCancel, "btnCancel");
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Name = "btnCancel";
//
// spinFontSize
//
resources.ApplyResources(this.spinFontSize, "spinFontSize");
this.spinFontSize.Name = "spinFontSize";
this.spinFontSize.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("spinFontSize.Properties.Buttons"))))});
this.spinFontSize.Properties.DisplayFormat.FormatString = "0.#";
this.spinFontSize.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.spinFontSize.Properties.Mask.ShowPlaceHolders = ((bool)(resources.GetObject("spinFontSize.Properties.Mask.ShowPlaceHolders")));
//
// ReportOptionsDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.spinFontSize);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnPreview);
this.Controls.Add(this.fontEdit1);
this.Controls.Add(this.labelControl2);
this.Controls.Add(this.rbSortByName);
this.Controls.Add(this.rbSortByNumber);
this.Controls.Add(this.labelControl1);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ReportOptionsDialog";
((System.ComponentModel.ISupportInitialize)(this.rbSortByNumber.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rbSortByName.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.fontEdit1.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.spinFontSize.Properties)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private DevExpress.XtraEditors.LabelControl labelControl1;
private DevExpress.XtraEditors.CheckEdit rbSortByNumber;
private DevExpress.XtraEditors.CheckEdit rbSortByName;
private DevExpress.XtraEditors.LabelControl labelControl2;
private DevExpress.XtraEditors.FontEdit fontEdit1;
private DevExpress.XtraEditors.SimpleButton btnPreview;
private DevExpress.XtraEditors.SimpleButton btnCancel;
private DevExpress.XtraEditors.SpinEdit spinFontSize;
}
}

View File

@@ -0,0 +1,42 @@
using System;
using System.Drawing;
using ChanSort.Api;
using DevExpress.LookAndFeel;
using DevExpress.XtraEditors;
using DevExpress.XtraReports.UI;
namespace ChanSort.Ui.Printing
{
public partial class ReportOptionsDialog : XtraForm
{
private readonly ChannelList channelList;
private readonly int subListIndex;
public ReportOptionsDialog(ChannelList channelList, int subListIndex)
{
InitializeComponent();
this.channelList = channelList;
this.subListIndex = subListIndex;
if (Properties.Settings.Default.PrintSortByName)
this.rbSortByName.Checked = true;
this.fontEdit1.EditValue = Properties.Settings.Default.PrintFontName;
this.spinFontSize.Value = Properties.Settings.Default.PrintFontSize;
}
private void btnPreview_Click(object sender, EventArgs e)
{
Properties.Settings.Default.PrintFontName = (string)this.fontEdit1.EditValue;
Properties.Settings.Default.PrintFontSize = this.spinFontSize.Value;
Properties.Settings.Default.PrintSortByName = this.rbSortByNumber.Checked;
Properties.Settings.Default.Save();
using (var font = new Font(this.fontEdit1.Text, (float)this.spinFontSize.Value))
using (var report = new ChannelListReport(this.channelList, this.subListIndex, this.rbSortByName.Checked, font))
using (ReportPrintTool printTool = new ReportPrintTool(report))
{
printTool.ShowPreviewDialog();
printTool.ShowPreview(UserLookAndFeel.Default);
}
}
}
}

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="labelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 13</value>
</data>
<data name="labelControl1.Text" xml:space="preserve">
<value>Sortieren nach:</value>
</data>
<data name="rbSortByNumber.Properties.Caption" xml:space="preserve">
<value>Nummer</value>
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>Schriftart:</value>
</data>
<data name="btnPreview.Text" xml:space="preserve">
<value>Vorschau...</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Druckoptionen</value>
</data>
</root>

View File

@@ -0,0 +1,361 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="labelControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 24</value>
</data>
<data name="labelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 13</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="labelControl1.Text" xml:space="preserve">
<value>Sort by:</value>
</data>
<data name="&gt;&gt;labelControl1.Name" xml:space="preserve">
<value>labelControl1</value>
</data>
<data name="&gt;&gt;labelControl1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelControl1.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="rbSortByNumber.EditValue" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="rbSortByNumber.Location" type="System.Drawing.Point, System.Drawing">
<value>104, 21</value>
</data>
<data name="rbSortByNumber.Properties.Caption" xml:space="preserve">
<value>Number</value>
</data>
<data name="rbSortByNumber.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 19</value>
</data>
<data name="rbSortByNumber.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;rbSortByNumber.Name" xml:space="preserve">
<value>rbSortByNumber</value>
</data>
<data name="&gt;&gt;rbSortByNumber.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;rbSortByNumber.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;rbSortByNumber.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="rbSortByName.Location" type="System.Drawing.Point, System.Drawing">
<value>185, 21</value>
</data>
<data name="rbSortByName.Properties.Caption" xml:space="preserve">
<value>Name</value>
</data>
<data name="rbSortByName.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 19</value>
</data>
<data name="rbSortByName.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;rbSortByName.Name" xml:space="preserve">
<value>rbSortByName</value>
</data>
<data name="&gt;&gt;rbSortByName.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;rbSortByName.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;rbSortByName.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="labelControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 55</value>
</data>
<data name="labelControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 13</value>
</data>
<data name="labelControl2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>Font:</value>
</data>
<data name="&gt;&gt;labelControl2.Name" xml:space="preserve">
<value>labelControl2</value>
</data>
<data name="&gt;&gt;labelControl2.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelControl2.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="fontEdit1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="fontEdit1.EditValue" xml:space="preserve">
<value>Tahoma</value>
</data>
<data name="fontEdit1.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 52</value>
</data>
<assembly alias="DevExpress.Utils.v14.2" name="DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="fontEdit1.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v14.2">
<value>Combo</value>
</data>
<data name="fontEdit1.Size" type="System.Drawing.Size, System.Drawing">
<value>154, 20</value>
</data>
<data name="fontEdit1.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;fontEdit1.Name" xml:space="preserve">
<value>fontEdit1</value>
</data>
<data name="&gt;&gt;fontEdit1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.FontEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;fontEdit1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;fontEdit1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="btnPreview.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnPreview.Location" type="System.Drawing.Point, System.Drawing">
<value>165, 95</value>
</data>
<data name="btnPreview.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="btnPreview.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="btnPreview.Text" xml:space="preserve">
<value>Preview...</value>
</data>
<data name="&gt;&gt;btnPreview.Name" xml:space="preserve">
<value>btnPreview</value>
</data>
<data name="&gt;&gt;btnPreview.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnPreview.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnPreview.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>246, 95</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="spinFontSize.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="spinFontSize.EditValue" type="System.Decimal, mscorlib">
<value>12</value>
</data>
<data name="spinFontSize.Location" type="System.Drawing.Point, System.Drawing">
<value>266, 52</value>
</data>
<data name="spinFontSize.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v14.2">
<value>Combo</value>
</data>
<data name="spinFontSize.Properties.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="spinFontSize.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 20</value>
</data>
<data name="spinFontSize.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;spinFontSize.Name" xml:space="preserve">
<value>spinFontSize</value>
</data>
<data name="&gt;&gt;spinFontSize.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SpinEdit, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;spinFontSize.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;spinFontSize.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>343, 137</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Print options</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ReportOptionsDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

View File

@@ -0,0 +1,55 @@
/// <XRTypeInfo>
/// <AssemblyFullName>DevExpress.XtraReports.v13.1, Version=13.1.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</AssemblyFullName>
/// <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\DevExpress.XtraReports.v13.1\v4.0_13.1.6.0__b88d1754d700e49a\DevExpress.XtraReports.v13.1.dll</AssemblyLocation>
/// <TypeName>DevExpress.XtraReports.UI.XtraReport</TypeName>
/// <Localization>en-US</Localization>
/// <Version>13.1</Version>
/// <Resources>
/// <Resource Name="XtraReportSerialization.XtraReport">
/// zsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJjZXMuUmVzb3VyY2VSZWFkZXIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1bnRpbWVSZXNvdXJjZVNldAIAAAAAAAAAAAAAAFBBRFBBRFC0AAAA</Resource>
/// </Resources>
/// </XRTypeInfo>
namespace XtraReportSerialization {
public class XtraReport : DevExpress.XtraReports.UI.XtraReport {
private DevExpress.XtraReports.UI.XRControlStyle Heading;
private DevExpress.XtraReports.UI.XRControlStyle Normal;
private System.Resources.ResourceManager _resources;
private string _resourceString;
public XtraReport() {
this._resourceString = DevExpress.XtraReports.Serialization.XRResourceManager.GetResourceFor("XtraReportSerialization.XtraReport");
this.InitializeComponent();
}
private System.Resources.ResourceManager resources {
get {
if (_resources == null) {
this._resources = new DevExpress.XtraReports.Serialization.XRResourceManager(this._resourceString);
}
return this._resources;
}
}
private void InitializeComponent() {
this.Heading = new DevExpress.XtraReports.UI.XRControlStyle();
this.Normal = new DevExpress.XtraReports.UI.XRControlStyle();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Heading
//
this.Heading.Font = new System.Drawing.Font("Tahoma", 16F, System.Drawing.FontStyle.Bold);
this.Heading.Name = "Heading";
//
// Normal
//
this.Normal.Font = new System.Drawing.Font("Tahoma", 12F);
this.Normal.Name = "Normal";
//
// XtraReport
//
this.Name = "XtraReport";
this.PageHeight = 1100;
this.PageWidth = 850;
this.Version = "13.1";
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
}
}

View File

@@ -0,0 +1,44 @@
using System;
using System.Threading;
using System.Windows.Forms;
namespace ChanSort.Ui
{
static class Program
{
internal static bool ChangeLanguage;
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += Application_ThreadException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
do
{
ChangeLanguage = false;
Application.Run(new MainForm());
} while (ChangeLanguage);
}
private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
HandleException(e.Exception);
}
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
HandleException(e.ExceptionObject as Exception);
}
private static void HandleException(Exception ex)
{
MessageBox.Show(
"Bei der Programmausführung trat folgender Fehler auf:\n" + (ex == null ? "(null)" : ex.ToString()),
"Fehler bei Programmausführung", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}

View File

@@ -0,0 +1,38 @@
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ChanSort")]
[assembly: AssemblyDescription("ChanSort TV Channel Sort Utility")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ChanSort")]
[assembly: AssemblyCopyright("Copyright © 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en-US")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("207c2719-5641-4141-917e-e76b7c3b952a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="ChannelList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>ChanSort.Api.ChannelList, ChanSort.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="ChannelInfo" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>GUI.ChannelInfo, GUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="EncodingInfo" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>System.Text.EncodingInfo, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,473 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.34014
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ChanSort.Ui.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ChanSort.Ui.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Donate {
get {
object obj = ResourceManager.GetObject("Donate", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized string similar to Erase all channel data.
/// </summary>
internal static string MainForm_btnResetChannelData_Click_Caption {
get {
return ResourceManager.GetString("MainForm_btnResetChannelData_Click_Caption", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to WARNING: All analog, DVB-C/T and DVB-S channel and transponder data will be deleted.
///You will have to run a full channel scan after loading this file into your TV.
///Proceed?.
/// </summary>
internal static string MainForm_btnResetChannelData_Click_Message {
get {
return ResourceManager.GetString("MainForm_btnResetChannelData_Click_Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Cancel.
/// </summary>
internal static string MainForm_Cancel {
get {
return ResourceManager.GetString("MainForm_Cancel", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The channel list has been copied to the clipboard
///and can be pasted into Excel or any text editor..
/// </summary>
internal static string MainForm_ExportExcelList_Message {
get {
return ResourceManager.GetString("MainForm_ExportExcelList_Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Supported Files|{0}|All Files (*.*)|*.
/// </summary>
internal static string MainForm_FileDialog_OpenFileFilter {
get {
return ResourceManager.GetString("MainForm_FileDialog_OpenFileFilter", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to {0}-Files|*{0}|All Files (*.*)|*.
/// </summary>
internal static string MainForm_FileDialog_SaveFileFilter {
get {
return ResourceManager.GetString("MainForm_FileDialog_SaveFileFilter", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your TV does not allow gaps in the program numbers,
///so the list had to be renumbered..
/// </summary>
internal static string MainForm_HandleChannelNumberGaps {
get {
return ResourceManager.GetString("MainForm_HandleChannelNumberGaps", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Modify current list: Start with current list and modify it as needed.
/// </summary>
internal static string MainForm_InitInitialChannelOrder_CurrentList {
get {
return ResourceManager.GetString("MainForm_InitInitialChannelOrder_CurrentList", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Create new list: Start with an empty list and add channels in desired order.
/// </summary>
internal static string MainForm_InitInitialChannelOrder_EmptyList {
get {
return ResourceManager.GetString("MainForm_InitInitialChannelOrder_EmptyList", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to How would you like to edit your channel list?.
/// </summary>
internal static string MainForm_InitInitialChannelOrder_Question {
get {
return ResourceManager.GetString("MainForm_InitInitialChannelOrder_Question", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Copy channel list: Order the channels the same way as in a reference list.
/// </summary>
internal static string MainForm_InitInitialChannelOrder_ReferenceList {
get {
return ResourceManager.GetString("MainForm_InitInitialChannelOrder_ReferenceList", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The input file contains multiple records that use the same
///program number. It is possible that the TV will not accept
///the changes made by ChanSort.
///This is typically caused by running a manual transponder scan.
///It is recommended to use a clean input file for any modifications.
///To do that, turn Hotel Mode OFF, reset the TV to
///factory defaults, run a new blind channel scan and turn
///Hotel Mode back ON, then export a new clean TLL file.
///.
/// </summary>
internal static string MainForm_LoadFiles_DupeWarningMsg {
get {
return ResourceManager.GetString("MainForm_LoadFiles_DupeWarningMsg", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Error loading file.
/// </summary>
internal static string MainForm_LoadFiles_IOException {
get {
return ResourceManager.GetString("MainForm_LoadFiles_IOException", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Data validation.
/// </summary>
internal static string MainForm_LoadFiles_ValidationWarningCap {
get {
return ResourceManager.GetString("MainForm_LoadFiles_ValidationWarningCap", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The file content shows some anomalies and is possibly corrupt..
/// </summary>
internal static string MainForm_LoadFiles_ValidationWarningMsg {
get {
return ResourceManager.GetString("MainForm_LoadFiles_ValidationWarningMsg", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to An error occured while loading the TV&apos;s data file:
///{0}.
/// </summary>
internal static string MainForm_LoadTll_Exception {
get {
return ResourceManager.GetString("MainForm_LoadTll_Exception", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to No plugin found to read/write {0} files..
/// </summary>
internal static string MainForm_LoadTll_SerializerNotFound {
get {
return ResourceManager.GetString("MainForm_LoadTll_SerializerNotFound", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Quell-TLL konnte nicht gefunden werden:
///&apos;{0}&apos;.
/// </summary>
internal static string MainForm_LoadTll_SourceTllNotFound {
get {
return ResourceManager.GetString("MainForm_LoadTll_SourceTllNotFound", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to File not found.
/// </summary>
internal static string MainForm_LoadTvDataFile_FileNotFound_Caption {
get {
return ResourceManager.GetString("MainForm_LoadTvDataFile_FileNotFound_Caption", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The file {0} does not exist..
/// </summary>
internal static string MainForm_LoadTvDataFile_FileNotFound_Message {
get {
return ResourceManager.GetString("MainForm_LoadTvDataFile_FileNotFound_Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to You are about to restore the backup file. All changes will be lost!
///Do you want to continue?.
/// </summary>
internal static string MainForm_miRestoreOriginal_ItemClick_Confirm {
get {
return ResourceManager.GetString("MainForm_miRestoreOriginal_ItemClick_Confirm", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to No backup file found: {0}.
/// </summary>
internal static string MainForm_miRestoreOriginal_ItemClick_NoBackup {
get {
return ResourceManager.GetString("MainForm_miRestoreOriginal_ItemClick_NoBackup", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unable to copy .bak file to {0}.
/// </summary>
internal static string MainForm_miRestoreOriginal_Message {
get {
return ResourceManager.GetString("MainForm_miRestoreOriginal_Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Append unsorted channels the end of the list.
/// </summary>
internal static string MainForm_PromptHandlingOfUnsortedChannels_Append {
get {
return ResourceManager.GetString("MainForm_PromptHandlingOfUnsortedChannels_Append", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Delete unsorted channels from the list.
/// </summary>
internal static string MainForm_PromptHandlingOfUnsortedChannels_Delete {
get {
return ResourceManager.GetString("MainForm_PromptHandlingOfUnsortedChannels_Delete", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to What should happen to unsorted channels?.
/// </summary>
internal static string MainForm_PromptHandlingOfUnsortedChannels_Question {
get {
return ResourceManager.GetString("MainForm_PromptHandlingOfUnsortedChannels_Question", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Discard changes.
/// </summary>
internal static string MainForm_PromptSaveAndContinue_Discard {
get {
return ResourceManager.GetString("MainForm_PromptSaveAndContinue_Discard", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Do you want so save your changes?.
/// </summary>
internal static string MainForm_PromptSaveAndContinue_Question {
get {
return ResourceManager.GetString("MainForm_PromptSaveAndContinue_Question", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Save changes.
/// </summary>
internal static string MainForm_PromptSaveAndContinue_Save {
get {
return ResourceManager.GetString("MainForm_PromptSaveAndContinue_Save", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Restore order from channel scan.
/// </summary>
internal static string MainForm_RestoreScanOrder_Caption {
get {
return ResourceManager.GetString("MainForm_RestoreScanOrder_Caption", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to All custom storing will be lost.
///Are you sure you want to restore the order from the channel scan?.
/// </summary>
internal static string MainForm_RestoreScanOrder_Message {
get {
return ResourceManager.GetString("MainForm_RestoreScanOrder_Message", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to There was an error saving the file. Please make sure that
///- you have write permission on the file
///- the file is not open in another program
///
///The error message is:
///.
/// </summary>
internal static string MainForm_SaveFiles_ErrorMsg {
get {
return ResourceManager.GetString("MainForm_SaveFiles_ErrorMsg", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to File write error.
/// </summary>
internal static string MainForm_SaveFiles_ErrorTitle {
get {
return ResourceManager.GetString("MainForm_SaveFiles_ErrorTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to An error occured while writing the TV data file:
///{0}.
/// </summary>
internal static string MainForm_SaveTllFile_Exception {
get {
return ResourceManager.GetString("MainForm_SaveTllFile_Exception", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Sorted TV data file was created successfully..
/// </summary>
internal static string MainForm_SaveTllFile_Success {
get {
return ResourceManager.GetString("MainForm_SaveTllFile_Success", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ChanSort Reference List|*.csv|SamToolBox Reference List|*.chl|All Reference Lists|*.csv;*.chl.
/// </summary>
internal static string MainForm_ShowOpenReferenceFileDialog_Filter {
get {
return ResourceManager.GetString("MainForm_ShowOpenReferenceFileDialog_Filter", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open Reference List.
/// </summary>
internal static string MainForm_ShowOpenReferenceFileDialog_Title {
get {
return ResourceManager.GetString("MainForm_ShowOpenReferenceFileDialog_Title", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to An unexpected error occured:
///{0}.
/// </summary>
internal static string MainForm_TryExecute_Exception {
get {
return ResourceManager.GetString("MainForm_TryExecute_Exception", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;html&gt;
///&lt;body&gt;
///&lt;p style=&quot;font-family:Arial;font-size:12pt&quot;&gt;PayPal donation page is being opened...&lt;/p&gt;
///&lt;p&gt;&lt;/p&gt;
///&lt;p style=&quot;font-family:Arial;font-size:12pt&quot;&gt;PayPal Spendenseite wird ge&amp;ouml;ffnet...&lt;/p&gt;
///&lt;form action=&quot;https://www.paypal.com/cgi-bin/webscr&quot; method=&quot;post&quot;&gt;
///&lt;input type=&quot;hidden&quot; name=&quot;cmd&quot; value=&quot;_s-xclick&quot;&gt;
///&lt;input type=&quot;hidden&quot; name=&quot;encrypted&quot; value=&quot;-----BEGIN PKCS7-----MIIHVwYJKoZIhvcNAQcEoIIHSDCCB0QCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBW [rest of string was truncated]&quot;;.
/// </summary>
internal static string paypal_button {
get {
return ResourceManager.GetString("paypal_button", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to New Version.
/// </summary>
internal static string UpdateCheck_NotifyAboutNewVersion_Caption {
get {
return ResourceManager.GetString("UpdateCheck_NotifyAboutNewVersion_Caption", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to A newer version is available: v{0}.
///Do you want to open the download website?.
/// </summary>
internal static string UpdateCheck_NotifyAboutNewVersion_Message {
get {
return ResourceManager.GetString("UpdateCheck_NotifyAboutNewVersion_Message", resourceCulture);
}
}
}
}

View File

View File

@@ -0,0 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="MainForm_LoadTll_SourceTllNotFound" xml:space="preserve">
<value>Quell-TLL konnte nicht gefunden werden:
'{0}'</value>
</data>
<data name="MainForm_LoadTll_Exception" xml:space="preserve">
<value>Beim Auslesen der TLL-Datei trat ein Fehler auf:
{0}</value>
</data>
<data name="MainForm_FileDialog_OpenFileFilter" xml:space="preserve">
<value>Unterstützte Dateien|{0}|Alle Dateien (*.*)|*</value>
</data>
<data name="MainForm_FileDialog_SaveFileFilter" xml:space="preserve">
<value>{0}-Dateien|*{0}|Alle Dateien (*.*)|*</value>
</data>
<data name="MainForm_TryExecute_Exception" xml:space="preserve">
<value>Beim Ausführen der Aktion trat ein Programmfehler auf:
{0}</value>
</data>
<data name="MainForm_SaveTllFile_Exception" xml:space="preserve">
<value>Beim Schreiben der TLL-Datei trat ein Fehler auf:
{0}</value>
</data>
<data name="MainForm_SaveTllFile_Success" xml:space="preserve">
<value>Die sortierte TLL-Datei wurde erfolgreich erstellt.</value>
</data>
<data name="MainForm_PromptSaveAndContinue_Question" xml:space="preserve">
<value>Möchten Sie die Änderungen Speichern?</value>
</data>
<data name="MainForm_PromptSaveAndContinue_Save" xml:space="preserve">
<value>Änderungen speichern</value>
</data>
<data name="MainForm_PromptSaveAndContinue_Discard" xml:space="preserve">
<value>Änderungen verwerfen</value>
</data>
<data name="MainForm_LoadTll_SerializerNotFound" xml:space="preserve">
<value>Es konnte kein Modul zum Lesen/Schreiben von {0}-Dateien gefunden werden.</value>
</data>
<data name="MainForm_LoadFiles_IOException" xml:space="preserve">
<value>Fehler beim Laden der Datei</value>
</data>
<data name="MainForm_LoadFiles_ValidationWarningCap" xml:space="preserve">
<value>Datenüberprüfung</value>
</data>
<data name="MainForm_LoadFiles_ValidationWarningMsg" xml:space="preserve">
<value>Die Überprüfung des Dateiinhalts fand einige Auffälligkeiten, die Senderliste ist womöglich defekt.</value>
</data>
<data name="MainForm_RestoreScanOrder_Message" xml:space="preserve">
<value>Die händische Sortierung wird überschrieben.
Wollen Sie wirklich die Reihenfolge des Sendersuchlaufs wiederherstellen?</value>
</data>
<data name="MainForm_RestoreScanOrder_Caption" xml:space="preserve">
<value>Reihenfolge des Sendersuchlaufs wiederherstellen</value>
</data>
<data name="MainForm_LoadFiles_DupeWarningMsg" xml:space="preserve">
<value>Die Eingabedatei enthält mehrere Einträge die der
gleichen Programmnummer zugeordnet sind. Es ist möglich,
dass das Fernsehgerät die von ChanSort durchgeführten
Änderungen nicht akzeptiert.
Eine typische Ursache für diese Situation ist ein
manueller Transponderscan.
Es wird empfohlen, für die Bearbeitung eine saubere
Ausgangsdatei zu verwenden. Dazu schalten Sie zunächst
den Hotel-Modus AUS, daraufhin können Sie die
Werkseinstellungen wiederherstellen und einen
Sender-Blindsuchlauf ausführen. Anschließend aktivieren
Sie bitte den den Hotel-Modus wieder und exportieren
die Senderliste erneut auf einen USB-Stick.
</value>
</data>
<data name="MainForm_btnResetChannelData_Click_Message" xml:space="preserve">
<value>ACHTUNG: Alle analogen, DVB-C/T und DVB-S Sender- und Transponderdaten werden gelöscht.
Nach dem Laden der Datei in den Fernseher ist ein vollständer Suchlauf notwendig.
Wollen Sie fortsetzen?</value>
</data>
<data name="MainForm_btnResetChannelData_Click_Caption" xml:space="preserve">
<value>Senderinformationen löschen</value>
</data>
<data name="MainForm_miRestoreOriginal_Message" xml:space="preserve">
<value>Die .bak Datei konnte nicht nach {0} kopiert werden</value>
</data>
<data name="MainForm_miRestoreOriginal_ItemClick_NoBackup" xml:space="preserve">
<value>Sicherheitskopie wurde nicht gefunden: {0}</value>
</data>
<data name="MainForm_miRestoreOriginal_ItemClick_Confirm" xml:space="preserve">
<value>Sie sind dabei die Sicherheitskopie wiederherzustellen. Sämtliche Änderungen gehen verloren!
Möchten Sie fortfahren?</value>
</data>
<data name="MainForm_ShowOpenReferenceFileDialog_Title" xml:space="preserve">
<value>Referenzliste öffnen</value>
</data>
<data name="MainForm_ShowOpenReferenceFileDialog_Filter" xml:space="preserve">
<value>ChanSort Referenzliste (*.csv)|*.csv|SamToolBox Referenzliste|*.chl|Alle Referenzlisten|*.csv;*.chl</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Donate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\btn_donateCC_LG_de.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MainForm_SaveFiles_ErrorTitle" xml:space="preserve">
<value>Schreibfehler</value>
</data>
<data name="MainForm_SaveFiles_ErrorMsg" xml:space="preserve">
<value>Beim Schreiben der Datei trat ein Fehler auf. Bitte stellen Sie sicher dass
- Sie Schreibrechte auf die Datei besitzen
- die Datei in keinem anderen Programm geöffnet ist
Die Fehlermeldung lautet:
</value>
</data>
<data name="UpdateCheck_NotifyAboutNewVersion_Message" xml:space="preserve">
<value>Eine neuere Version ist verfügbar: v{0}.
Möchten Sie die Downloadseite öffnen?</value>
</data>
<data name="UpdateCheck_NotifyAboutNewVersion_Caption" xml:space="preserve">
<value>Neue Version</value>
</data>
<data name="MainForm_InitInitialChannelOrder_Question" xml:space="preserve">
<value>Wie möchten Sie die Senderliste bearbeiten?</value>
</data>
<data name="MainForm_InitInitialChannelOrder_EmptyList" xml:space="preserve">
<value>Neu zusammenstellen: Mit leerer Liste beginnen und Sender in gewünschter Reihenfolge hinzufügen</value>
</data>
<data name="MainForm_InitInitialChannelOrder_CurrentList" xml:space="preserve">
<value>Bestehende Liste bearbeiten: Derzeitige Senderreihenfolge übernehmen und anschließend bearbeiten</value>
</data>
<data name="MainForm_InitInitialChannelOrder_ReferenceList" xml:space="preserve">
<value>Reihenfolge kopieren: Senderreihenfolge und Favoriten aus einer Referenzdatei übernehmen</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Question" xml:space="preserve">
<value>Was soll mit den unsortierten Sendern geschehen?</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Append" xml:space="preserve">
<value>Sender am Ende der Liste anhängen</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Delete" xml:space="preserve">
<value>Sender löschen</value>
</data>
<data name="MainForm_Cancel" xml:space="preserve">
<value>Abbrechen</value>
</data>
<data name="MainForm_LoadTvDataFile_FileNotFound_Caption" xml:space="preserve">
<value>Datei nicht gefunden</value>
</data>
<data name="MainForm_LoadTvDataFile_FileNotFound_Message" xml:space="preserve">
<value>Die Datei {0} konnte nicht gefunden werden.</value>
</data>
<data name="MainForm_ExportExcelList_Message" xml:space="preserve">
<value>Die Senderliste wurde in die Zwischenablage kopiert
und kann nun in Excel oder einen Texteditor eingefügt werden.</value>
</data>
<data name="MainForm_HandleChannelNumberGaps" xml:space="preserve">
<value>Ihr TV Gerät erlaubt keine Lücken in den Programmnummer,
deshalb wurde die Liste automatisch umnummeriert.</value>
</data>
</root>

View File

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Question" xml:space="preserve">
<value>Canais não ordenados explicitamente:</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Append" xml:space="preserve">
<value>Acrescentar na sequencia atual ao final</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Delete" xml:space="preserve">
<value>Apagar</value>
</data>
</root>

View File

@@ -0,0 +1,272 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="MainForm_LoadTll_SourceTllNotFound" xml:space="preserve">
<value>Quell-TLL konnte nicht gefunden werden:
'{0}'</value>
</data>
<data name="MainForm_LoadTll_Exception" xml:space="preserve">
<value>An error occured while loading the TV's data file:
{0}</value>
</data>
<data name="MainForm_FileDialog_OpenFileFilter" xml:space="preserve">
<value>Supported Files|{0}|All Files (*.*)|*</value>
</data>
<data name="MainForm_FileDialog_SaveFileFilter" xml:space="preserve">
<value>{0}-Files|*{0}|All Files (*.*)|*</value>
</data>
<data name="MainForm_TryExecute_Exception" xml:space="preserve">
<value>An unexpected error occured:
{0}</value>
</data>
<data name="MainForm_SaveTllFile_Exception" xml:space="preserve">
<value>An error occured while writing the TV data file:
{0}</value>
</data>
<data name="MainForm_SaveTllFile_Success" xml:space="preserve">
<value>Sorted TV data file was created successfully.</value>
</data>
<data name="MainForm_PromptSaveAndContinue_Question" xml:space="preserve">
<value>Do you want so save your changes?</value>
</data>
<data name="MainForm_PromptSaveAndContinue_Save" xml:space="preserve">
<value>Save changes</value>
</data>
<data name="MainForm_PromptSaveAndContinue_Discard" xml:space="preserve">
<value>Discard changes</value>
</data>
<data name="MainForm_LoadTll_SerializerNotFound" xml:space="preserve">
<value>No plugin found to read/write {0} files.</value>
</data>
<data name="MainForm_LoadFiles_IOException" xml:space="preserve">
<value>Error loading file</value>
</data>
<data name="MainForm_LoadFiles_ValidationWarningMsg" xml:space="preserve">
<value>The file content shows some anomalies and is possibly corrupt.</value>
</data>
<data name="MainForm_LoadFiles_ValidationWarningCap" xml:space="preserve">
<value>Data validation</value>
</data>
<data name="MainForm_RestoreScanOrder_Message" xml:space="preserve">
<value>All custom storing will be lost.
Are you sure you want to restore the order from the channel scan?</value>
</data>
<data name="MainForm_RestoreScanOrder_Caption" xml:space="preserve">
<value>Restore order from channel scan</value>
</data>
<data name="MainForm_LoadFiles_DupeWarningMsg" xml:space="preserve">
<value>The input file contains multiple records that use the same
program number. It is possible that the TV will not accept
the changes made by ChanSort.
This is typically caused by running a manual transponder scan.
It is recommended to use a clean input file for any modifications.
To do that, turn Hotel Mode OFF, reset the TV to
factory defaults, run a new blind channel scan and turn
Hotel Mode back ON, then export a new clean TLL file.
</value>
</data>
<data name="MainForm_btnResetChannelData_Click_Message" xml:space="preserve">
<value>WARNING: All analog, DVB-C/T and DVB-S channel and transponder data will be deleted.
You will have to run a full channel scan after loading this file into your TV.
Proceed?</value>
</data>
<data name="MainForm_btnResetChannelData_Click_Caption" xml:space="preserve">
<value>Erase all channel data</value>
</data>
<data name="MainForm_miRestoreOriginal_Message" xml:space="preserve">
<value>Unable to copy .bak file to {0}</value>
</data>
<data name="MainForm_miRestoreOriginal_ItemClick_NoBackup" xml:space="preserve">
<value>No backup file found: {0}</value>
</data>
<data name="MainForm_miRestoreOriginal_ItemClick_Confirm" xml:space="preserve">
<value>You are about to restore the backup file. All changes will be lost!
Do you want to continue?</value>
</data>
<data name="MainForm_ShowOpenReferenceFileDialog_Title" xml:space="preserve">
<value>Open Reference List</value>
</data>
<data name="MainForm_ShowOpenReferenceFileDialog_Filter" xml:space="preserve">
<value>ChanSort Reference List|*.csv|SamToolBox Reference List|*.chl|All Reference Lists|*.csv;*.chl</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Donate" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\btn_donateCC_LG.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="paypal_button" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\paypal-button.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="MainForm_SaveFiles_ErrorMsg" xml:space="preserve">
<value>There was an error saving the file. Please make sure that
- you have write permission on the file
- the file is not open in another program
The error message is:
</value>
</data>
<data name="MainForm_SaveFiles_ErrorTitle" xml:space="preserve">
<value>File write error</value>
</data>
<data name="UpdateCheck_NotifyAboutNewVersion_Message" xml:space="preserve">
<value>A newer version is available: v{0}.
Do you want to open the download website?</value>
</data>
<data name="UpdateCheck_NotifyAboutNewVersion_Caption" xml:space="preserve">
<value>New Version</value>
</data>
<data name="MainForm_InitInitialChannelOrder_Question" xml:space="preserve">
<value>How would you like to edit your channel list?</value>
</data>
<data name="MainForm_InitInitialChannelOrder_EmptyList" xml:space="preserve">
<value>Create new list: Start with an empty list and add channels in desired order</value>
</data>
<data name="MainForm_InitInitialChannelOrder_CurrentList" xml:space="preserve">
<value>Modify current list: Start with current list and modify it as needed</value>
</data>
<data name="MainForm_InitInitialChannelOrder_ReferenceList" xml:space="preserve">
<value>Copy channel list: Order the channels the same way as in a reference list</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Question" xml:space="preserve">
<value>What should happen to unsorted channels?</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Append" xml:space="preserve">
<value>Append unsorted channels the end of the list</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Delete" xml:space="preserve">
<value>Delete unsorted channels from the list</value>
</data>
<data name="MainForm_Cancel" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="MainForm_LoadTvDataFile_FileNotFound_Caption" xml:space="preserve">
<value>File not found</value>
</data>
<data name="MainForm_LoadTvDataFile_FileNotFound_Message" xml:space="preserve">
<value>The file {0} does not exist.</value>
</data>
<data name="MainForm_ExportExcelList_Message" xml:space="preserve">
<value>The channel list has been copied to the clipboard
and can be pasted into Excel or any text editor.</value>
</data>
<data name="MainForm_HandleChannelNumberGaps" xml:space="preserve">
<value>Your TV does not allow gaps in the program numbers,
so the list had to be renumbered.</value>
</data>
</root>

View File

@@ -0,0 +1,470 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18052
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ChanSort.Ui.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int InputListRowHandle {
get {
return ((int)(this["InputListRowHandle"]));
}
set {
this["InputListRowHandle"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int OutputListRowHandle {
get {
return ((int)(this["OutputListRowHandle"]));
}
set {
this["OutputListRowHandle"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string OutputListLayout {
get {
return ((string)(this["OutputListLayout"]));
}
set {
this["OutputListLayout"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputFilterName {
get {
return ((string)(this["InputFilterName"]));
}
set {
this["InputFilterName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputFilterOldSlot {
get {
return ((string)(this["InputFilterOldSlot"]));
}
set {
this["InputFilterOldSlot"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputFilterCrypt {
get {
return ((string)(this["InputFilterCrypt"]));
}
set {
this["InputFilterCrypt"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputFilterNewSlot {
get {
return ((string)(this["InputFilterNewSlot"]));
}
set {
this["InputFilterNewSlot"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputFilterChannel {
get {
return ((string)(this["InputFilterChannel"]));
}
set {
this["InputFilterChannel"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputFilterUid {
get {
return ((string)(this["InputFilterUid"]));
}
set {
this["InputFilterUid"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string OutputFilterName {
get {
return ((string)(this["OutputFilterName"]));
}
set {
this["OutputFilterName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string Language {
get {
return ((string)(this["Language"]));
}
set {
this["Language"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string OutputFilterNewSlot {
get {
return ((string)(this["OutputFilterNewSlot"]));
}
set {
this["OutputFilterNewSlot"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string Encoding {
get {
return ((string)(this["Encoding"]));
}
set {
this["Encoding"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool HideLeftList {
get {
return ((bool)(this["HideLeftList"]));
}
set {
this["HideLeftList"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
public global::System.Drawing.Size WindowSize {
get {
return ((global::System.Drawing.Size)(this["WindowSize"]));
}
set {
this["WindowSize"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputGridLayoutAnalog {
get {
return ((string)(this["InputGridLayoutAnalog"]));
}
set {
this["InputGridLayoutAnalog"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputGridLayoutDvbCT {
get {
return ((string)(this["InputGridLayoutDvbCT"]));
}
set {
this["InputGridLayoutDvbCT"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string InputGridLayoutDvbS {
get {
return ((string)(this["InputGridLayoutDvbS"]));
}
set {
this["InputGridLayoutDvbS"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public int LeftPanelWidth {
get {
return ((int)(this["LeftPanelWidth"]));
}
set {
this["LeftPanelWidth"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool ShowWarningsAfterLoading {
get {
return ((bool)(this["ShowWarningsAfterLoading"]));
}
set {
this["ShowWarningsAfterLoading"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool EraseDuplicateChannels {
get {
return ((bool)(this["EraseDuplicateChannels"]));
}
set {
this["EraseDuplicateChannels"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool AutoLoadRefList {
get {
return ((bool)(this["AutoLoadRefList"]));
}
set {
this["AutoLoadRefList"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool AutoAppendUnsortedChannels {
get {
return ((bool)(this["AutoAppendUnsortedChannels"]));
}
set {
this["AutoAppendUnsortedChannels"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool CloseGaps {
get {
return ((bool)(this["CloseGaps"]));
}
set {
this["CloseGaps"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile0 {
get {
return ((string)(this["MruFile0"]));
}
set {
this["MruFile0"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile1 {
get {
return ((string)(this["MruFile1"]));
}
set {
this["MruFile1"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile2 {
get {
return ((string)(this["MruFile2"]));
}
set {
this["MruFile2"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile3 {
get {
return ((string)(this["MruFile3"]));
}
set {
this["MruFile3"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile4 {
get {
return ((string)(this["MruFile4"]));
}
set {
this["MruFile4"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile5 {
get {
return ((string)(this["MruFile5"]));
}
set {
this["MruFile5"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile6 {
get {
return ((string)(this["MruFile6"]));
}
set {
this["MruFile6"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile7 {
get {
return ((string)(this["MruFile7"]));
}
set {
this["MruFile7"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile8 {
get {
return ((string)(this["MruFile8"]));
}
set {
this["MruFile8"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string MruFile9 {
get {
return ((string)(this["MruFile9"]));
}
set {
this["MruFile9"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Tahoma")]
public string PrintFontName {
get {
return ((string)(this["PrintFontName"]));
}
set {
this["PrintFontName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("12")]
public decimal PrintFontSize {
get {
return ((decimal)(this["PrintFontSize"]));
}
set {
this["PrintFontSize"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool PrintSortByName {
get {
return ((bool)(this["PrintSortByName"]));
}
set {
this["PrintSortByName"] = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="ChanSort.Ui.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="InputListRowHandle" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="OutputListRowHandle" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="OutputListLayout" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputFilterName" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputFilterOldSlot" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputFilterCrypt" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputFilterNewSlot" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputFilterChannel" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputFilterUid" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="OutputFilterName" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="Language" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="OutputFilterNewSlot" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="Encoding" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="HideLeftList" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="WindowSize" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="InputGridLayoutAnalog" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputGridLayoutDvbCT" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="InputGridLayoutDvbS" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="LeftPanelWidth" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="ShowWarningsAfterLoading" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="EraseDuplicateChannels" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoLoadRefList" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoAppendUnsortedChannels" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="CloseGaps" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="MruFile0" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile1" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile2" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile3" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile4" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile5" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile6" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile7" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile8" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MruFile9" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="PrintFontName" Type="System.String" Scope="User">
<Value Profile="(Default)">Tahoma</Value>
</Setting>
<Setting Name="PrintFontSize" Type="System.Decimal" Scope="User">
<Value Profile="(Default)">12</Value>
</Setting>
<Setting Name="PrintSortByName" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,19 @@
<html>
<body>
<p style="font-family:Arial;font-size:12pt">PayPal donation page is being opened...</p>
<p></p>
<p style="font-family:Arial;font-size:12pt">PayPal Spendenseite wird ge&ouml;ffnet...</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
">
<input type="image" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" border="0" name="submit" alt="">
<img alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1">
</form>
<script type="text/javascript">
<!--//
document.forms[0].submit();
//-->
</script>
</body>
</html>

View File

@@ -0,0 +1,28 @@
namespace ChanSort.Ui.Properties {
// This class allows you to handle specific events on the settings class:
// The SettingChanging event is raised before a setting's value is changed.
// The PropertyChanged event is raised after a setting's value is changed.
// The SettingsLoaded event is raised after the setting values are loaded.
// The SettingsSaving event is raised before the setting values are saved.
internal sealed partial class Settings {
public Settings() {
// // To add event handlers for saving and changing settings, uncomment the lines below:
//
// this.SettingChanging += this.SettingChangingEventHandler;
//
// this.SettingsSaving += this.SettingsSavingEventHandler;
//
}
private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
// Add code to handle the SettingChangingEvent event here.
}
private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
// Add code to handle the SettingsSaving event here.
}
}
}

View File

@@ -0,0 +1,68 @@
using System.Net.Sockets;
using System.Text;
using System.Threading;
using ChanSort.Ui.Properties;
using DevExpress.XtraEditors;
namespace ChanSort.Ui
{
class UpdateCheck
{
private const string SearchString = "ChanSort_";
public static void CheckForNewVersion()
{
var check = new UpdateCheck();
Thread thread = new Thread(check.Check);
thread.Start();
}
private void Check()
{
try
{
var newVersion = this.GetLatestVersion();
if (newVersion.CompareTo(MainForm.AppVersion.TrimStart('v')) > 0)
this.NotifyAboutNewVersion(newVersion);
}
catch { }
}
private string GetLatestVersion()
{
// NOTE: tried using WebRequest class, but that causes massive timeout problems after program start (DLL loading/init?)
byte[] buffer = new byte[100000];
int len;
using (Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
{
sock.ReceiveTimeout = 5000;
sock.Connect("sourceforge.net", 80);
var request = Encoding.UTF8.GetBytes("GET /projects/chansort/ HTTP/1.1\r\nHost: sourceforge.net\r\n\r\n");
sock.Send(request);
len = sock.Receive(buffer);
}
var response = Encoding.ASCII.GetString(buffer, 0, len);
int start = response.IndexOf(SearchString);
if (start >= 0)
{
int end = response.IndexOf(".zip", start);
if (end == start + SearchString.Length + 10)
return response.Substring(start + SearchString.Length, 10);
}
return string.Empty;
}
private void NotifyAboutNewVersion(string newVersion)
{
if (XtraMessageBox.Show(
string.Format(Resources.UpdateCheck_NotifyAboutNewVersion_Message, newVersion),
Resources.UpdateCheck_NotifyAboutNewVersion_Caption,
System.Windows.Forms.MessageBoxButtons.YesNo,
System.Windows.Forms.MessageBoxIcon.Question,
System.Windows.Forms.MessageBoxDefaultButton.Button1) != System.Windows.Forms.DialogResult.Yes)
return;
BrowserHelper.OpenUrl("http://sourceforge.net/p/chansort/files/");
}
}
}

80
source/ChanSort/WaitForm1.Designer.cs generated Normal file
View File

@@ -0,0 +1,80 @@
namespace ChanSort.Ui
{
partial class WaitForm1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WaitForm1));
this.progressPanel1 = new DevExpress.XtraWaitForm.ProgressPanel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// progressPanel1
//
resources.ApplyResources(this.progressPanel1, "progressPanel1");
this.progressPanel1.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("progressPanel1.Appearance.BackColor")));
this.progressPanel1.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("progressPanel1.Appearance.GradientMode")));
this.progressPanel1.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("progressPanel1.Appearance.Image")));
this.progressPanel1.Appearance.Options.UseBackColor = true;
this.progressPanel1.AppearanceCaption.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font")));
this.progressPanel1.AppearanceCaption.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("resource.GradientMode")));
this.progressPanel1.AppearanceCaption.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image")));
this.progressPanel1.AppearanceCaption.Options.UseFont = true;
this.progressPanel1.AppearanceDescription.Font = ((System.Drawing.Font)(resources.GetObject("resource.Font1")));
this.progressPanel1.AppearanceDescription.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("resource.GradientMode1")));
this.progressPanel1.AppearanceDescription.Image = ((System.Drawing.Image)(resources.GetObject("resource.Image1")));
this.progressPanel1.AppearanceDescription.Options.UseFont = true;
this.progressPanel1.ImageHorzOffset = 20;
this.progressPanel1.Name = "progressPanel1";
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
this.tableLayoutPanel1.Controls.Add(this.progressPanel1, 0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// WaitForm1
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.tableLayoutPanel1);
this.DoubleBuffered = true;
this.Name = "WaitForm1";
this.tableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private DevExpress.XtraWaitForm.ProgressPanel progressPanel1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
}
}

View File

@@ -0,0 +1,37 @@
using System;
using DevExpress.XtraWaitForm;
namespace ChanSort.Ui
{
public partial class WaitForm1 : WaitForm
{
public WaitForm1()
{
InitializeComponent();
this.progressPanel1.AutoHeight = true;
}
#region Overrides
public override void SetCaption(string caption)
{
base.SetCaption(caption);
this.progressPanel1.Caption = caption;
}
public override void SetDescription(string description)
{
base.SetDescription(description);
this.progressPanel1.Description = description;
}
public override void ProcessCommand(Enum cmd, object arg)
{
base.ProcessCommand(cmd, arg);
}
#endregion
public enum WaitFormCommand
{
}
}
}

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="progressPanel1.Caption" xml:space="preserve">
<value>Bitte um Geduld</value>
</data>
<data name="progressPanel1.Description" xml:space="preserve">
<value>TV Senderliste wird gespeichert...</value>
</data>
</root>

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="progressPanel1.Caption" xml:space="preserve">
<value>Por favor tenha um pouco de paciência</value>
</data>
<data name="progressPanel1.Description" xml:space="preserve">
<value>A gravar a lista de canais...</value>
</data>
</root>

View File

@@ -0,0 +1,256 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="progressPanel1.Description" xml:space="preserve">
<value>Generating TV data file...</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="resource.Font" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 12pt</value>
</data>
<data name="$this.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="progressPanel1.Text" xml:space="preserve">
<value>progressPanel1</value>
</data>
<data name="tableLayoutPanel1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 14, 0, 14</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraWaitForm.WaitForm, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>WaitForm1</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="progressPanel1.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="progressPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 3, 0, 3</value>
</data>
<data name="resource.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>246, 0</value>
</data>
<data name="progressPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="progressPanel1.Appearance.BackColor" type="System.Drawing.Color, System.Drawing">
<value>Transparent</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="progressPanel1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Absolute,246" /&gt;&lt;Rows Styles="Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>246, 73</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>Manual</value>
</data>
<data name="progressPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 17</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="&gt;&gt;progressPanel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="tableLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value>
</data>
<data name="&gt;&gt;progressPanel1.Name" xml:space="preserve">
<value>progressPanel1</value>
</data>
<data name="progressPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="resource.Image1" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="&gt;&gt;progressPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>246, 73</value>
</data>
<data name="progressPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>246, 39</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="resource.GradientMode1" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="&gt;&gt;progressPanel1.Type" xml:space="preserve">
<value>DevExpress.XtraWaitForm.ProgressPanel, DevExpress.XtraEditors.v14.2, Version=14.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="progressPanel1.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="resource.Font1" type="System.Drawing.Font, System.Drawing">
<value>Microsoft Sans Serif, 8.25pt</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Form1</value>
</data>
<data name="resource.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

165
source/ChanSort/app.config Normal file
View File

@@ -0,0 +1,165 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ChanSort.Ui.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
<section name="GUI.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
</configSections>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup><userSettings>
<ChanSort.Ui.Properties.Settings>
<setting name="InputListRowHandle" serializeAs="String">
<value>0</value>
</setting>
<setting name="OutputListRowHandle" serializeAs="String">
<value>0</value>
</setting>
<setting name="OutputListLayout" serializeAs="String">
<value />
</setting>
<setting name="InputFilterName" serializeAs="String">
<value />
</setting>
<setting name="InputFilterOldSlot" serializeAs="String">
<value />
</setting>
<setting name="InputFilterCrypt" serializeAs="String">
<value />
</setting>
<setting name="InputFilterNewSlot" serializeAs="String">
<value />
</setting>
<setting name="InputFilterChannel" serializeAs="String">
<value />
</setting>
<setting name="InputFilterUid" serializeAs="String">
<value />
</setting>
<setting name="OutputFilterName" serializeAs="String">
<value />
</setting>
<setting name="Language" serializeAs="String">
<value />
</setting>
<setting name="OutputFilterNewSlot" serializeAs="String">
<value />
</setting>
<setting name="Encoding" serializeAs="String">
<value />
</setting>
<setting name="HideLeftList" serializeAs="String">
<value>False</value>
</setting>
<setting name="WindowSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="InputGridLayoutAnalog" serializeAs="String">
<value />
</setting>
<setting name="InputGridLayoutDvbCT" serializeAs="String">
<value />
</setting>
<setting name="InputGridLayoutDvbS" serializeAs="String">
<value />
</setting>
<setting name="LeftPanelWidth" serializeAs="String">
<value>0</value>
</setting>
<setting name="ShowWarningsAfterLoading" serializeAs="String">
<value>False</value>
</setting>
<setting name="EraseDuplicateChannels" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoLoadRefList" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoAppendUnsortedChannels" serializeAs="String">
<value>True</value>
</setting>
<setting name="CloseGaps" serializeAs="String">
<value>True</value>
</setting>
<setting name="MruFile0" serializeAs="String">
<value />
</setting>
<setting name="MruFile1" serializeAs="String">
<value />
</setting>
<setting name="MruFile2" serializeAs="String">
<value />
</setting>
<setting name="MruFile3" serializeAs="String">
<value />
</setting>
<setting name="MruFile4" serializeAs="String">
<value />
</setting>
<setting name="MruFile5" serializeAs="String">
<value />
</setting>
<setting name="MruFile6" serializeAs="String">
<value />
</setting>
<setting name="MruFile7" serializeAs="String">
<value />
</setting>
<setting name="MruFile8" serializeAs="String">
<value />
</setting>
<setting name="MruFile9" serializeAs="String">
<value />
</setting>
<setting name="PrintFontName" serializeAs="String">
<value>Tahoma</value>
</setting>
<setting name="PrintFontSize" serializeAs="String">
<value>12</value>
</setting>
<setting name="PrintSortByName" serializeAs="String">
<value>False</value>
</setting>
</ChanSort.Ui.Properties.Settings>
<GUI.Properties.Settings>
<setting name="InputTLL" serializeAs="String">
<value/>
</setting>
<setting name="OutputTLL" serializeAs="String">
<value/>
</setting>
<setting name="InputListRowHandle" serializeAs="String">
<value>0</value>
</setting>
<setting name="OutputListRowHandle" serializeAs="String">
<value>0</value>
</setting>
<setting name="InputListLayout" serializeAs="String">
<value/>
</setting>
<setting name="OutputListLayout" serializeAs="String">
<value/>
</setting>
<setting name="InputFilterName" serializeAs="String">
<value/>
</setting>
<setting name="InputFilterOldSlot" serializeAs="String">
<value/>
</setting>
<setting name="InputFilterCrypt" serializeAs="String">
<value/>
</setting>
<setting name="InputFilterNewSlot" serializeAs="String">
<value/>
</setting>
<setting name="InputFilterChannel" serializeAs="String">
<value/>
</setting>
<setting name="InputFilterUid" serializeAs="String">
<value/>
</setting>
<setting name="OutputFilterName" serializeAs="String">
<value/>
</setting>
</GUI.Properties.Settings>
</userSettings>
</configuration>

BIN
source/ChanSort/app.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 801 B