improved reference list functions, translated dialog to german

This commit is contained in:
hbeham
2016-05-06 02:30:46 +02:00
parent 0a71f34639
commit 3cfe7b3626
21 changed files with 3763 additions and 347 deletions

View File

@@ -58,11 +58,11 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Controller\CsvFileSerializer.cs" />
<Compile Include="Controller\CsvRefListSerializer.cs" />
<Compile Include="Controller\Editor.cs" />
<Compile Include="Controller\ISerializerPlugin.cs" />
<Compile Include="Controller\RefSerializer.cs" />
<Compile Include="Controller\RefSerializerPlugin.cs" />
<Compile Include="Controller\TxtRefListSerializer.cs" />
<Compile Include="Controller\RefListSerializerPlugin.cs" />
<Compile Include="Model\ChannelList.cs" />
<Compile Include="Model\Enums.cs" />
<Compile Include="Model\LnbConfig.cs" />

View File

@@ -9,7 +9,7 @@ namespace ChanSort.Api
/// Reads a reference list from a .csv file with the format
/// [dummy1],ProgramNr,[dummy2],UID,ChannelName[,SignalSource,FavAndFlags]
/// </summary>
public class CsvFileSerializer : SerializerBase
public class CsvRefListSerializer : SerializerBase
{
private static readonly List<string> Columns = new List<string>
{
@@ -27,7 +27,7 @@ namespace ChanSort.Api
#region ctor()
public CsvFileSerializer(string fileName) : base(fileName)
public CsvRefListSerializer(string fileName) : base(fileName)
{
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
this.Features.CanSkipChannels = true;
@@ -306,7 +306,7 @@ namespace ChanSort.Api
}
}
public static void Save(StreamWriter stream, DataRoot dataRoot)
public static void Save(TextWriter stream, DataRoot dataRoot)
{
foreach (var channelList in dataRoot.ChannelLists)
{

View File

@@ -209,11 +209,24 @@ namespace ChanSort.Api
log.AppendFormat("Skipped reference list {0}\r\n", refList.ShortCaption);
continue;
}
ApplyReferenceList(refDataRoot, refList, tvList);
ApplyReferenceList(refDataRoot, refList, tvList, true);
}
}
public void ApplyReferenceList(DataRoot refDataRoot, ChannelList refList, ChannelList tvList, bool addProxyChannels = true, int positionOffset = 0, Predicate<ChannelInfo> chanFilter = null)
/// <summary>
/// Applies the ordering of a reference list to the TV list
/// </summary>
/// <param name="refDataRoot">object representing the whole reference list file</param>
/// <param name="refList">the particular ChannelList to take the order from</param>
/// <param name="tvList">the particular ChannelList to apply the order to</param>
/// <param name="addProxyChannels">if true, a placeholder channel will be created in the tvList if there is no matching TV channel for a reference channel</param>
/// <param name="positionOffset">can be used to shift the Pr# of the reference list so avoid conflicts with already assigned Pr# in the TV list</param>
/// <param name="chanFilter">a function which is called for each channel in the reference list (with 2nd parameter=true) and TV list (2nd parameter=false) to determine if the channel is part of the reordering
/// This is used to filter for analog/digital, radio/TV, antenna/cable/sat/ip
/// </param>
/// <param name="overwrite">controls whether Pr# will be reassigned to the reference channel when they are already in-use in the TV list</param>
/// <param name="consecutive">when true, consecutive numbers will be used instead of the Pr# in the reference list when applying the order</param>
public void ApplyReferenceList(DataRoot refDataRoot, ChannelList refList, ChannelList tvList, bool addProxyChannels = true, int positionOffset = 0, Func<ChannelInfo, bool, bool> chanFilter = null, bool overwrite = true, bool consecutive = false)
{
// create Hashtable for exact channel lookup
// the UID of a TV channel list contains a source-indicator (Analog, Cable, Sat), which may be undefined in the reference list)
@@ -230,9 +243,10 @@ namespace ChanSort.Api
list.Add(channel);
}
foreach (var refChannel in refList.Channels)
var incNr = 1 + positionOffset;
foreach (var refChannel in refList.Channels.OrderBy(ch => ch.OldProgramNr))
{
if (!(chanFilter?.Invoke(refChannel) ?? true))
if (!(chanFilter?.Invoke(refChannel, true) ?? true))
continue;
var tvChannels = tvList.GetChannelByUid(refChannel.Uid);
@@ -243,7 +257,17 @@ namespace ChanSort.Api
var key = DvbKey(refChannel.OriginalNetworkId, refChannel.TransportStreamId, refChannel.ServiceId);
List<ChannelInfo> candidates;
if (key != 0 && onidTsidSid.TryGetValue(key, out candidates))
{
tvChannels = candidates;
// narrow the list down further when a transponder is also provided (i.e. the same TV channel can be received on multiple DVB-T frequencies)
if (tvChannels.Count > 1 && !string.IsNullOrEmpty(refChannel.ChannelOrTransponder))
{
candidates = tvChannels.Where(ch => ch.ChannelOrTransponder == refChannel.ChannelOrTransponder).ToList();
if (candidates.Count > 0)
tvChannels = candidates;
}
}
}
// try to find matching channels by name
@@ -257,14 +281,19 @@ namespace ChanSort.Api
if (tvChannel != null)
{
if (!(chanFilter?.Invoke(tvChannel) ?? true))
if (!(chanFilter?.Invoke(tvChannel, false) ?? true))
continue;
var curChans = tvList.GetChannelByNewProgNr(refChannel.OldProgramNr + positionOffset);
var newNr = consecutive ? incNr++ : refChannel.OldProgramNr + positionOffset;
// handle conflicts when the number is already in-use
var curChans = tvList.GetChannelByNewProgNr(newNr);
if (!overwrite && curChans.Any())
continue;
foreach (var chan in curChans)
chan.NewProgramNr = -1;
tvChannel.SetPosition(0, refChannel.OldProgramNr + positionOffset);
tvChannel.SetPosition(0, newNr);
tvChannel.Skip = refChannel.Skip;
tvChannel.Lock = refChannel.Lock;
tvChannel.Hidden = refChannel.Hidden;
@@ -287,7 +316,7 @@ namespace ChanSort.Api
long DvbKey(int onid, int tsid, int sid)
{
return (onid << 32) | (tsid << 16) | sid;
return ((long)onid << 32) | ((long)tsid << 16) | (long)sid;
}
private void ApplyFavorites(DataRoot refDataRoot, ChannelInfo refChannel, ChannelInfo tvChannel)

View File

@@ -12,9 +12,9 @@ namespace ChanSort.Api
{
var ext = (Path.GetExtension(inputFile) ?? "").ToLower();
if (ext == ".csv")
return new CsvFileSerializer(inputFile);
return new CsvRefListSerializer(inputFile);
else
return new RefSerializer(inputFile);
return new TxtRefListSerializer(inputFile);
}
}
}

View File

@@ -4,16 +4,15 @@ using System.Text;
namespace ChanSort.Api
{
public class RefSerializer : SerializerBase
public class TxtRefListSerializer : SerializerBase
{
private static readonly char[] Separators = { ';' };
private readonly ChannelList allChannels =
new ChannelList(SignalSource.DvbT | SignalSource.DvbC | SignalSource.DvbS | SignalSource.AnalogC | SignalSource.AnalogT | SignalSource.Tv | SignalSource.Radio, "All");
private readonly ChannelList allChannels = new ChannelList(SignalSource.MaskAntennaCableSat | SignalSource.MaskAnalogDigital | SignalSource.MaskTvRadio, "All");
#region ctor()
public RefSerializer(string inputFile) : base(inputFile)
public TxtRefListSerializer(string inputFile) : base(inputFile)
{
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
this.Features.CanSkipChannels = false;
@@ -26,6 +25,7 @@ namespace ChanSort.Api
allChannels.VisibleColumnFieldNames = new List<string>
{
"OldPosition",
"Position",
"Name",
"OriginalNetworkId",

View File

@@ -45,6 +45,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChanSort.Loader.Hisense", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test.Loader.Samsung", "Test.Loader.Samsung\Test.Loader.Samsung.csproj", "{1ED68A9B-6698-4609-B9E6-8E08B6055F2E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReferenceLists", "ReferenceLists", "{382AB628-3B89-4966-8D89-36BED9F1F836}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -207,4 +209,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{382AB628-3B89-4966-8D89-36BED9F1F836} = {67AED502-8AEB-45F2-9B95-AC42B6A5D2C4}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,134 @@
<?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="imageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>349, 503</value>
</metadata>
<assembly alias="DevExpress.Utils.v15.2" name="DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="imageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v15.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxNS4yLCBWZXJzaW9uPTE1LjIu
NS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAAAChE
ZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0cmVhbWVyAAAAAAIAAAAL
</value>
</data>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@@ -271,6 +271,9 @@
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="Properties\Resources.ru.resx" />
<EmbeddedResource Include="ReferenceListForm.de.resx">
<DependentUpon>ReferenceListForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ReferenceListForm.resx">
<DependentUpon>ReferenceListForm.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -573,25 +573,25 @@
this.colSkip,
this.colHidden,
this.colEncrypted,
this.colChannelOrTransponder,
this.colFreqInMhz,
this.colServiceId,
this.colVideoPid,
this.colAudioPid,
this.colServiceType,
this.colServiceTypeName,
this.colFreqInMhz,
this.colChannelOrTransponder,
this.colSatellite,
this.colNetworkId,
this.colTransportStreamId,
this.colServiceId,
this.colVideoPid,
this.colAudioPid,
this.colSymbolRate,
this.colPolarity,
this.colUid,
this.colNetworkName,
this.colNetworkOperator,
this.colProvider,
this.colDebug,
this.colUid,
this.colLogicalIndex,
this.colSignalSource});
this.colSignalSource,
this.colDebug});
this.gviewRight.GridControl = this.gridRight;
this.gviewRight.Name = "gviewRight";
this.gviewRight.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown;

View File

@@ -60,6 +60,12 @@ namespace ChanSort.Ui
this.LookAndFeel.SetSkinStyle("Office 2010 Blue");
InitializeComponent();
// remember which columns should be visible by default
foreach (GridColumn col in this.gviewLeft.Columns)
col.Tag = col.Visible;
foreach (GridColumn col in this.gviewRight.Columns)
col.Tag = col.Visible;
if (!Settings.Default.WindowSize.IsEmpty)
this.Size = Settings.Default.WindowSize;
this.title = string.Format(base.Text, AppVersion);
@@ -80,6 +86,7 @@ namespace ChanSort.Ui
else this.rbInsertSwap.Checked = true;
this.ActiveControl = this.gridRight;
#if !ADD_CHANNELS_FROM_REF_LIST
this.miAddFromRefList.Visibility = BarItemVisibility.Never;
this.miAddFromRefList.Enabled = false;
@@ -513,9 +520,9 @@ namespace ChanSort.Ui
var msg = Resources.MainForm_InitInitialChannelOrder_Question;
using (var dlg = new ActionBoxDialog(msg))
{
dlg.AddAction(Resources.MainForm_InitInitialChannelOrder_ReferenceList, DialogResult.Yes, dlg.CopyList, true);
dlg.AddAction(Resources.MainForm_InitInitialChannelOrder_CurrentList, DialogResult.No, dlg.FullList);
dlg.AddAction(Resources.MainForm_InitInitialChannelOrder_EmptyList, DialogResult.Cancel, dlg.EmptyList);
dlg.AddAction(Resources.MainForm_InitInitialChannelOrder_CurrentList, DialogResult.No, dlg.FullList, true);
dlg.AddAction(Resources.MainForm_InitInitialChannelOrder_ReferenceList, DialogResult.Yes, dlg.CopyList);
res = dlg.ShowDialog(this);
}
@@ -841,9 +848,9 @@ namespace ChanSort.Ui
var ext = (Path.GetExtension(fileName) ?? "").ToLower();
if (ext == ".csv")
CsvFileSerializer.Save(fileName, this.DataRoot);
CsvRefListSerializer.Save(fileName, this.DataRoot);
else if (ext == ".chl" || ext == ".txt")
RefSerializer.Save(fileName, this.CurrentChannelList);
TxtRefListSerializer.Save(fileName, this.CurrentChannelList);
}
#endregion
@@ -1338,7 +1345,7 @@ namespace ChanSort.Ui
if (col == this.colServiceId) return (source & SignalSource.Digital) != 0;
if (col == this.colVideoPid) return (source & SignalSource.Digital) != 0;
if (col == this.colAudioPid) return (source & SignalSource.Digital) != 0;
if (col == this.colServiceType) return (source & SignalSource.Digital) != 0;
//if (col == this.colServiceType) return (source & SignalSource.Digital) != 0;
if (col == this.colServiceTypeName) return (source & SignalSource.Digital) != 0;
if (col == this.colEncrypted) return (source & SignalSource.Digital) != 0;
if (col == this.colTransportStreamId) return (source & SignalSource.Digital) != 0;
@@ -1355,7 +1362,7 @@ namespace ChanSort.Ui
if (col == this.colLogicalIndex) return colLogicalIndex.Visible;
if (col == this.colPolarity) return false;
return true;
return (bool)(col.Tag ?? false);
}
#endregion

View File

@@ -1843,7 +1843,7 @@
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
<value>05/04/2016 22:31:52</value>
<value>05/05/2016 19:53:32</value>
</data>
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
@@ -2358,78 +2358,9 @@
<data name="colEncrypted.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colChannelOrTransponder.Caption" xml:space="preserve">
<value>Chan/ Transp</value>
</data>
<data name="colChannelOrTransponder.ToolTip" xml:space="preserve">
<value>Channel or transponder number</value>
</data>
<data name="colChannelOrTransponder.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colChannelOrTransponder.VisibleIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="colChannelOrTransponder.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Freqency (MHz)</value>
</data>
<data name="colFreqInMhz.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colFreqInMhz.VisibleIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="colFreqInMhz.Width" type="System.Int32, mscorlib">
<value>57</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>Service ID</value>
</data>
<data name="colServiceId.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colServiceId.VisibleIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="colServiceId.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="colVideoPid.Caption" xml:space="preserve">
<value>Video PID</value>
</data>
<data name="colVideoPid.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colVideoPid.VisibleIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="colVideoPid.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colAudioPid.Caption" xml:space="preserve">
<value>Audio PID</value>
</data>
<data name="colAudioPid.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colAudioPid.VisibleIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="colAudioPid.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colServiceType.Caption" xml:space="preserve">
<value>Service Type ID</value>
</data>
<data name="colServiceType.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colServiceType.VisibleIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="colServiceType.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
@@ -2445,6 +2376,33 @@
<data name="colServiceTypeName.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="colFreqInMhz.Caption" xml:space="preserve">
<value>Freqency (MHz)</value>
</data>
<data name="colFreqInMhz.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colFreqInMhz.VisibleIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="colFreqInMhz.Width" type="System.Int32, mscorlib">
<value>57</value>
</data>
<data name="colChannelOrTransponder.Caption" xml:space="preserve">
<value>Chan/ Transp</value>
</data>
<data name="colChannelOrTransponder.ToolTip" xml:space="preserve">
<value>Channel or transponder number</value>
</data>
<data name="colChannelOrTransponder.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colChannelOrTransponder.VisibleIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="colChannelOrTransponder.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="colSatellite.Caption" xml:space="preserve">
<value>Satellite</value>
</data>
@@ -2452,7 +2410,7 @@
<value>True</value>
</data>
<data name="colSatellite.VisibleIndex" type="System.Int32, mscorlib">
<value>16</value>
<value>12</value>
</data>
<data name="colSatellite.Width" type="System.Int32, mscorlib">
<value>100</value>
@@ -2464,7 +2422,7 @@
<value>True</value>
</data>
<data name="colNetworkId.VisibleIndex" type="System.Int32, mscorlib">
<value>17</value>
<value>13</value>
</data>
<data name="colNetworkId.Width" type="System.Int32, mscorlib">
<value>45</value>
@@ -2479,11 +2437,47 @@
<value>True</value>
</data>
<data name="colTransportStreamId.VisibleIndex" type="System.Int32, mscorlib">
<value>18</value>
<value>14</value>
</data>
<data name="colTransportStreamId.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colServiceId.Caption" xml:space="preserve">
<value>Service ID</value>
</data>
<data name="colServiceId.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colServiceId.VisibleIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="colServiceId.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="colVideoPid.Caption" xml:space="preserve">
<value>Video PID</value>
</data>
<data name="colVideoPid.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colVideoPid.VisibleIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="colVideoPid.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colAudioPid.Caption" xml:space="preserve">
<value>Audio PID</value>
</data>
<data name="colAudioPid.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="colAudioPid.VisibleIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="colAudioPid.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colSymbolRate.Caption" xml:space="preserve">
<value>Symbol rate</value>
</data>
@@ -2491,7 +2485,7 @@
<value>True</value>
</data>
<data name="colSymbolRate.VisibleIndex" type="System.Int32, mscorlib">
<value>19</value>
<value>18</value>
</data>
<data name="colSymbolRate.Width" type="System.Int32, mscorlib">
<value>40</value>
@@ -2502,12 +2496,6 @@
<data name="colPolarity.Width" type="System.Int32, mscorlib">
<value>40</value>
</data>
<data name="colUid.Caption" xml:space="preserve">
<value>Uid</value>
</data>
<data name="colUid.Width" type="System.Int32, mscorlib">
<value>120</value>
</data>
<data name="colNetworkName.Caption" xml:space="preserve">
<value>Network Name</value>
</data>
@@ -2515,7 +2503,7 @@
<value>True</value>
</data>
<data name="colNetworkName.VisibleIndex" type="System.Int32, mscorlib">
<value>20</value>
<value>19</value>
</data>
<data name="colNetworkOperator.Caption" xml:space="preserve">
<value>Network Operator</value>
@@ -2524,7 +2512,7 @@
<value>True</value>
</data>
<data name="colNetworkOperator.VisibleIndex" type="System.Int32, mscorlib">
<value>21</value>
<value>20</value>
</data>
<data name="colProvider.Caption" xml:space="preserve">
<value>Provider</value>
@@ -2533,7 +2521,13 @@
<value>True</value>
</data>
<data name="colProvider.VisibleIndex" type="System.Int32, mscorlib">
<value>22</value>
<value>21</value>
</data>
<data name="colUid.Caption" xml:space="preserve">
<value>Uid</value>
</data>
<data name="colUid.Width" type="System.Int32, mscorlib">
<value>120</value>
</data>
<data name="colLogicalIndex.Caption" xml:space="preserve">
<value>Order</value>

View File

@@ -463,6 +463,51 @@ namespace ChanSort.Ui.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Antenna,Cable,Sat,IP,Analog,Digital,TV,Radio.
/// </summary>
internal static string ReferenceListForm_AntennaCableSatIPAnalogDigitalTVRadio {
get {
return ResourceManager.GetString("ReferenceListForm_AntennaCableSatIPAnalogDigitalTVRadio", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Clear target list before applying reference list.
/// </summary>
internal static string ReferenceListForm_btnApply_Click_Clear {
get {
return ResourceManager.GetString("ReferenceListForm_btnApply_Click_Clear", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Keep current channel at the Pr#.
/// </summary>
internal static string ReferenceListForm_btnApply_Click_Keep {
get {
return ResourceManager.GetString("ReferenceListForm_btnApply_Click_Keep", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Overwrite Pr# with the channel from the reference list.
/// </summary>
internal static string ReferenceListForm_btnApply_Click_Overwrite {
get {
return ResourceManager.GetString("ReferenceListForm_btnApply_Click_Overwrite", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to How do you want to handle it when a Pr# is already taken in the target list?.
/// </summary>
internal static string ReferenceListForm_btnApply_ConflictHandling {
get {
return ResourceManager.GetString("ReferenceListForm_btnApply_ConflictHandling", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to New Version.
/// </summary>

View File

@@ -242,7 +242,7 @@ Möchten Sie die Downloadseite öffnen?</value>
<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>
<value>Vorlage übernehmen: Senderreihenfolge und Favoriten aus einer Vorlagedatei übernehmen</value>
</data>
<data name="MainForm_PromptHandlingOfUnsortedChannels_Question" xml:space="preserve">
<value>Was soll mit den unsortierten Sendern geschehen?</value>
@@ -274,4 +274,19 @@ Sollen die Programmnummern in fortlaufende Zahlen umgeändert werden?</value>
<value>Der Inhalt der Datei ist ungültig, da sie entweder 0 Byte groß is oder ausschließlich Nullwerte enthält.
Mögliche Ursachen sind USB-Sticks, die mit NTFS formatiert sind (FAT32 sollte immer funktionieren) oder ein am TV durchgeführtes Firmwareupdate, ohne einen anschließenden neuen Suchlauf. Dabei kann dann unter Umständen die neue Firmware die alten Daten nicht korrekt exportieren.</value>
</data>
<data name="ReferenceListForm_AntennaCableSatIPAnalogDigitalTVRadio" xml:space="preserve">
<value>Antenne,Kabel,Sat,IP,Analog,Digital,TV,Radio</value>
</data>
<data name="ReferenceListForm_btnApply_ConflictHandling" xml:space="preserve">
<value>Wie soll vorgegangen werden, wenn eine Pr# bereits vergeben ist?</value>
</data>
<data name="ReferenceListForm_btnApply_Click_Clear" xml:space="preserve">
<value>Zielliste vor der Übernahme leeren</value>
</data>
<data name="ReferenceListForm_btnApply_Click_Overwrite" xml:space="preserve">
<value>Pr# dem Sender gemäß Vorlage zuordnen</value>
</data>
<data name="ReferenceListForm_btnApply_Click_Keep" xml:space="preserve">
<value>Pr# beim bisherigen Sender belassen</value>
</data>
</root>

View File

@@ -274,4 +274,19 @@ Typical causes are USB sticks with an NTFS file system (try using FAT32 instead)
or firmware upgrades without running a new channel scan.
(The new software in the TV might be unable to process the old channel data during the export.)</value>
</data>
<data name="ReferenceListForm_AntennaCableSatIPAnalogDigitalTVRadio" xml:space="preserve">
<value>Antenna,Cable,Sat,IP,Analog,Digital,TV,Radio</value>
</data>
<data name="ReferenceListForm_btnApply_ConflictHandling" xml:space="preserve">
<value>How do you want to handle it when a Pr# is already taken in the target list?</value>
</data>
<data name="ReferenceListForm_btnApply_Click_Clear" xml:space="preserve">
<value>Clear target list before applying reference list</value>
</data>
<data name="ReferenceListForm_btnApply_Click_Overwrite" xml:space="preserve">
<value>Overwrite Pr# with the channel from the reference list</value>
</data>
<data name="ReferenceListForm_btnApply_Click_Keep" xml:space="preserve">
<value>Keep current channel at the Pr#</value>
</data>
</root>

View File

@@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ReferenceListForm));
DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
this.edFile = new DevExpress.XtraEditors.ButtonEdit();
@@ -44,6 +45,12 @@
this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
this.comboPrNr = new DevExpress.XtraEditors.ComboBoxEdit();
this.grpManual = new DevExpress.XtraEditors.GroupControl();
this.cbConsecutive = new DevExpress.XtraEditors.CheckEdit();
this.cbIp = new DevExpress.XtraEditors.CheckEdit();
this.cbSat = new DevExpress.XtraEditors.CheckEdit();
this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
this.cbAntenna = new DevExpress.XtraEditors.CheckEdit();
this.cbCable = new DevExpress.XtraEditors.CheckEdit();
this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
this.cbAnalog = new DevExpress.XtraEditors.CheckEdit();
this.cbDigital = new DevExpress.XtraEditors.CheckEdit();
@@ -53,6 +60,11 @@
this.btnApply = new DevExpress.XtraEditors.SimpleButton();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.groupControl1 = new DevExpress.XtraEditors.GroupControl();
this.linkWiki = new DevExpress.XtraEditors.HyperlinkLabelControl();
this.groupControl2 = new DevExpress.XtraEditors.GroupControl();
this.labelControl10 = new DevExpress.XtraEditors.LabelControl();
this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
((System.ComponentModel.ISupportInitialize)(this.edFile.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rbAuto.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rbManual.Properties)).BeginInit();
@@ -63,165 +75,140 @@
((System.ComponentModel.ISupportInitialize)(this.comboPrNr.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.grpManual)).BeginInit();
this.grpManual.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbConsecutive.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbIp.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbSat.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbAntenna.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbCable.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbAnalog.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbDigital.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).BeginInit();
this.groupControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.groupControl2)).BeginInit();
this.groupControl2.SuspendLayout();
this.SuspendLayout();
//
// labelControl1
//
this.labelControl1.Location = new System.Drawing.Point(12, 16);
resources.ApplyResources(this.labelControl1, "labelControl1");
this.labelControl1.Name = "labelControl1";
this.labelControl1.Size = new System.Drawing.Size(92, 13);
this.labelControl1.TabIndex = 0;
this.labelControl1.Text = "Reference List File:";
//
// edFile
//
this.edFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edFile.EditValue = "← press button to select a file";
this.edFile.Location = new System.Drawing.Point(133, 13);
resources.ApplyResources(this.edFile, "edFile");
this.edFile.Name = "edFile";
this.edFile.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis, "", -1, true, true, true, DevExpress.XtraEditors.ImageLocation.MiddleCenter, null, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, "", null, null, true)});
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("edFile.Properties.Buttons"))), resources.GetString("edFile.Properties.Buttons1"), ((int)(resources.GetObject("edFile.Properties.Buttons2"))), ((bool)(resources.GetObject("edFile.Properties.Buttons3"))), ((bool)(resources.GetObject("edFile.Properties.Buttons4"))), ((bool)(resources.GetObject("edFile.Properties.Buttons5"))), ((DevExpress.XtraEditors.ImageLocation)(resources.GetObject("edFile.Properties.Buttons6"))), ((System.Drawing.Image)(resources.GetObject("edFile.Properties.Buttons7"))), new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, resources.GetString("edFile.Properties.Buttons8"), ((object)(resources.GetObject("edFile.Properties.Buttons9"))), ((DevExpress.Utils.SuperToolTip)(resources.GetObject("edFile.Properties.Buttons10"))), ((bool)(resources.GetObject("edFile.Properties.Buttons11"))))});
this.edFile.Properties.ReadOnly = true;
this.edFile.Size = new System.Drawing.Size(547, 20);
this.edFile.TabIndex = 1;
this.edFile.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.edFile_ButtonClick);
//
// labelControl2
//
this.labelControl2.Location = new System.Drawing.Point(133, 39);
resources.ApplyResources(this.labelControl2, "labelControl2");
this.labelControl2.Name = "labelControl2";
this.labelControl2.Size = new System.Drawing.Size(318, 13);
this.labelControl2.TabIndex = 2;
this.labelControl2.Text = "(You can choose any supported channel list file as a reference list)";
//
// rbAuto
//
this.rbAuto.Enabled = false;
this.rbAuto.Location = new System.Drawing.Point(13, 79);
resources.ApplyResources(this.rbAuto, "rbAuto");
this.rbAuto.Name = "rbAuto";
this.rbAuto.Properties.AutoWidth = true;
this.rbAuto.Properties.Caption = "Automatically reorder all lists in the current file to match the reference file";
this.rbAuto.Properties.Caption = resources.GetString("rbAuto.Properties.Caption");
this.rbAuto.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbAuto.Properties.RadioGroupIndex = 1;
this.rbAuto.Size = new System.Drawing.Size(375, 19);
this.rbAuto.TabIndex = 3;
this.rbAuto.TabStop = false;
this.rbAuto.CheckedChanged += new System.EventHandler(this.rbAuto_CheckedChanged);
//
// rbManual
//
this.rbManual.Enabled = false;
this.rbManual.Location = new System.Drawing.Point(13, 104);
resources.ApplyResources(this.rbManual, "rbManual");
this.rbManual.Name = "rbManual";
this.rbManual.Properties.AutoWidth = true;
this.rbManual.Properties.Caption = "Reorder only a particular list to match a selected reference list";
this.rbManual.Properties.Caption = resources.GetString("rbManual.Properties.Caption");
this.rbManual.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbManual.Properties.RadioGroupIndex = 1;
this.rbManual.Size = new System.Drawing.Size(320, 19);
this.rbManual.TabIndex = 4;
this.rbManual.TabStop = false;
this.rbManual.CheckedChanged += new System.EventHandler(this.rbAuto_CheckedChanged);
//
// labelControl3
//
this.labelControl3.Location = new System.Drawing.Point(5, 36);
resources.ApplyResources(this.labelControl3, "labelControl3");
this.labelControl3.Name = "labelControl3";
this.labelControl3.Size = new System.Drawing.Size(73, 13);
this.labelControl3.TabIndex = 3;
this.labelControl3.Text = "Reference List:";
//
// comboSource
//
this.comboSource.Location = new System.Drawing.Point(123, 33);
resources.ApplyResources(this.comboSource, "comboSource");
this.comboSource.Name = "comboSource";
this.comboSource.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboSource.Properties.Buttons"))))});
this.comboSource.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
this.comboSource.Size = new System.Drawing.Size(178, 20);
this.comboSource.TabIndex = 4;
this.comboSource.EditValueChanged += new System.EventHandler(this.comboSource_EditValueChanged);
//
// comboTarget
//
this.comboTarget.Location = new System.Drawing.Point(123, 7);
resources.ApplyResources(this.comboTarget, "comboTarget");
this.comboTarget.Name = "comboTarget";
this.comboTarget.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboTarget.Properties.Buttons"))))});
this.comboTarget.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
this.comboTarget.Size = new System.Drawing.Size(178, 20);
this.comboTarget.TabIndex = 1;
this.comboTarget.EditValueChanged += new System.EventHandler(this.comboTarget_EditValueChanged);
//
// labelControl4
//
this.labelControl4.Location = new System.Drawing.Point(5, 10);
resources.ApplyResources(this.labelControl4, "labelControl4");
this.labelControl4.Name = "labelControl4";
this.labelControl4.Size = new System.Drawing.Size(55, 13);
this.labelControl4.TabIndex = 0;
this.labelControl4.Text = "Target List:";
//
// cbTv
//
this.cbTv.Location = new System.Drawing.Point(123, 84);
resources.ApplyResources(this.cbTv, "cbTv");
this.cbTv.Name = "cbTv";
this.cbTv.Properties.AutoWidth = true;
this.cbTv.Properties.Caption = "TV";
this.cbTv.Size = new System.Drawing.Size(34, 19);
this.cbTv.TabIndex = 10;
this.cbTv.Properties.Caption = resources.GetString("cbTv.Properties.Caption");
this.cbTv.TabStop = false;
//
// cbRadio
//
this.cbRadio.Location = new System.Drawing.Point(204, 84);
resources.ApplyResources(this.cbRadio, "cbRadio");
this.cbRadio.Name = "cbRadio";
this.cbRadio.Properties.AutoWidth = true;
this.cbRadio.Properties.Caption = "Radio";
this.cbRadio.Size = new System.Drawing.Size(49, 19);
this.cbRadio.TabIndex = 11;
this.cbRadio.Properties.Caption = resources.GetString("cbRadio.Properties.Caption");
this.cbRadio.TabStop = false;
//
// labelControl5
//
this.labelControl5.Location = new System.Drawing.Point(5, 112);
resources.ApplyResources(this.labelControl5, "labelControl5");
this.labelControl5.Name = "labelControl5";
this.labelControl5.Size = new System.Drawing.Size(62, 13);
this.labelControl5.TabIndex = 12;
this.labelControl5.Text = "Start at Pr#:";
//
// labelControl6
//
this.labelControl6.Location = new System.Drawing.Point(204, 112);
resources.ApplyResources(this.labelControl6, "labelControl6");
this.labelControl6.Name = "labelControl6";
this.labelControl6.Size = new System.Drawing.Size(177, 13);
this.labelControl6.TabIndex = 14;
this.labelControl6.Text = "(i.e. let radio channels start at 5000)";
//
// comboPrNr
//
this.comboPrNr.EditValue = "1";
this.comboPrNr.Location = new System.Drawing.Point(123, 109);
resources.ApplyResources(this.comboPrNr, "comboPrNr");
this.comboPrNr.Name = "comboPrNr";
this.comboPrNr.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboPrNr.Properties.Buttons"))))});
this.comboPrNr.Properties.EditFormat.FormatString = "d";
this.comboPrNr.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.comboPrNr.Properties.Items.AddRange(new object[] {
"1",
"100",
"500",
"1000",
"5000",
"9000"});
this.comboPrNr.Size = new System.Drawing.Size(75, 20);
this.comboPrNr.TabIndex = 13;
resources.GetString("comboPrNr.Properties.Items"),
resources.GetString("comboPrNr.Properties.Items1"),
resources.GetString("comboPrNr.Properties.Items2"),
resources.GetString("comboPrNr.Properties.Items3"),
resources.GetString("comboPrNr.Properties.Items4"),
resources.GetString("comboPrNr.Properties.Items5"),
resources.GetString("comboPrNr.Properties.Items6")});
//
// grpManual
//
this.grpManual.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
resources.ApplyResources(this.grpManual, "grpManual");
this.grpManual.Controls.Add(this.cbConsecutive);
this.grpManual.Controls.Add(this.cbIp);
this.grpManual.Controls.Add(this.cbSat);
this.grpManual.Controls.Add(this.labelControl11);
this.grpManual.Controls.Add(this.cbAntenna);
this.grpManual.Controls.Add(this.cbCable);
this.grpManual.Controls.Add(this.labelControl9);
this.grpManual.Controls.Add(this.cbAnalog);
this.grpManual.Controls.Add(this.cbDigital);
@@ -238,113 +225,160 @@
this.grpManual.Controls.Add(this.labelControl5);
this.grpManual.Controls.Add(this.cbTv);
this.grpManual.Controls.Add(this.cbRadio);
this.grpManual.Enabled = false;
this.grpManual.Location = new System.Drawing.Point(71, 129);
this.grpManual.Name = "grpManual";
this.grpManual.ShowCaption = false;
this.grpManual.Size = new System.Drawing.Size(609, 177);
this.grpManual.TabIndex = 5;
this.grpManual.Text = "grpManual";
//
// cbConsecutive
//
resources.ApplyResources(this.cbConsecutive, "cbConsecutive");
this.cbConsecutive.Name = "cbConsecutive";
this.cbConsecutive.Properties.Caption = resources.GetString("cbConsecutive.Properties.Caption");
this.cbConsecutive.TabStop = false;
//
// cbIp
//
resources.ApplyResources(this.cbIp, "cbIp");
this.cbIp.Name = "cbIp";
this.cbIp.Properties.AutoWidth = true;
this.cbIp.Properties.Caption = resources.GetString("cbIp.Properties.Caption");
this.cbIp.TabStop = false;
//
// cbSat
//
resources.ApplyResources(this.cbSat, "cbSat");
this.cbSat.Name = "cbSat";
this.cbSat.Properties.AutoWidth = true;
this.cbSat.Properties.Caption = resources.GetString("cbSat.Properties.Caption");
this.cbSat.TabStop = false;
//
// labelControl11
//
resources.ApplyResources(this.labelControl11, "labelControl11");
this.labelControl11.Name = "labelControl11";
//
// cbAntenna
//
resources.ApplyResources(this.cbAntenna, "cbAntenna");
this.cbAntenna.Name = "cbAntenna";
this.cbAntenna.Properties.AutoWidth = true;
this.cbAntenna.Properties.Caption = resources.GetString("cbAntenna.Properties.Caption");
this.cbAntenna.TabStop = false;
//
// cbCable
//
resources.ApplyResources(this.cbCable, "cbCable");
this.cbCable.Name = "cbCable";
this.cbCable.Properties.AutoWidth = true;
this.cbCable.Properties.Caption = resources.GetString("cbCable.Properties.Caption");
this.cbCable.TabStop = false;
//
// labelControl9
//
this.labelControl9.Location = new System.Drawing.Point(5, 62);
resources.ApplyResources(this.labelControl9, "labelControl9");
this.labelControl9.Name = "labelControl9";
this.labelControl9.Size = new System.Drawing.Size(59, 13);
this.labelControl9.TabIndex = 6;
this.labelControl9.Text = "Signal Type:";
//
// cbAnalog
//
this.cbAnalog.Location = new System.Drawing.Point(123, 59);
resources.ApplyResources(this.cbAnalog, "cbAnalog");
this.cbAnalog.Name = "cbAnalog";
this.cbAnalog.Properties.AutoWidth = true;
this.cbAnalog.Properties.Caption = "Analog";
this.cbAnalog.Size = new System.Drawing.Size(55, 19);
this.cbAnalog.TabIndex = 7;
this.cbAnalog.Properties.Caption = resources.GetString("cbAnalog.Properties.Caption");
this.cbAnalog.TabStop = false;
//
// cbDigital
//
this.cbDigital.Location = new System.Drawing.Point(204, 59);
resources.ApplyResources(this.cbDigital, "cbDigital");
this.cbDigital.Name = "cbDigital";
this.cbDigital.Properties.AutoWidth = true;
this.cbDigital.Properties.Caption = "Digital";
this.cbDigital.Size = new System.Drawing.Size(51, 19);
this.cbDigital.TabIndex = 8;
this.cbDigital.Properties.Caption = resources.GetString("cbDigital.Properties.Caption");
this.cbDigital.TabStop = false;
//
// lblTargetInfo
//
this.lblTargetInfo.Location = new System.Drawing.Point(308, 10);
resources.ApplyResources(this.lblTargetInfo, "lblTargetInfo");
this.lblTargetInfo.Name = "lblTargetInfo";
this.lblTargetInfo.Size = new System.Drawing.Size(3, 13);
this.lblTargetInfo.TabIndex = 2;
this.lblTargetInfo.Text = " ";
//
// lblSourceInfo
//
this.lblSourceInfo.Location = new System.Drawing.Point(308, 36);
resources.ApplyResources(this.lblSourceInfo, "lblSourceInfo");
this.lblSourceInfo.Name = "lblSourceInfo";
this.lblSourceInfo.Size = new System.Drawing.Size(3, 13);
this.lblSourceInfo.TabIndex = 5;
this.lblSourceInfo.Text = " ";
//
// labelControl7
//
this.labelControl7.Location = new System.Drawing.Point(5, 87);
resources.ApplyResources(this.labelControl7, "labelControl7");
this.labelControl7.Name = "labelControl7";
this.labelControl7.Size = new System.Drawing.Size(70, 13);
this.labelControl7.TabIndex = 9;
this.labelControl7.Text = "Channel Type:";
//
// btnApply
//
this.btnApply.Enabled = false;
this.btnApply.Location = new System.Drawing.Point(123, 144);
resources.ApplyResources(this.btnApply, "btnApply");
this.btnApply.Name = "btnApply";
this.btnApply.Size = new System.Drawing.Size(103, 23);
this.btnApply.TabIndex = 15;
this.btnApply.Text = "Apply";
this.btnApply.Click += new System.EventHandler(this.btnApply_Click);
//
// btnOk
//
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
resources.ApplyResources(this.btnOk, "btnOk");
this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOk.Location = new System.Drawing.Point(497, 321);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(88, 23);
this.btnOk.TabIndex = 6;
this.btnOk.Text = "Ok";
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
//
// btnClose
//
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
resources.ApplyResources(this.btnClose, "btnClose");
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(592, 321);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(88, 23);
this.btnClose.TabIndex = 7;
this.btnClose.Text = "Close/Cancel";
//
// groupControl1
//
this.groupControl1.AppearanceCaption.Font = ((System.Drawing.Font)(resources.GetObject("groupControl1.AppearanceCaption.Font")));
this.groupControl1.AppearanceCaption.Options.UseFont = true;
this.groupControl1.Controls.Add(this.linkWiki);
this.groupControl1.Controls.Add(this.labelControl2);
this.groupControl1.Controls.Add(this.labelControl1);
this.groupControl1.Controls.Add(this.edFile);
resources.ApplyResources(this.groupControl1, "groupControl1");
this.groupControl1.Name = "groupControl1";
//
// linkWiki
//
this.linkWiki.Cursor = System.Windows.Forms.Cursors.Hand;
resources.ApplyResources(this.linkWiki, "linkWiki");
this.linkWiki.Name = "linkWiki";
this.linkWiki.HyperlinkClick += new DevExpress.Utils.HyperlinkClickEventHandler(this.linkWiki_HyperlinkClick);
//
// groupControl2
//
this.groupControl2.AppearanceCaption.Font = ((System.Drawing.Font)(resources.GetObject("groupControl2.AppearanceCaption.Font")));
this.groupControl2.AppearanceCaption.Options.UseFont = true;
this.groupControl2.Controls.Add(this.labelControl10);
this.groupControl2.Controls.Add(this.labelControl8);
this.groupControl2.Controls.Add(this.rbAuto);
this.groupControl2.Controls.Add(this.rbManual);
this.groupControl2.Controls.Add(this.grpManual);
resources.ApplyResources(this.groupControl2, "groupControl2");
this.groupControl2.Name = "groupControl2";
//
// labelControl10
//
resources.ApplyResources(this.labelControl10, "labelControl10");
this.labelControl10.Name = "labelControl10";
//
// labelControl8
//
resources.ApplyResources(this.labelControl8, "labelControl8");
this.labelControl8.Name = "labelControl8";
//
// ReferenceListForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(692, 356);
this.Controls.Add(this.groupControl2);
this.Controls.Add(this.groupControl1);
this.Controls.Add(this.btnClose);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.grpManual);
this.Controls.Add(this.rbManual);
this.Controls.Add(this.rbAuto);
this.Controls.Add(this.labelControl2);
this.Controls.Add(this.edFile);
this.Controls.Add(this.labelControl1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "ReferenceListForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Apply Reference List";
((System.ComponentModel.ISupportInitialize)(this.edFile.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rbAuto.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rbManual.Properties)).EndInit();
@@ -356,10 +390,19 @@
((System.ComponentModel.ISupportInitialize)(this.grpManual)).EndInit();
this.grpManual.ResumeLayout(false);
this.grpManual.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.cbConsecutive.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbIp.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbSat.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbAntenna.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbCable.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbAnalog.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbDigital.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).EndInit();
this.groupControl1.ResumeLayout(false);
this.groupControl1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.groupControl2)).EndInit();
this.groupControl2.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -389,5 +432,16 @@
private DevExpress.XtraEditors.LabelControl labelControl9;
private DevExpress.XtraEditors.CheckEdit cbAnalog;
private DevExpress.XtraEditors.CheckEdit cbDigital;
private DevExpress.XtraEditors.GroupControl groupControl1;
private DevExpress.XtraEditors.GroupControl groupControl2;
private DevExpress.XtraEditors.LabelControl labelControl10;
private DevExpress.XtraEditors.LabelControl labelControl8;
private DevExpress.XtraEditors.CheckEdit cbIp;
private DevExpress.XtraEditors.CheckEdit cbSat;
private DevExpress.XtraEditors.LabelControl labelControl11;
private DevExpress.XtraEditors.CheckEdit cbAntenna;
private DevExpress.XtraEditors.CheckEdit cbCable;
private DevExpress.XtraEditors.HyperlinkLabelControl linkWiki;
private DevExpress.XtraEditors.CheckEdit cbConsecutive;
}
}

View File

@@ -1,4 +1,5 @@
using System;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
@@ -6,6 +7,7 @@ using ChanSort.Api;
using ChanSort.Ui.Properties;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
using DevExpress.XtraPrinting.Native;
namespace ChanSort.Ui
{
@@ -13,14 +15,25 @@ namespace ChanSort.Ui
{
private readonly MainForm main;
private SerializerBase serializer;
private readonly string[] closeButtonText;
public ReferenceListForm(MainForm main)
{
this.main = main;
InitializeComponent();
this.closeButtonText = this.btnClose.Text.Split('/');
this.UpdateButtons();
}
#region UpdateButtons()
private void UpdateButtons()
{
this.btnOk.Visible = this.rbAuto.Checked;
this.btnClose.Text = this.rbAuto.Checked ? closeButtonText[1] : closeButtonText[0];
}
#endregion
#region OnLoad()
protected override void OnLoad(EventArgs e)
{
@@ -37,14 +50,6 @@ namespace ChanSort.Ui
}
#endregion
#region UpdateButtons()
private void UpdateButtons()
{
this.btnOk.Visible = this.rbAuto.Checked;
this.btnClose.Text = this.rbAuto.Checked ? "Cancel" : "Close";
}
#endregion
#region ShowOpenFileDialog()
private static SerializerBase ShowOpenFileDialog(MainForm main)
@@ -83,93 +88,7 @@ namespace ChanSort.Ui
#endregion
#region UpdateInfoTextAndOptions()
private void UpdateInfoTextAndOptions()
{
foreach (var ctl in this.grpManual.Controls)
{
var checkEdit = ctl as CheckEdit;
if (checkEdit != null)
checkEdit.Checked = checkEdit.Enabled = true;
}
var list = (ChannelList) this.comboSource.EditValue;
this.lblSourceInfo.Text = GetInfoText(list);
list = (ChannelList) this.comboTarget.EditValue;
this.lblTargetInfo.Text = GetInfoText(list);
var canApply = (cbAnalog.Checked || cbDigital.Checked) && (cbTv.Checked || cbRadio.Checked);
this.btnApply.Enabled = canApply;
}
#endregion
#region GetInfoText()
private string GetInfoText(ChannelList list)
{
var src = list?.SignalSource ?? 0;
var sb = new StringBuilder();
if ((src & SignalSource.Antenna) != 0)
sb.Append(", Antenna");
if ((src & SignalSource.Cable) != 0)
sb.Append(", Cable");
if ((src & SignalSource.Sat) != 0)
sb.Append(", Satellite");
if ((src & SignalSource.IP) != 0)
sb.Append(", IP");
if ((src & SignalSource.Analog) != 0)
sb.Append(", Analog");
else
this.cbAnalog.Enabled = this.cbAnalog.Checked = false;
if ((src & SignalSource.Digital) != 0)
sb.Append(", Digital");
else
this.cbDigital.Enabled = this.cbDigital.Checked = false;
if ((src & SignalSource.Tv) != 0)
sb.Append(", TV");
else
this.cbTv.Enabled = this.cbTv.Checked = false;
if ((src & SignalSource.Radio) != 0)
sb.Append(", Radio");
else
this.cbRadio.Enabled = this.cbRadio.Checked = false;
if (sb.Length >= 2)
sb.Remove(0, 2);
return sb.ToString();
}
#endregion
#region FilterChannel()
private bool FilterChannel(ChannelInfo ch)
{
var ss = ch.SignalSource;
if (!(this.cbAnalog.Checked && (ss & SignalSource.Analog) != 0 || this.cbDigital.Checked && (ss & SignalSource.Digital) != 0))
return false;
if (!(this.cbTv.Checked && (ss & SignalSource.Tv) != 0 || this.cbRadio.Checked && (ss & SignalSource.Radio) != 0))
return false;
return true;
}
#endregion
#region edFile_ButtonClick
private void edFile_ButtonClick(object sender, ButtonPressedEventArgs e)
{
var ser = ShowOpenFileDialog(this.main);
if (ser != null)
SetInput(ser);
}
#region SetInput()
private void SetInput(SerializerBase ser)
{
this.serializer = ser;
@@ -199,11 +118,13 @@ namespace ChanSort.Ui
if (this.comboTarget.SelectedIndex < 0 && this.comboTarget.Properties.Items.Count > 0)
this.comboTarget.SelectedIndex = 0;
// detect whether auto-sorting is possible
this.rbAuto.Enabled = true;
foreach (var list in main.DataRoot.ChannelLists)
this.rbAuto.Enabled &= (serializer.DataRoot.GetChannelList(list.SignalSource)?.SignalSource ?? 0) == list.SignalSource;
//serializer.DataRoot.MixedSourceFavorites == main.DataRoot.MixedSourceFavorites &&
//serializer.DataRoot.SortedFavorites == main.DataRoot.SortedFavorites;
{
if (!list.IsMixedSourceFavoritesList)
this.rbAuto.Enabled &= (serializer.DataRoot.GetChannelList(list.SignalSource)?.SignalSource ?? 0) == list.SignalSource;
}
if (this.rbAuto.Enabled)
this.rbAuto.Checked = true;
else
@@ -212,6 +133,96 @@ namespace ChanSort.Ui
#endregion
#region UpdateInfoTextAndOptions()
private void UpdateInfoTextAndOptions()
{
foreach (var ctl in this.grpManual.Controls)
{
if (ctl == this.cbConsecutive)
continue;
var checkEdit = ctl as CheckEdit;
if (checkEdit != null)
checkEdit.Checked = checkEdit.Enabled = true;
}
var list = (ChannelList) this.comboSource.EditValue;
this.lblSourceInfo.Text = GetInfoText(list, true);
list = (ChannelList) this.comboTarget.EditValue;
this.lblTargetInfo.Text = GetInfoText(list, false);
var canApply = (cbAnalog.Checked || cbDigital.Checked) && (cbTv.Checked || cbRadio.Checked);
this.btnApply.Enabled = canApply;
}
#endregion
#region GetInfoText()
private string GetInfoText(ChannelList list, bool source)
{
var src = list?.SignalSource ?? 0;
var sb = new StringBuilder();
var sigSource = new[] {SignalSource.Antenna, SignalSource.Cable, SignalSource.Sat, SignalSource.IP, SignalSource.Analog, SignalSource.Digital, SignalSource.Tv, SignalSource.Radio};
var infoText = Resources.ReferenceListForm_AntennaCableSatIPAnalogDigitalTVRadio.Split(',');
var controls = new[] {cbAntenna, cbCable, cbSat, cbIp, cbAnalog, cbDigital, cbTv, cbRadio };
for (int i = 0, c = sigSource.Length; i < c; i++)
{
if ((src & sigSource[i]) != 0)
sb.Append(", ").Append(infoText[i]);
else
{
controls[i].Checked = false;
if (source || i >= 4)
controls[i].Enabled = false;
}
}
if (sb.Length >= 2)
sb.Remove(0, 2);
return sb.ToString();
}
#endregion
#region FilterChannel()
private bool FilterChannel(ChannelInfo ch, bool source)
{
var ss = ch.SignalSource;
if (source)
{
if (
!(this.cbAntenna.Checked && (ss & SignalSource.Antenna) != 0 || this.cbCable.Checked && (ss & SignalSource.Cable) != 0 || this.cbSat.Checked && (ss & SignalSource.Sat) != 0 ||
this.cbIp.Checked && (ss & SignalSource.IP) != 0))
return false;
}
if (!(this.cbAnalog.Checked && (ss & SignalSource.Analog) != 0 || this.cbDigital.Checked && (ss & SignalSource.Digital) != 0))
return false;
if (!(this.cbTv.Checked && (ss & SignalSource.Tv) != 0 || this.cbRadio.Checked && (ss & SignalSource.Radio) != 0))
return false;
return true;
}
#endregion
#region edFile_ButtonClick
private void edFile_ButtonClick(object sender, ButtonPressedEventArgs e)
{
var ser = ShowOpenFileDialog(this.main);
if (ser != null)
SetInput(ser);
}
#endregion
#region linkWiki_HyperlinkClick
private void linkWiki_HyperlinkClick(object sender, DevExpress.Utils.HyperlinkClickEventArgs e)
{
Process.Start("https://github.com/PredatH0r/ChanSort/wiki/Reference-Lists");
}
#endregion
#region rbAuto_CheckedChanged
private void rbAuto_CheckedChanged(object sender, EventArgs e)
@@ -267,7 +278,34 @@ namespace ChanSort.Ui
int offset;
if (int.TryParse(this.comboPrNr.Text, out offset))
offset -= src.Channels.Min(ch => Math.Max(ch.OldProgramNr, 1));
main.Editor.ApplyReferenceList(this.serializer.DataRoot, src, target, false, offset, FilterChannel);
bool overwrite = true;
if (target.GetChannelsByNewOrder().Any(ch => ch.NewProgramNr != -1))
{
using (var dlg = new ActionBoxDialog(Resources.ReferenceListForm_btnApply_ConflictHandling))
{
dlg.AddAction(Resources.ReferenceListForm_btnApply_Click_Clear, DialogResult.OK, dlg.EmptyList);
dlg.AddAction(Resources.ReferenceListForm_btnApply_Click_Overwrite, DialogResult.Yes, dlg.Overwrite);
dlg.AddAction(Resources.ReferenceListForm_btnApply_Click_Keep, DialogResult.No, dlg.CopyList);
dlg.AddAction(closeButtonText[1], DialogResult.Cancel, dlg.Cancel);
switch (dlg.ShowDialog(this))
{
case DialogResult.OK:
target.Channels.ForEach(ch => ch.NewProgramNr = -1);
break;
case DialogResult.Yes:
//overwrite = true;
break;
case DialogResult.No:
overwrite = false;
break;
case DialogResult.Cancel:
return;
}
}
}
main.Editor.ApplyReferenceList(this.serializer.DataRoot, src, target, false, offset, FilterChannel, overwrite, this.cbConsecutive.Checked);
main.RefreshGrids();
}
@@ -282,6 +320,5 @@ namespace ChanSort.Ui
}
#endregion
}
}

View File

@@ -0,0 +1,239 @@
<?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>70, 13</value>
</data>
<data name="labelControl1.Text" xml:space="preserve">
<value>Vorlagendatei:</value>
</data>
<data name="edFile.EditValue" xml:space="preserve">
<value>← drücken Sie den Knopf um eine Datei auszuwählen</value>
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>Wählen Sie eine Vorlagendatei, aus der die Reihenfolge übernommen werden soll.
Sie können eine der vordefinierten ChanSort-Listen wählen (TXT, CHL, CSV)
oder eine Senderdatei eines anderen Fernsehers (SCM, TLL, DB, BIN, ...)</value>
</data>
<data name="rbAuto.Properties.Caption" xml:space="preserve">
<value>Automatisch alle Listen der TV-Datei neu ordnen</value>
</data>
<data name="rbAuto.Size" type="System.Drawing.Size, System.Drawing">
<value>252, 19</value>
</data>
<data name="rbManual.Properties.Caption" xml:space="preserve">
<value>Eweiterte Umsortierung</value>
</data>
<data name="rbManual.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 19</value>
</data>
<data name="labelControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>65, 13</value>
</data>
<data name="labelControl3.Text" xml:space="preserve">
<value>Vorlagenliste:</value>
</data>
<data name="labelControl4.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 13</value>
</data>
<data name="labelControl4.Text" xml:space="preserve">
<value>Zielliste:</value>
</data>
<data name="labelControl5.Size" type="System.Drawing.Size, System.Drawing">
<value>74, 13</value>
</data>
<data name="labelControl5.Text" xml:space="preserve">
<value>Beginn mit Pr#:</value>
</data>
<data name="labelControl6.Text" xml:space="preserve">
<value>(z.B. können Sie Radiosender ab 5000 beginnen lassen, um Konflikte mit TV-Sendernummern zu vermeiden)</value>
</data>
<data name="cbConsecutive.Properties.Caption" xml:space="preserve">
<value>Forlaufende Nummern verwenden (Lücken in den Pr# vermeiden)</value>
</data>
<data name="cbIp.Properties.Caption" xml:space="preserve">
<value>IP (Netzwerk)</value>
</data>
<data name="cbIp.Size" type="System.Drawing.Size, System.Drawing">
<value>88, 19</value>
</data>
<data name="cbSat.Properties.Caption" xml:space="preserve">
<value>Satellit</value>
</data>
<data name="cbSat.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 19</value>
</data>
<data name="labelControl11.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 13</value>
</data>
<data name="labelControl11.Text" xml:space="preserve">
<value>Eingang:</value>
</data>
<data name="cbAntenna.Properties.Caption" xml:space="preserve">
<value>Antenne</value>
</data>
<data name="cbCable.Properties.Caption" xml:space="preserve">
<value>Kabel</value>
</data>
<data name="cbCable.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 19</value>
</data>
<data name="labelControl9.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 13</value>
</data>
<data name="labelControl9.Text" xml:space="preserve">
<value>Signaltyp:</value>
</data>
<data name="labelControl7.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 13</value>
</data>
<data name="labelControl7.Text" xml:space="preserve">
<value>Sendertyp:</value>
</data>
<data name="btnApply.Text" xml:space="preserve">
<value>Übernehmen</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>Schließen/Abbrechen</value>
</data>
<data name="linkWiki.Size" type="System.Drawing.Size, System.Drawing">
<value>357, 13</value>
</data>
<data name="linkWiki.Text" xml:space="preserve">
<value>ChanSort Wiki mit weiteren Informationen und Vorlagen-Downloads öffnen</value>
</data>
<data name="groupControl1.Text" xml:space="preserve">
<value>1. Wählen Sie eine Vorlagen-Datei</value>
</data>
<data name="labelControl10.Text" xml:space="preserve">
<value>Wenn die TV- und Vorlagendatei mehrere Listen enthalten oder unterschiedlich strukturiert sind, können Sie bestimmte Teile neu ordnen.
Dieser Schritt kann je nach Bedarf wiederholt werden.</value>
</data>
<data name="labelControl8.Text" xml:space="preserve">
<value>Diese Option steht nur zur Verfügung, wenn TV- und Vorlagendatei gleich strukturiert sind.
(d.h. gleiche Teil-Listen für Antenne/Kabel/Sat, TV/Radio, Analog/Digital)</value>
</data>
<data name="groupControl2.Text" xml:space="preserve">
<value>2. Bringen Sie Ordnung in Ihre TV-Liste</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Vorlage übernehmen</value>
</data>
</root>

View File

@@ -117,4 +117,976 @@
<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>11, 39</value>
</data>
<data name="labelControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 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>Reference List File:</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.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl1.Parent" xml:space="preserve">
<value>groupControl1</value>
</data>
<data name="&gt;&gt;labelControl1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="edFile.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="edFile.EditValue" xml:space="preserve">
<value>← press button to select a file</value>
</data>
<data name="edFile.Location" type="System.Drawing.Point, System.Drawing">
<value>132, 36</value>
</data>
<assembly alias="DevExpress.Utils.v15.2" name="DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="edFile.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v15.2">
<value>Ellipsis</value>
</data>
<data name="edFile.Properties.Buttons1" xml:space="preserve">
<value />
</data>
<data name="edFile.Properties.Buttons2" type="System.Int32, mscorlib">
<value>-1</value>
</data>
<data name="edFile.Properties.Buttons3" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="edFile.Properties.Buttons4" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="edFile.Properties.Buttons5" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="DevExpress.XtraEditors.v15.2" name="DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="edFile.Properties.Buttons6" type="DevExpress.XtraEditors.ImageLocation, DevExpress.XtraEditors.v15.2">
<value>MiddleCenter</value>
</data>
<data name="edFile.Properties.Buttons7" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="edFile.Properties.Buttons8" xml:space="preserve">
<value />
</data>
<data name="edFile.Properties.Buttons9" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="edFile.Properties.Buttons10" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="edFile.Properties.Buttons11" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="edFile.Size" type="System.Drawing.Size, System.Drawing">
<value>549, 20</value>
</data>
<data name="edFile.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;edFile.Name" xml:space="preserve">
<value>edFile</value>
</data>
<data name="&gt;&gt;edFile.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;edFile.Parent" xml:space="preserve">
<value>groupControl1</value>
</data>
<data name="&gt;&gt;edFile.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="labelControl2.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v15.2">
<value>Vertical</value>
</data>
<data name="labelControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>132, 62</value>
</data>
<data name="labelControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>549, 39</value>
</data>
<data name="labelControl2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>Choose a file which contains the channel order that you wish to apply to the current list.
You can use one of ChanSort's predefined lists (TXT, CHL, CSV)
or a data file from another TV (SCM, TLL, DB, BIN, ...)</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.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl2.Parent" xml:space="preserve">
<value>groupControl1</value>
</data>
<data name="&gt;&gt;labelControl2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="rbAuto.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="rbAuto.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 43</value>
</data>
<data name="rbAuto.Properties.Caption" xml:space="preserve">
<value>Automatically reorder all lists in the TV file</value>
</data>
<data name="rbAuto.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 19</value>
</data>
<data name="rbAuto.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;rbAuto.Name" xml:space="preserve">
<value>rbAuto</value>
</data>
<data name="&gt;&gt;rbAuto.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;rbAuto.Parent" xml:space="preserve">
<value>groupControl2</value>
</data>
<data name="&gt;&gt;rbAuto.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="rbManual.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="rbManual.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 117</value>
</data>
<data name="rbManual.Properties.Caption" xml:space="preserve">
<value>Advanced reordering</value>
</data>
<data name="rbManual.Size" type="System.Drawing.Size, System.Drawing">
<value>123, 19</value>
</data>
<data name="rbManual.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;rbManual.Name" xml:space="preserve">
<value>rbManual</value>
</data>
<data name="&gt;&gt;rbManual.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;rbManual.Parent" xml:space="preserve">
<value>groupControl2</value>
</data>
<data name="&gt;&gt;rbManual.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="labelControl3.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 36</value>
</data>
<data name="labelControl3.Size" type="System.Drawing.Size, System.Drawing">
<value>73, 13</value>
</data>
<data name="labelControl3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="labelControl3.Text" xml:space="preserve">
<value>Reference List:</value>
</data>
<data name="&gt;&gt;labelControl3.Name" xml:space="preserve">
<value>labelControl3</value>
</data>
<data name="&gt;&gt;labelControl3.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl3.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl3.ZOrder" xml:space="preserve">
<value>15</value>
</data>
<data name="comboSource.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 33</value>
</data>
<data name="comboSource.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v15.2">
<value>Combo</value>
</data>
<data name="comboSource.Size" type="System.Drawing.Size, System.Drawing">
<value>178, 20</value>
</data>
<data name="comboSource.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;comboSource.Name" xml:space="preserve">
<value>comboSource</value>
</data>
<data name="&gt;&gt;comboSource.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;comboSource.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;comboSource.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="comboTarget.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 7</value>
</data>
<data name="comboTarget.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v15.2">
<value>Combo</value>
</data>
<data name="comboTarget.Size" type="System.Drawing.Size, System.Drawing">
<value>178, 20</value>
</data>
<data name="comboTarget.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;comboTarget.Name" xml:space="preserve">
<value>comboTarget</value>
</data>
<data name="&gt;&gt;comboTarget.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;comboTarget.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;comboTarget.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="labelControl4.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 10</value>
</data>
<data name="labelControl4.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 13</value>
</data>
<data name="labelControl4.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="labelControl4.Text" xml:space="preserve">
<value>Target List:</value>
</data>
<data name="&gt;&gt;labelControl4.Name" xml:space="preserve">
<value>labelControl4</value>
</data>
<data name="&gt;&gt;labelControl4.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl4.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl4.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<data name="cbTv.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 109</value>
</data>
<data name="cbTv.Properties.Caption" xml:space="preserve">
<value>TV</value>
</data>
<data name="cbTv.Size" type="System.Drawing.Size, System.Drawing">
<value>34, 19</value>
</data>
<data name="cbTv.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;cbTv.Name" xml:space="preserve">
<value>cbTv</value>
</data>
<data name="&gt;&gt;cbTv.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbTv.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbTv.ZOrder" xml:space="preserve">
<value>20</value>
</data>
<data name="cbRadio.Location" type="System.Drawing.Point, System.Drawing">
<value>204, 109</value>
</data>
<data name="cbRadio.Properties.Caption" xml:space="preserve">
<value>Radio</value>
</data>
<data name="cbRadio.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 19</value>
</data>
<data name="cbRadio.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;cbRadio.Name" xml:space="preserve">
<value>cbRadio</value>
</data>
<data name="&gt;&gt;cbRadio.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbRadio.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbRadio.ZOrder" xml:space="preserve">
<value>21</value>
</data>
<data name="labelControl5.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 137</value>
</data>
<data name="labelControl5.Size" type="System.Drawing.Size, System.Drawing">
<value>62, 13</value>
</data>
<data name="labelControl5.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="labelControl5.Text" xml:space="preserve">
<value>Start at Pr#:</value>
</data>
<data name="&gt;&gt;labelControl5.Name" xml:space="preserve">
<value>labelControl5</value>
</data>
<data name="&gt;&gt;labelControl5.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl5.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl5.ZOrder" xml:space="preserve">
<value>19</value>
</data>
<data name="labelControl6.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v15.2">
<value>Vertical</value>
</data>
<data name="labelControl6.Location" type="System.Drawing.Point, System.Drawing">
<value>284, 137</value>
</data>
<data name="labelControl6.Size" type="System.Drawing.Size, System.Drawing">
<value>323, 26</value>
</data>
<data name="labelControl6.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="labelControl6.Text" xml:space="preserve">
<value>(i.e. let radio channels start at 5000 to avoid conflicts with TV channel numbers)</value>
</data>
<data name="&gt;&gt;labelControl6.Name" xml:space="preserve">
<value>labelControl6</value>
</data>
<data name="&gt;&gt;labelControl6.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl6.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl6.ZOrder" xml:space="preserve">
<value>18</value>
</data>
<data name="comboPrNr.EditValue" xml:space="preserve">
<value>1</value>
</data>
<data name="comboPrNr.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 134</value>
</data>
<data name="comboPrNr.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v15.2">
<value>Combo</value>
</data>
<data name="comboPrNr.Properties.Items" xml:space="preserve">
<value>1</value>
</data>
<data name="comboPrNr.Properties.Items1" xml:space="preserve">
<value>100</value>
</data>
<data name="comboPrNr.Properties.Items2" xml:space="preserve">
<value>500</value>
</data>
<data name="comboPrNr.Properties.Items3" xml:space="preserve">
<value>1000</value>
</data>
<data name="comboPrNr.Properties.Items4" xml:space="preserve">
<value>2000</value>
</data>
<data name="comboPrNr.Properties.Items5" xml:space="preserve">
<value>5000</value>
</data>
<data name="comboPrNr.Properties.Items6" xml:space="preserve">
<value>7000</value>
</data>
<data name="comboPrNr.Size" type="System.Drawing.Size, System.Drawing">
<value>140, 20</value>
</data>
<data name="comboPrNr.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="&gt;&gt;comboPrNr.Name" xml:space="preserve">
<value>comboPrNr</value>
</data>
<data name="&gt;&gt;comboPrNr.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;comboPrNr.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;comboPrNr.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="grpManual.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="cbConsecutive.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 167</value>
</data>
<data name="cbConsecutive.Properties.Caption" xml:space="preserve">
<value>Use consecutive numbers (remove gaps from reference list Pr#)</value>
</data>
<data name="cbConsecutive.Size" type="System.Drawing.Size, System.Drawing">
<value>484, 19</value>
</data>
<data name="cbConsecutive.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;cbConsecutive.Name" xml:space="preserve">
<value>cbConsecutive</value>
</data>
<data name="&gt;&gt;cbConsecutive.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbConsecutive.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbConsecutive.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="cbIp.Location" type="System.Drawing.Point, System.Drawing">
<value>368, 59</value>
</data>
<data name="cbIp.Properties.Caption" xml:space="preserve">
<value>IP (Network)</value>
</data>
<data name="cbIp.Size" type="System.Drawing.Size, System.Drawing">
<value>83, 19</value>
</data>
<data name="cbIp.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;cbIp.Name" xml:space="preserve">
<value>cbIp</value>
</data>
<data name="&gt;&gt;cbIp.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbIp.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbIp.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="cbSat.Location" type="System.Drawing.Point, System.Drawing">
<value>284, 59</value>
</data>
<data name="cbSat.Properties.Caption" xml:space="preserve">
<value>Satellite</value>
</data>
<data name="cbSat.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 19</value>
</data>
<data name="cbSat.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;cbSat.Name" xml:space="preserve">
<value>cbSat</value>
</data>
<data name="&gt;&gt;cbSat.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbSat.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbSat.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="labelControl11.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 62</value>
</data>
<data name="labelControl11.Size" type="System.Drawing.Size, System.Drawing">
<value>30, 13</value>
</data>
<data name="labelControl11.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="labelControl11.Text" xml:space="preserve">
<value>Input:</value>
</data>
<data name="&gt;&gt;labelControl11.Name" xml:space="preserve">
<value>labelControl11</value>
</data>
<data name="&gt;&gt;labelControl11.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl11.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl11.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="cbAntenna.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 59</value>
</data>
<data name="cbAntenna.Properties.Caption" xml:space="preserve">
<value>Antenna</value>
</data>
<data name="cbAntenna.Size" type="System.Drawing.Size, System.Drawing">
<value>63, 19</value>
</data>
<data name="cbAntenna.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;cbAntenna.Name" xml:space="preserve">
<value>cbAntenna</value>
</data>
<data name="&gt;&gt;cbAntenna.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbAntenna.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbAntenna.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="cbCable.Location" type="System.Drawing.Point, System.Drawing">
<value>204, 59</value>
</data>
<data name="cbCable.Properties.Caption" xml:space="preserve">
<value>Cable</value>
</data>
<data name="cbCable.Size" type="System.Drawing.Size, System.Drawing">
<value>49, 19</value>
</data>
<data name="cbCable.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;cbCable.Name" xml:space="preserve">
<value>cbCable</value>
</data>
<data name="&gt;&gt;cbCable.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbCable.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbCable.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="labelControl9.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 87</value>
</data>
<data name="labelControl9.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 13</value>
</data>
<data name="labelControl9.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="labelControl9.Text" xml:space="preserve">
<value>Signal Type:</value>
</data>
<data name="&gt;&gt;labelControl9.Name" xml:space="preserve">
<value>labelControl9</value>
</data>
<data name="&gt;&gt;labelControl9.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl9.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl9.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="cbAnalog.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 84</value>
</data>
<data name="cbAnalog.Properties.Caption" xml:space="preserve">
<value>Analog</value>
</data>
<data name="cbAnalog.Size" type="System.Drawing.Size, System.Drawing">
<value>55, 19</value>
</data>
<data name="cbAnalog.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;cbAnalog.Name" xml:space="preserve">
<value>cbAnalog</value>
</data>
<data name="&gt;&gt;cbAnalog.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbAnalog.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbAnalog.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="cbDigital.Location" type="System.Drawing.Point, System.Drawing">
<value>204, 84</value>
</data>
<data name="cbDigital.Properties.Caption" xml:space="preserve">
<value>Digital</value>
</data>
<data name="cbDigital.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 19</value>
</data>
<data name="cbDigital.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;cbDigital.Name" xml:space="preserve">
<value>cbDigital</value>
</data>
<data name="&gt;&gt;cbDigital.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;cbDigital.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;cbDigital.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="lblTargetInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>308, 10</value>
</data>
<data name="lblTargetInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>3, 13</value>
</data>
<data name="lblTargetInfo.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="lblTargetInfo.Text" xml:space="preserve">
<value> </value>
</data>
<data name="&gt;&gt;lblTargetInfo.Name" xml:space="preserve">
<value>lblTargetInfo</value>
</data>
<data name="&gt;&gt;lblTargetInfo.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblTargetInfo.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;lblTargetInfo.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="lblSourceInfo.Location" type="System.Drawing.Point, System.Drawing">
<value>308, 36</value>
</data>
<data name="lblSourceInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>3, 13</value>
</data>
<data name="lblSourceInfo.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="lblSourceInfo.Text" xml:space="preserve">
<value> </value>
</data>
<data name="&gt;&gt;lblSourceInfo.Name" xml:space="preserve">
<value>lblSourceInfo</value>
</data>
<data name="&gt;&gt;lblSourceInfo.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;lblSourceInfo.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;lblSourceInfo.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="labelControl7.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 112</value>
</data>
<data name="labelControl7.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 13</value>
</data>
<data name="labelControl7.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="labelControl7.Text" xml:space="preserve">
<value>Channel Type:</value>
</data>
<data name="&gt;&gt;labelControl7.Name" xml:space="preserve">
<value>labelControl7</value>
</data>
<data name="&gt;&gt;labelControl7.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl7.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;labelControl7.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="btnApply.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="btnApply.Location" type="System.Drawing.Point, System.Drawing">
<value>123, 205</value>
</data>
<data name="btnApply.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 23</value>
</data>
<data name="btnApply.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="btnApply.Text" xml:space="preserve">
<value>Apply</value>
</data>
<data name="&gt;&gt;btnApply.Name" xml:space="preserve">
<value>btnApply</value>
</data>
<data name="&gt;&gt;btnApply.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnApply.Parent" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;btnApply.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="grpManual.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="grpManual.Location" type="System.Drawing.Point, System.Drawing">
<value>69, 197</value>
</data>
<data name="grpManual.Size" type="System.Drawing.Size, System.Drawing">
<value>612, 241</value>
</data>
<data name="grpManual.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="grpManual.Text" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;grpManual.Name" xml:space="preserve">
<value>grpManual</value>
</data>
<data name="&gt;&gt;grpManual.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;grpManual.Parent" xml:space="preserve">
<value>groupControl2</value>
</data>
<data name="&gt;&gt;grpManual.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="btnOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnOk.Location" type="System.Drawing.Point, System.Drawing">
<value>526, 662</value>
</data>
<data name="btnOk.Size" type="System.Drawing.Size, System.Drawing">
<value>88, 23</value>
</data>
<data name="btnOk.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="btnOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="&gt;&gt;btnOk.Name" xml:space="preserve">
<value>btnOk</value>
</data>
<data name="&gt;&gt;btnOk.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;btnOk.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnOk.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="btnClose.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnClose.Location" type="System.Drawing.Point, System.Drawing">
<value>621, 662</value>
</data>
<data name="btnClose.Size" type="System.Drawing.Size, System.Drawing">
<value>88, 23</value>
</data>
<data name="btnClose.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="btnClose.Text" xml:space="preserve">
<value>Close/Cancel</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.v15.2, Version=15.2.5.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>2</value>
</data>
<data name="groupControl1.AppearanceCaption.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 12pt</value>
</data>
<data name="linkWiki.Location" type="System.Drawing.Point, System.Drawing">
<value>132, 121</value>
</data>
<data name="linkWiki.Size" type="System.Drawing.Size, System.Drawing">
<value>351, 13</value>
</data>
<data name="linkWiki.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="linkWiki.Text" xml:space="preserve">
<value>Open ChanSort Wiki for more information and to download reference lists</value>
</data>
<data name="&gt;&gt;linkWiki.Name" xml:space="preserve">
<value>linkWiki</value>
</data>
<data name="&gt;&gt;linkWiki.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.HyperlinkLabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;linkWiki.Parent" xml:space="preserve">
<value>groupControl1</value>
</data>
<data name="&gt;&gt;linkWiki.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="groupControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 22</value>
</data>
<data name="groupControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>696, 142</value>
</data>
<data name="groupControl1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="groupControl1.Text" xml:space="preserve">
<value>1. Select reference list file</value>
</data>
<data name="&gt;&gt;groupControl1.Name" xml:space="preserve">
<value>groupControl1</value>
</data>
<data name="&gt;&gt;groupControl1.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;groupControl1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupControl1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="groupControl2.AppearanceCaption.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 12pt</value>
</data>
<data name="labelControl10.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v15.2">
<value>Vertical</value>
</data>
<data name="labelControl10.Location" type="System.Drawing.Point, System.Drawing">
<value>74, 142</value>
</data>
<data name="labelControl10.Size" type="System.Drawing.Size, System.Drawing">
<value>607, 39</value>
</data>
<data name="labelControl10.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="labelControl10.Text" xml:space="preserve">
<value>If the TV and reference file contain multiple lists or use different grouping, you can apply selected parts of the reference list to a target list.
This step can be repeated as needed.</value>
</data>
<data name="&gt;&gt;labelControl10.Name" xml:space="preserve">
<value>labelControl10</value>
</data>
<data name="&gt;&gt;labelControl10.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl10.Parent" xml:space="preserve">
<value>groupControl2</value>
</data>
<data name="&gt;&gt;labelControl10.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="labelControl8.AutoSizeMode" type="DevExpress.XtraEditors.LabelAutoSizeMode, DevExpress.XtraEditors.v15.2">
<value>Vertical</value>
</data>
<data name="labelControl8.Location" type="System.Drawing.Point, System.Drawing">
<value>74, 68</value>
</data>
<data name="labelControl8.Size" type="System.Drawing.Size, System.Drawing">
<value>607, 26</value>
</data>
<data name="labelControl8.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="labelControl8.Text" xml:space="preserve">
<value>This option is only available when the TV file and the reference list are organized the same way.
(i.e. same sub-lists for combinations of Antenna/Cable/Sat, TV/Radio, Analog/Digital)</value>
</data>
<data name="&gt;&gt;labelControl8.Name" xml:space="preserve">
<value>labelControl8</value>
</data>
<data name="&gt;&gt;labelControl8.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;labelControl8.Parent" xml:space="preserve">
<value>groupControl2</value>
</data>
<data name="&gt;&gt;labelControl8.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="groupControl2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 184</value>
</data>
<data name="groupControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>696, 456</value>
</data>
<data name="groupControl2.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="groupControl2.Text" xml:space="preserve">
<value>2. Bring order to your TV file</value>
</data>
<data name="&gt;&gt;groupControl2.Name" xml:space="preserve">
<value>groupControl2</value>
</data>
<data name="&gt;&gt;groupControl2.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;groupControl2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupControl2.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>721, 697</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>Apply Reference List</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ReferenceListForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v15.2, Version=15.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,489 @@
1;ORF1 HD;333-1118-13001
2;ORF2O HD;333-1118-13006
3;ATV HD;333-1118-13012
4;PULS 4 Austria;1-11118-20007
5;LT 1;1-11125-250
6;Das Erste HD;333-1101-28106
7;ZDF HD;333-1079-28006
8;SAT.1 A;1-11118-20005
9;RTL Austria;333-10400-12003
10;Kabel 1 Austria;1-11118-20004
11;ProSieben Austria;1-11118-20002
12;VOX Austria;333-10400-12060
13;SUPER RTL A;333-10400-12040
14;RTL2 Austria;333-10400-12020
15;Disney Channel;333-10600-1793
16;Nickelodeon AT;1-11125-61
17;ServusTV HD Oesterreich;222-32000-4913
18;KiKA HD;333-1079-28008
19;RTLNITRO;333-1073-31200
20;SPORT1;333-10500-900
21;3sat HD;333-1079-28007
22;SRF 1 HD;333-10600-901
23;DMAX Austria;222-28000-10101
24;ProSieben MAXX Austria;1-11118-17505
25;Sat 1 Gold Austria;222-31000-5310
28;ATV 2;222-28000-13223
29;ORF Sport + HD;333-10600-100
30;sixx Austria;333-10900-13106
31;ORF III HD;333-10900-13101
32;Infokanal Liwest;333-10400-2400
33;dorftv.;222-31000-7712
34;WT 1;222-39000-17
35;Test;222-39000-31
36;KremstalDirekt;222-39000-20
37;BTV OÖ;222-39000-29
38;Muehlviertel.TV;222-39000-2
39;MTW;222-39000-21
40;BTV;222-39000-88
41;RTV;222-39000-20030
42;LL TV;222-39000-20031
43;Infokanal ASAK;222-39000-370
44;Info TV;222-39000-32
45;Austria 24;222-39000-317
46;Test;222-39000-318
47;HITRADIO OE3;1-11125-13013
48;TRACE TV;1-1011-5105
49;DELUXE MUSIC;222-28000-10100
50;Comedy Central / VIVA AT;222-30000-28676
51;gotv;333-10900-13102
52;Tele 5;1-11118-51
55;n-tv;333-10400-12090
56;N24;333-10500-17503
57;DW Europa;333-10400-607
58;CNN Int.;333-10700-28522
59;BBC World;222-32000-10050
60;Bloomberg;1-11125-10067
61;EuroNews;333-1073-31220
62;France 24 (en Francais);333-1093-13849
64;F.O. TV;1-11125-13502
65;arte HD;222-29000-28724
66;ARD-alpha;333-1093-28487
67;PHOENIX HD;222-29000-28725
68;tagesschau24 HD;222-29000-28721
69;Einsfestival HD;222-29000-28722
70;EinsPlus HD;222-29000-28723
71;ZDFinfo HD;333-1079-28011
72;zdf.kultur HD;333-1079-28016
73;zdf_neo HD;333-1079-28014
74;K-TV;333-11000-12601
75;Bibel TV;222-28000-12122
76;BBC Entertainment Europa;333-10500-611
77;RIC;1-11118-13019
78;Melodie TV;1-11118-13229
80;ANIXE HD;222-32000-61202
81;QVC HD;222-28000-12100
82;HSE24;333-10500-40
83;Sonnenklar TV;333-10500-32
90;ORF2N HD;333-1118-13004
91;ORF2S HD;333-1118-13007
99;SRF zwei HD;333-10600-907
100;BR Süd HD;333-1101-28110
101;WDR HD Köln;333-1101-28111
102;hr-fernsehen HD;333-1101-28108
103;MDR Sachsen HD;333-1073-28228
104;rbb Brandenburg HD;333-1073-28205
105;SR Fernsehen;333-1093-28486
106;SWR BW HD;333-1101-28113
107;NDR FS NDS HD;333-1073-28224
200;MTV ROCKS;333-10700-28659
201;VH1 Classic;333-10700-28657
202;VH1;333-10700-28656
203;MTV Dance;333-10700-28655
204;MTV Hits;333-10700-28654
205;MTV Music 24;222-31000-28671
206;MTV HD;222-30000-28681
210;auto motor und sport channel;333-10700-13205
211;sportdigital;333-1093-13109
213;Nautical Channel HD;222-31000-8607
214;Extrem EMEA;222-28000-3
215;MotorsTV HD INTER;222-30000-7301
220;National Geographic HD;222-26000-20107
221;The History Channel;222-26000-20118
222;A&E HD;222-26000-20121
230;Cartoon Network;222-26000-20120
231;Boomerang;222-26000-20113
232;Nicktoons (S);222-30000-28682
233;duck TV;333-10900-20350
234;Fix & Foxi;222-26000-20201
240;TNT Film;222-26000-20119
241;Kinowelt TV;333-11000-2950
250;Romance TV;222-26000-63
251;Gute Laune TV;222-32000-50111
252;ANIMAX;222-26000-1847
253;Travel Channel;1-1011-619
254;Discovery Channel HD;222-26000-20211
255;Animal Planet HD;333-10500-12
256;E! Entertainment;222-26000-20205
300;Test;333-1118-10
301;Lust Pur;222-28000-70
302;Reality EMEA;222-28000-2
303;Hustler TV;333-1118-9
304;Dorcel TV;222-29000-13900
305;PRIVATE TV;333-10900-14223
306;Redlight 3D-HD;1-11118-16932
307;Dusk! TV;333-10900-14220
350;Sky Sport Austria;133-2-30
351;Sky Sport 1;133-4-221
352;Sky Sport 2;133-2-222
353;Sky Sport 3;133-3-263
354;Sky Sport 4;133-3-273
355;Sky Sport 5;133-3-283
356;Sky Sport 6;133-3-293
357;Sky Sport 7;133-3-303
358;Sky Sport 8;133-2-313
359;Sky Sport 9;133-2-323
360;Sky Sport 10;133-2-333
361;Sky Sport 11;133-3-253
363;Sky Buli 1;133-4-223
364;Sky Buli 2;133-3-262
365;Sky Buli 3;133-3-272
366;Sky Buli 4;133-3-282
367;Sky Buli 5;133-3-292
368;Sky Buli 6;133-3-302
369;Sky Buli 7;133-2-312
370;Sky Buli 8;133-2-322
371;Sky Buli 9;133-2-332
372;Sky Buli 10;133-3-252
374;Sky Sport Austria HD;133-9-143
375;Sport 1+ HD;133-11-122
376;Sport1 US HD;133-10-119
377;Eurosport 2 HD;133-9-109
378;Sky Sport HD 1;133-6-129
379;Sky Sport HD 2;133-13-114
380;Sky Sport HD 3;133-6-268
381;Sky Sport HD 4;133-13-278
382;Sky Sport HD 5;133-12-288
383;Sky Sport HD 6;133-11-298
384;Sky Sport HD 7;133-10-308
385;Sky Sport HD 8;133-14-318
386;Sky Sport HD 9;133-14-328
387;Sky Sport HD 10;133-10-338
388;Sky Sport HD 11;133-14-258
390;Sky Buli HD 1;133-12-105
391;Sky Buli HD 2;133-6-267
392;Sky Buli HD 3;133-13-277
393;Sky Buli HD 4;133-12-287
394;Sky Buli HD 5;133-11-297
395;Sky Buli HD 6;133-10-307
396;Sky Buli HD 7;133-14-317
397;Sky Buli HD 8;133-14-327
398;Sky Buli HD 9;133-10-337
399;Sky Buli HD 10;133-14-257
400;Sky Sport News;133-4-17
401;Motorvision TV;133-2-168
402;Sky Krimi;133-4-23
403;13th Street;133-2-42
404;RTL Crime;133-4-27
405;RTL Passion;133-4-29
406;Fox Serie;133-2-16
407;TNT Serie;133-2-50
408;Syfy;133-2-36
409;Beate-Uhse.TV;133-3-21
410;Goldstar TV;133-2-518
411;Heimatkanal;133-2-22
412;Jukebox;133-4-401
413;Classica;133-3-24
414;Disney XD;133-3-28
415;Disney Junior;133-3-26
416;Junior;133-3-19
417;Discovery Channel;133-4-14
418;NatGeo Wild;133-2-12
419;Spiegel Geschichte;133-2-52
420;National Geographic;133-4-13
430;Sky Sport News HD;133-12-108
431;Eurosport 1 HD;133-11-132
432;13th Street HD;133-13-127
433;RTL Crime HD;133-9-140
434;Fox HD;133-10-124
435;TNT Serie HD;133-11-123
436;SyFy HD;133-12-126
437;Disney Junior HD;133-8-138
438;Nat Geo HD;133-13-112
439;NatGeoWild HD;133-6-118
440;Discovery HD;133-6-130
441;Spiegel Geschichte HD;133-8-137
442;History HD;133-11-113
443;AXN HD;133-10-125
444;TNT Glitz HD;133-14-136
445;E! Entertainm. HD;133-14-128
446;Universal HD;133-14-101
447;Sky Atlantic;133-4-34
448;Sky Atlantic HD;133-13-110
449;Sky Atlantic + 1 HD;133-8-144
455;Sky Cinema;133-4-10
456;Sky Cinema +1;133-3-11
457;Sky Cinema +24;133-3-43
458;Sky Action;133-3-9
459;Sky Comedy;133-3-8
460;Sky Emotion;133-4-20
461;Sky Nostalgie;133-4-516
462;Sky Hits;133-2-41
463;MGM;133-4-515
464;Disney Cinematic;133-2-25
465;Sky Kinowelt TV;133-4-406
466;Sky TNT Film (TCM);133-6-405
470;Sky Cinema HD;133-6-131
471;Sky Cinema+1 HD;133-8-134
472;Sky Cinema+24 HD;133-8-135
473;Sky Action HD;133-11-116
474;Sky Hits HD;133-12-107
475;MGM HD;133-12-115
476;Disney Cinematic HD;133-13-111
499;Rai Sport 1;1-11125-3305
500;RAI1;333-10700-3401
501;TV5MONDE EUROPE;222-32000-10060
502;RTK-SAT;333-11000-8
503;TRT TURK;222-31000-9
504;KANAL 7 AVRUPA;333-10500-4
505;RTS SAT;333-10400-14228
507;Duna HD;333-10600-20002
508;Pro TV International;333-10600-4701
509;CCTV NEWS;333-10600-6914
520;KRAL TV;333-11000-2
521;EUROSTAR;333-11000-6
522;CNN TÜRK;333-11000-1
523;EURO D;333-11000-3
524;atv avrupa;333-11000-5
525;SHOW TURK;333-11000-7
526;FB TV;222-30000-5
527;TV 8 INT;222-30000-7
528;TRT HABER;222-31000-4821
529;TRT 3-SPOR;222-31000-4822
530;TRT COCUK;222-31000-4823
531;HAYAT TV;222-30000-5729
532;YOLTV;222-30000-5726
533;BARIS TV;222-30000-5718
534;TRT 1;222-30000-35
540;CT 24;333-10500-8006
550;HRT-TV1;333-10900-8301
551;HRT-TV2;333-10900-8302
552;HRT-TV3;333-10900-8303
555;DM SAT;222-31000-7722
556;TVSH-SAT;222-31000-7723
600;HAYAT PLUS;333-10700-1
601;Pink Extra;333-10400-2
602;Pink Plus;333-10400-1
603;Pink Music;333-10400-10
616;Dubai TV;333-1073-9501
617;TVE Internacional;333-10700-13710
618;RTPi;222-30000-4603
619;RTR Planeta;333-11000-2550
620;Channel One Russia;333-11000-2850
621;TV Polonia;333-10700-1500
625;BN SAT Evropa...;222-30000-11033
626;BN MUSIC;222-30000-2
901;;0-0-0
902;;0-0-0
903;;0-0-0
904;;0-0-0
905;;0-0-0
906;;0-0-0
907;;0-0-0
908;;0-0-0
909;;0-0-0
910;;0-0-0
911;;0-0-0
912;;0-0-0
913;;0-0-0
914;;0-0-0
915;;0-0-0
916;;0-0-0
917;;0-0-0
918;;0-0-0
919;;0-0-0
920;;0-0-0
921;;0-0-0
922;;0-0-0
923;;0-0-0
924;;0-0-0
925;;0-0-0
926;;0-0-0
927;;0-0-0
944;PULS 4 HD Austria;222-1031-5303
945;ProSieben HD Austria;222-1031-5301
946;SAT.1 HD Austria;222-1031-5300
947;kabel eins HD Austria;222-1031-5302
948;RTL II HD Austria;222-1041-11941
949;VOX HD Austria;222-1041-11921
950;RTL HD Austria;222-1041-11911
951;Tele 5 HD;333-1073-232
952;DMAX HD;1-11125-231
953;VIVA/Comedy Central HD;1-11125-419
955;Nickelodeon HD;222-1041-233
956;Disney Channel HD;222-1041-420
957;Deluxe Music HD;222-1041-418
971;tageschau24;1-1011-28721
972;EinsPlus;1-1011-28723
973;Bayerisches FS Süd;222-40000-28107
974;WDR Köln;222-44000-28111
975;hr-fernsehen;222-40000-28108
976;MDR Sachsen;1-1201-28228
977;rbb Brandenburg;1-1201-28205
979;SWR Fernsehen BW;222-40000-28113
980;NDR FS MV;1-1201-28224
981;ORF 2 S;222-32000-13007
982;ORF 2 N;222-32000-13004
983;ATV;333-10500-51
984;zdf_neo;222-44000-11130
985;zdf.kultur;222-44000-11140
986;ZDFinfo;222-40000-11170
987;PHOENIX;1-1011-10331
988;3sat;222-40000-11150
989;KiKA;222-40000-11160
991;EinsFestival;1-1201-28396
994;arte;1-1011-11120
995;ZDF;222-44000-11110
996;Das Erste;1-1011-11100
997;ORF E;1-11118-13014
998;ORF2 O;222-32000-4912
999;ORF eins;1-11125-61920
1701;OE1;333-1118-13121
1702;OE2 O;333-1118-13126
1703;OE3;333-1118-13133
1704;FM4;333-1118-13134
1705;Life Radio;1-11125-33
1706;Radio Arabella;222-28000-19
1707;Krone Hit;1-11125-34
1708;Welle 1;222-28000-18
1709;LoungeFM;1-11125-311
1710;Radio Fro;1-11125-35
1711;Radio Maria;222-28000-13140
1712;OE1 DD;333-1118-13122
1713;OE2 W;333-1118-13123
1714;OE2 N;333-1118-13124
1715;OE2 B;333-1118-13125
1716;OE2 S;333-1118-13127
1717;OE2 T;333-1118-13128
1718;OE2 V;333-1118-13129
1719;OE2 St;333-1118-13130
1720;OE2 K;333-1118-13131
1721;ANTENNE BAYERN;222-28000-170
1722;Bayern 1;333-1093-28400
1723;Bayern 2;333-1093-28401
1724;BAYERN 3;333-1093-28402
1725;BR-KLASSIK;333-1093-28403
1726;B5 aktuell;333-1093-28404
1727;BAYERN plus;333-1093-28405
1728;PULS;333-1093-28406
1729;hr1;333-1093-28419
1730;hr2;333-1093-28420
1731;hr3;333-1093-28421
1732;hr4;333-1093-28422
1733;hr-iNFO;333-1093-28424
1734;MDR1 SACHSEN;333-1093-28428
1735;MDR1 SA-ANHALT;333-1093-28429
1736;MDR1 THÜRINGEN;333-1093-28430
1737;MDR FIGARO;333-1093-28431
1738;JUMP;333-1093-28432
1739;MDR SPUTNIK;333-1093-28433
1740;MDR INFO;333-1093-28434
1741;MDR KLASSIK;333-1093-28435
1742;NDR 2;333-1093-28437
1743;NDR Kultur;333-1093-28438
1744;NDR Info;333-1093-28439
1745;NDR 90,3;333-1093-28441
1746;NDR1WelleNord;333-1093-28442
1747;NDR 1 Radio MV;333-1093-28443
1748;NDR 1 Nieders.;333-1093-28444
1749;NDR Info Spez.;333-1093-28445
1750;Bremen Eins;333-1093-28448
1751;Nordwestradio;333-1093-28449
1752;Bremen Vier;333-1093-28450
1753;Inforadio;333-1093-28452
1754;Kulturradio;333-1093-28453
1755;Antenne Brandenburg;333-1093-28454
1756;radioBERLIN 88,8;333-1093-28455
1757;radioeins;333-1093-28456
1758;SWR 1 BW;333-1093-28465
1759;SWR 1 RP;333-1093-28466
1760;SWR 2;333-1093-28467
1761;SWR 3;333-1093-28468
1762;SWR 4 BW;333-1093-28469
1763;SWR 4 RP;333-1093-28470
1764;DASDING;333-1093-28471
1765;WDR 2;333-1093-28476
1766;WDR 3;333-1093-28477
1767;WDR 4;333-1093-28478
1768;WDR 5;333-1093-28479
1769;WDR Funkhaus Europa;333-1093-28480
1770;WDR Event;333-1093-28483
1771;DKULTUR;222-28000-28012
1772;DLF;222-28000-28013
1773;KIRAKA;333-1093-28482
1774;1LIVE;333-1093-28475
1775;DRadioWissen;222-28000-28017
1776;YOU FM;333-1093-28423
1777;N-JOY;333-1093-28440
1778;Fritz;333-1093-28457
1779;SR1 Europawelle;333-1093-28461
1780;SR2 KulturRadio;333-1093-28462
1781;SR3 Saarlandwelle;333-1093-28463
1782;SWRinfo;333-1093-28472
1783;1LIVE diggi;333-1093-28481
1784;sunshine live;222-28000-169
1785;BBCW SERVICE;222-32000-8565
1786;CNN TÜRK RADYO;333-11000-11
1787;RADYO 1;222-31000-5750
1788;RADYO 3;222-31000-5752
1789;RADYO 4;222-31000-5753
1790;TRT FM;222-31000-5751
1791;KRAL FM;333-11000-4
1792;HRT-HR1;333-10900-8305
1793;HRT-HR2;333-10900-8306
1794;HRT-HR3;333-10900-8307
1795;RADIO MARIJA;333-10600-8379
1796;Radio Beograd;333-10400-14229
1797;Radio Horeb;1-11125-7289
1798;Radio Pink;333-10400-3
1799;Arabella Rock;1-11125-4060
1800;UK Chart Toppers Stingray;333-10900-4001
1801;Rock Anthems Stingray;333-10900-4002
1802;Drive Stingray;333-10900-4003
1803;Rock Alternative Stingray;333-10900-4004
1804;Headbangers Stingray;333-10900-4005
1805;60s Stingray;333-10900-4006
1806;70s Stingray;333-10900-4007
1807;Dancefloor Fillers Stingray;333-10900-4008
1808;Breaks & Beats Stingray;333-10900-4009
1809;Urban Stingray;333-10900-4010
1811;Reggae Stingray;333-10900-4012
1812;World Carnival Stingray;333-10900-4013
1813;Jazz Classics Stingray;333-10900-4014
1814;Cool Jazz Stingray;333-10900-4015
1815;Chillout Stingray;333-10900-4016
1816;Hot Country Stingray;333-10900-4017
1817;Indie Classics Stingray;333-10900-4018
1818;Blues Stingray;333-10900-4019
1819;Classical Greats Stingray;333-10900-4020
1820;Classical Orchestral Stingray;333-10900-4021
1821;Classical Calm Stingray;333-10900-4022
1822;80s Stingray;333-10900-4023
1823;90s Stingray;333-10900-4024
1824;Silk (Love Songs) Stingray;333-10900-4025
1825;Freedom Stingray;333-10900-4026
1826;Cocktail Lounge Stingray;333-10900-4028
1827;All Day Party Stingray;333-10900-4029
1828;Total Hits - Germany Stingray;333-10900-4031
1829;Schlager Stingray;333-10900-4032
1830;Kids Stingray;333-11000-4033
1831;Groove Stingray;333-11000-4034
1832;Revival 60s&70s Stingray;333-11000-4035
1833;Volksmusik Stingray;333-11000-4036
1834;Total Hits Italy Stingray;333-11000-4038
1835;Türk Müzigi Stingray;333-11000-4039
1836;Total Hits Nordic Stingray;333-10600-4040
1837;Apres Ski Stingray;333-10600-4041
1838;Classic Rock Stingray;333-10600-4042
1839;Rock`n` Roll;333-10600-4043
1840;Arabic Stingray;333-10700-4044
1841;Bollywood Hits Stingray;333-10700-4045
1842;New Age Stingray;333-10700-4046
1843;Total Hits Austria Stingray;333-10700-4047
1844;The Alternative (Germany) Stingray;333-10700-4048
1845;Hip Hop Stingray;333-10700-4049
1846;Rewind 80s & 90s Stingray;333-10700-4050
1847;Chansons Stingray;333-10700-4051
1848;Freies Radio Salzkammergut;333-1073-1951
1849;harmony.fm;333-1073-1952
1850;Antenne Salzburg;333-1073-1953

View File

@@ -76,10 +76,9 @@ namespace Test.Loader.LG
#region AssertRefListContent()
private void AssertRefListContent(DataRoot dataRoot, string refListFile)
{
CsvFileSerializer csv = new CsvFileSerializer(null, dataRoot, false);
MemoryStream mem = new MemoryStream();
var writer = new StreamWriter(mem);
csv.Save(writer);
CsvRefListSerializer.Save(writer, dataRoot);
writer.Flush();
mem.Seek(0, SeekOrigin.Begin);
var actual = new StreamReader(mem).ReadToEnd();
@@ -192,8 +191,11 @@ namespace Test.Loader.LG
tll.DataRoot.ApplyCurrentProgramNumbers();
if (moveChannels)
{
CsvFileSerializer csv = new CsvFileSerializer(testDataDir + "\\" + basename + ".csv.in", tll.DataRoot, false);
csv.Save();
using (var writer = new StringWriter())
{
CsvRefListSerializer.Save(writer, tll.DataRoot);
File.WriteAllText(testDataDir + "\\" + basename + ".csv.in", writer.ToString());
}
// save modified list as .TLL.out
Console.WriteLine();