diff --git a/ChanSort.Api/Controller/SerializerBase.cs b/ChanSort.Api/Controller/SerializerBase.cs
index aa8eb9a..9781b9a 100644
--- a/ChanSort.Api/Controller/SerializerBase.cs
+++ b/ChanSort.Api/Controller/SerializerBase.cs
@@ -9,6 +9,7 @@ namespace ChanSort.Api
public bool EraseChannelData { get; set; }
public bool ChannelNameEdit { get; set; }
public bool FileInformation { get; set; }
+ public bool CleanUpChannelData { get; set; }
public bool DeviceSettings { get; set; }
}
@@ -43,5 +44,7 @@ namespace ChanSort.Api
public virtual string GetFileInformation() { return ""; }
public virtual void ShowDeviceSettingsForm(object parentWindow) { }
+
+ public virtual string CleanUpChannelData() { return ""; }
}
}
diff --git a/ChanSort.Api/Model/ChannelList.cs b/ChanSort.Api/Model/ChannelList.cs
index 279c385..0baf409 100644
--- a/ChanSort.Api/Model/ChannelList.cs
+++ b/ChanSort.Api/Model/ChannelList.cs
@@ -127,5 +127,21 @@ namespace ChanSort.Api
return this.channels.Where(c => c.NewProgramNr == newProgNr).ToList();
}
#endregion
+
+ #region RemoveChannel()
+ public void RemoveChannel(ChannelInfo channel)
+ {
+ this.channels.Remove(channel);
+ var list = this.channelByUid.TryGet(channel.Uid);
+ if (list != null && list.Contains(channel))
+ list.Remove(channel);
+ list = this.channelByName.TryGet(channel.Name);
+ if (list != null && list.Contains(channel))
+ list.Remove(channel);
+ var chan = this.channelByProgNr.TryGet(channel.OldProgramNr);
+ if (ReferenceEquals(chan, channel))
+ this.channelByProgNr.Remove(channel.OldProgramNr);
+ }
+ #endregion
}
}
diff --git a/ChanSort.Api/Model/Transponder.cs b/ChanSort.Api/Model/Transponder.cs
index c1191d5..ad47bae 100644
--- a/ChanSort.Api/Model/Transponder.cs
+++ b/ChanSort.Api/Model/Transponder.cs
@@ -8,7 +8,7 @@
public Satellite Satellite { get; set; }
public decimal FrequencyInMhz { get; set; }
public int Number { get; set; }
- public int SymbolRate { get; set; }
+ public virtual int SymbolRate { get; set; }
public char Polarity { get; set; }
public int OriginalNetworkId { get; set; }
public int TransportStreamId { get; set; }
diff --git a/ChanSort.Api/Utils/Tools.cs b/ChanSort.Api/Utils/Tools.cs
index 56da207..6e206c8 100644
--- a/ChanSort.Api/Utils/Tools.cs
+++ b/ChanSort.Api/Utils/Tools.cs
@@ -1,5 +1,4 @@
using System.Collections.Generic;
-using System.Text;
namespace ChanSort.Api
{
@@ -38,5 +37,17 @@ namespace ChanSort.Api
data[offset + 2] = (byte)(value >> 16);
data[offset + 3] = (byte)(value >> 24);
}
+
+ public static void MemCopy(byte[] source, int sourceIndex, byte[] dest, int destIndex, int count)
+ {
+ for (int i = 0; i < count; i++)
+ dest[destIndex + i] = source[sourceIndex + i];
+ }
+
+ public static void MemSet(byte[] data, int offset, byte value, int count)
+ {
+ for (int i = 0; i < count; i++)
+ data[offset++] = value;
+ }
}
}
diff --git a/ChanSort.Loader.TllFile/ChanSort.Loader.LG.ini b/ChanSort.Loader.TllFile/ChanSort.Loader.LG.ini
index 0b68aa0..65da27a 100644
--- a/ChanSort.Loader.TllFile/ChanSort.Loader.LG.ini
+++ b/ChanSort.Loader.TllFile/ChanSort.Loader.LG.ini
@@ -208,6 +208,9 @@
lnbLength = 52
[TransponderDataMapping:40]
+ offFirstChannelIndex = 0
+ offLastChannelIndex = 2
+ offChannelCount = 4
offTransponderIndex = 10
offFrequency = 12
offOriginalNetworkId = 18
@@ -217,6 +220,9 @@
symbolRateFactor = 1
[TransponderDataMapping:56]
+ offFirstChannelIndex = 0
+ offLastChannelIndex = 2
+ offChannelCount = 4
offTransponderIndex = 10
offFrequency = 12
offOriginalNetworkId = 22
diff --git a/ChanSort.Loader.TllFile/DvbsDataLayout.cs b/ChanSort.Loader.TllFile/DvbsDataLayout.cs
index 2d28235..a1b7c4c 100644
--- a/ChanSort.Loader.TllFile/DvbsDataLayout.cs
+++ b/ChanSort.Loader.TllFile/DvbsDataLayout.cs
@@ -42,6 +42,14 @@
this.dvbsBlockTotalLength += len + 4;
}
+ ///
+ /// relative to start of DVBS-Block (including the intial 4 length bytes)
+ ///
+ public int TransponderTableOffset
+ {
+ get { return 4 + 4 + dvbsSubblockLength[0] + 4 + dvbsSubblockLength[1] + sizeOfTransponderBlockHeader; }
+ }
+
///
/// relative to start of DVBS-Block (including the intial 4 length bytes)
///
@@ -68,5 +76,6 @@
get { return SequenceTableOffset + dvbsMaxChannelCount*sizeOfChannelLinkedListEntry; }
}
+
}
}
diff --git a/ChanSort.Loader.TllFile/SatChannel.cs b/ChanSort.Loader.TllFile/SatChannel.cs
index b9c2194..3156e67 100644
--- a/ChanSort.Loader.TllFile/SatChannel.cs
+++ b/ChanSort.Loader.TllFile/SatChannel.cs
@@ -22,6 +22,7 @@ namespace ChanSort.Loader.LG
Transponder transponder = dataRoot.Transponder.TryGet(transponderIndex);
Satellite sat = transponder.Satellite;
+ this.Transponder = transponder;
this.Satellite = sat.Name;
this.SatPosition = sat.OrbitalPosition;
this.RecordOrder = order;
diff --git a/ChanSort.Loader.TllFile/SatTransponder.cs b/ChanSort.Loader.TllFile/SatTransponder.cs
index 50a2f01..587ecc1 100644
--- a/ChanSort.Loader.TllFile/SatTransponder.cs
+++ b/ChanSort.Loader.TllFile/SatTransponder.cs
@@ -1,10 +1,15 @@
-using System.Globalization;
+#define SYMBOL_RATE_ROUNDING
+
+using System.Globalization;
using ChanSort.Api;
namespace ChanSort.Loader.LG
{
- internal class SatTransponder
+ internal class SatTransponder : Transponder
{
+ private const string _FirstChannelIndex = "offFirstChannelIndex";
+ private const string _LastChannelIndex = "offLastChannelIndex";
+ private const string _ChannelCount = "offChannelCount";
private const string _Frequency = "offFrequency";
private const string _OriginalNetworkId = "offOriginalNetworkId";
private const string _TransportStreamId = "offTransportStreamId";
@@ -15,30 +20,70 @@ namespace ChanSort.Loader.LG
private readonly byte[] data;
private readonly int offset;
private int symbolRate;
+ private int firstChannelIndex;
+ private int lastChannelIndex;
- public SatTransponder(DataMapping mapping)
+ public SatTransponder(int index, DataMapping mapping, DataRoot dataRoot) : base(index)
{
this.mapping = mapping;
this.data = mapping.Data;
this.offset = mapping.BaseOffset;
- this.Frequency = mapping.GetWord(_Frequency);
+ this.firstChannelIndex = mapping.GetWord(_FirstChannelIndex);
+ this.lastChannelIndex = mapping.GetWord(_LastChannelIndex);
+
+ this.FrequencyInMhz = mapping.GetWord(_Frequency);
this.OriginalNetworkId = mapping.GetWord(_OriginalNetworkId);
this.TransportStreamId = mapping.GetWord(_TransportStreamId);
- this.symbolRate = mapping.GetWord(_SymbolRate);
+ this.symbolRate = mapping.GetWord(_SymbolRate) & 0x7FFF;
+
+#if SYMBOL_RATE_ROUNDING
+ if (this.symbolRate%100 >= 95)
+ {
+ this.symbolRate = (this.symbolRate/100 + 1)*100;
+ mapping.SetWord(_SymbolRate, (mapping.GetWord(_SymbolRate) & 0x8000) + this.symbolRate);
+ }
+#endif
+
string strFactor = mapping.Settings.GetString("symbolRateFactor");
decimal factor;
if (!string.IsNullOrEmpty(strFactor) && decimal.TryParse(strFactor, NumberStyles.AllowDecimalPoint, NumberFormatInfo.InvariantInfo, out factor))
this.symbolRate = (int)(this.symbolRate * factor);
- this.SatIndex = mapping.GetByte(_SatIndex);
+ this.Satellite = dataRoot.Satellites.TryGet(mapping.GetByte(_SatIndex)/2);
}
- public int Frequency { get; private set; }
- public int OriginalNetworkId { get; private set; }
- public int TransportStreamId { get; private set; }
- public int SatIndex { get; private set; }
+ public int FirstChannelIndex
+ {
+ get { return this.firstChannelIndex; }
+ set
+ {
+ mapping.SetDataPtr(this.data, this.offset);
+ mapping.SetWord(_FirstChannelIndex, value);
+ this.firstChannelIndex = value;
+ }
+ }
- public int SymbolRate
+ public int LastChannelIndex
+ {
+ get { return lastChannelIndex; }
+ set
+ {
+ mapping.SetDataPtr(this.data, this.offset);
+ mapping.SetWord(_LastChannelIndex, value);
+ this.lastChannelIndex = value;
+ }
+ }
+
+ public int ChannelCount
+ {
+ set
+ {
+ mapping.SetDataPtr(this.data, this.offset);
+ mapping.SetWord(_ChannelCount, value);
+ }
+ }
+
+ public override int SymbolRate
{
get { return symbolRate; }
set
diff --git a/ChanSort.Loader.TllFile/TllChannelBase.cs b/ChanSort.Loader.TllFile/TllChannelBase.cs
index bd508ed..3b5fb5c 100644
--- a/ChanSort.Loader.TllFile/TllChannelBase.cs
+++ b/ChanSort.Loader.TllFile/TllChannelBase.cs
@@ -30,7 +30,7 @@ namespace ChanSort.Loader.LG
protected readonly DataMapping mapping;
protected readonly byte[] rawData;
- internal readonly int baseOffset;
+ internal int baseOffset;
protected TllChannelBase(DataMapping data)
{
diff --git a/ChanSort.Loader.TllFile/TllFileSerializer.cs b/ChanSort.Loader.TllFile/TllFileSerializer.cs
index 79fccf2..a756fde 100644
--- a/ChanSort.Loader.TllFile/TllFileSerializer.cs
+++ b/ChanSort.Loader.TllFile/TllFileSerializer.cs
@@ -1,4 +1,4 @@
-#define SYMBOL_RATE_ROUNDING
+//#define SYMBOL_RATE_ROUNDING
//#define STORE_DVBS_CHANNELS_IN_DATABASE
//#define TESTING_LM640T_HACK
@@ -73,6 +73,7 @@ namespace ChanSort.Loader.LG
this.Features.EraseChannelData = true;
this.Features.FileInformation = true;
this.Features.DeviceSettings = true;
+ this.Features.CleanUpChannelData = true;
this.SupportedTvCountryCodes = new List
{
"___ (None)", "AUT (Austria)", "BEL (Belgium)", "CHE (Switzerland)",
@@ -138,6 +139,9 @@ namespace ChanSort.Loader.LG
this.ReadDvbSBlock(ref off);
this.ReadSettingsBlock(ref off);
+ if (this.EraseDuplicateChannels)
+ this.CleanUpChannelData();
+
#if STORE_DVBS_CHANNELS_IN_DATABASE
this.StoreToDatabase();
#endif
@@ -331,7 +335,7 @@ namespace ChanSort.Loader.LG
this.dvbsChannelCount = header.ChannelCount;
off += header.Size;
off += satConfig.dvbsMaxChannelCount/8; // skip allocation bitmap
- this.ReadDvbsChannelLinkedList(ref off);
+ this.ReadDvbsChannelLinkedList(header, ref off);
this.ReadDvbsChannels(ref off, header.LinkedListStartIndex);
@@ -379,24 +383,13 @@ namespace ChanSort.Loader.LG
for (int i=0; i= 95)
- data.SymbolRate = (ushort)((data.SymbolRate & 0x8000) | ((sr / 100 + 1) * 100));
-#endif
-
- Transponder transponder = new Transponder(i);
- transponder.FrequencyInMhz = data.Frequency;
- transponder.OriginalNetworkId = data.OriginalNetworkId;
- transponder.TransportStreamId = data.TransportStreamId;
- transponder.SymbolRate = data.SymbolRate & 0x7FFF;
- if (data.SymbolRate == 11000)
+ if (transponder.SymbolRate == 11000)
this.isDvbsSymbolRateDiv2 = true;
- var sat = this.DataRoot.Satellites.TryGet(data.SatIndex/2);
+ var sat = transponder.Satellite;
this.DataRoot.AddTransponder(sat, transponder);
}
@@ -411,16 +404,16 @@ namespace ChanSort.Loader.LG
#endregion
#region ReadDvbsChannelLinkedList()
- private void ReadDvbsChannelLinkedList(ref int off)
+ private void ReadDvbsChannelLinkedList(SatChannelListHeader header, ref int off)
{
this.nextChannelIndex = new Dictionary();
- for (int i = 0; i < satConfig.dvbsMaxChannelCount; i++)
+ int index = header.LinkedListStartIndex;
+ while (index != 0xFFFF)
{
- int offEntry = off + i*satConfig.sizeOfChannelLinkedListEntry;
- int cur = BitConverter.ToUInt16(fileContent, offEntry + 4);
- if (cur != i)
- break;
- this.nextChannelIndex.Add(cur, BitConverter.ToUInt16(fileContent, offEntry + 2));
+ int offEntry = off + index*satConfig.sizeOfChannelLinkedListEntry;
+ int nextIndex = BitConverter.ToUInt16(fileContent, offEntry + 2);
+ this.nextChannelIndex.Add(index, nextIndex);
+ index = nextIndex;
}
off += satConfig.dvbsMaxChannelCount*satConfig.sizeOfChannelLinkedListEntry;
}
@@ -438,28 +431,29 @@ namespace ChanSort.Loader.LG
SatChannel ci = new SatChannel(i, index, mapping, this.DataRoot);
if (!ci.InUse)
++this.deletedChannelsHard;
- else if (ci.IsDeleted)
- ++this.deletedChannelsSoft;
else
{
+ if (ci.IsDeleted)
+ {
+ ci.OldProgramNr = -1;
+ ci.NewProgramNr = -1;
+ ++this.deletedChannelsSoft;
+ }
+
var list = this.DataRoot.GetChannelList(ci.SignalSource);
var dupes = list.GetChannelByUid(ci.Uid);
if (dupes.Count == 0)
{
- if (ci.OldProgramNr == 0)
+ if (ci.OldProgramNr == 0 && !ci.IsDeleted)
++this.dvbsChannelsAtPr0;
- this.DataRoot.AddChannel(list, ci);
}
else
{
- // duplicate channels (ONID,TSID,SSID) cause the TV to randomly reorder channels and show wrong ones in the
- // program list, so we erase all dupes here
this.DataRoot.Warnings.AppendFormat(ERR_dupeChannel, ci.RecordIndex, ci.OldProgramNr, dupes[0].RecordIndex,
dupes[0].OldProgramNr, dupes[0].Name).AppendLine();
- if (this.EraseDuplicateChannels)
- this.EraseDuplicateDvbsChannel(index, recordOffset, satConfig);
++this.duplicateChannels;
}
+ this.DataRoot.AddChannel(list, ci);
}
if (!this.nextChannelIndex.TryGetValue(index, out index) || index == -1)
@@ -469,39 +463,6 @@ namespace ChanSort.Loader.LG
}
#endregion
- #region EraseDuplicateDvbsChannel()
- private void EraseDuplicateDvbsChannel(int index, int off, DvbsDataLayout c)
- {
- // erase channel data
- for (int i = 0; i < c.dvbsChannelLength; i++)
- fileContent[off++] = 0xFF;
-
- // remove channel record from linked list
- int listBaseOff = this.dvbsBlockOffset + c.SequenceTableOffset;
- int listEntryOff = listBaseOff + index*c.sizeOfChannelLinkedListEntry;
- int prevRecordIndex = BitConverter.ToInt16(fileContent, listEntryOff + 0);
- int nextRecordIndex = BitConverter.ToInt16(fileContent, listEntryOff + 2);
- Tools.SetInt16(fileContent, listEntryOff + 0, 0);
- Tools.SetInt16(fileContent, listEntryOff + 2, 0);
- Tools.SetInt16(fileContent, listEntryOff + 4, 0);
- Tools.SetInt16(fileContent, listBaseOff + prevRecordIndex * c.sizeOfChannelLinkedListEntry + 2, nextRecordIndex);
- Tools.SetInt16(fileContent, listBaseOff + nextRecordIndex*c.sizeOfChannelLinkedListEntry + 0, prevRecordIndex);
- var header = new SatChannelListHeader(this.fileContent, this.dvbsBlockOffset + c.ChannelListHeaderOffset);
- if (header.LinkedListStartIndex == index)
- header.LinkedListStartIndex = nextRecordIndex;
- if (header.LinkedListEndIndex1 == index)
- header.LinkedListEndIndex1 = prevRecordIndex;
- if (header.LinkedListEndIndex2 == index)
- header.LinkedListEndIndex2 = prevRecordIndex;
- --header.ChannelCount;
-
- // remove channel from allocation bitmap
- int allocBitmapOffset = dvbsBlockOffset + c.AllocationBitmapOffset + (index/8);
- int mask = 1 << (index & 7);
- this.fileContent[allocBitmapOffset] &= (byte)~mask;
- }
- #endregion
-
#region GetSatLocation()
private string GetSatLocation(byte degree, byte fractionAndOrientation)
{
@@ -509,6 +470,7 @@ namespace ChanSort.Loader.LG
}
#endregion
+ // Test code for fixing broken DVB-S block of xxLM640T ==========
#region EraseDvbsBlock()
@@ -593,6 +555,163 @@ namespace ChanSort.Loader.LG
}
#endregion
+ // Sat channel list cleanup ==================
+
+ #region CleanUpChannelData()
+ public override string CleanUpChannelData()
+ {
+ this.ResetChannelInformationInTransponderData();
+
+ byte[] sortedChannels = new byte[this.satConfig.dvbsMaxChannelCount*this.satConfig.dvbsChannelLength];
+
+ var channelsByTransponder =
+ this.satTvChannels.Channels.Union(this.satRadioChannels.Channels).OrderBy(PhysicalChannelOrder).ToList();
+ int prevChannelOrderId = -1;
+ int prevTransponderIndex = -1;
+ int channelCounter = 0;
+ int removedCounter = 0;
+ SatTransponder currentTransponder = null;
+ foreach (var channel in channelsByTransponder)
+ {
+ SatChannel satChannel = channel as SatChannel;
+ if (satChannel == null) // ignore proxy channels created by a reference list
+ continue;
+ RelocateChannelData(satChannel, ref prevChannelOrderId, sortedChannels, ref removedCounter,
+ ref prevTransponderIndex, ref channelCounter, ref currentTransponder);
+ }
+ if (currentTransponder != null)
+ {
+ currentTransponder.LastChannelIndex = channelCounter - 1;
+ currentTransponder.ChannelCount = channelCounter - currentTransponder.FirstChannelIndex;
+ }
+
+ // copy temp data back to fileContent and clear remainder
+ Tools.MemCopy(sortedChannels, 0,
+ this.fileContent, this.dvbsBlockOffset + satConfig.ChannelListOffset,
+ channelCounter*satConfig.dvbsChannelLength);
+ Tools.MemSet(this.fileContent,
+ this.dvbsBlockOffset + satConfig.ChannelListOffset + channelCounter*satConfig.dvbsChannelLength, 0xFF,
+ (satConfig.dvbsMaxChannelCount - channelCounter)*satConfig.dvbsChannelLength);
+
+ UpdateChannelAllocationBitmap(channelCounter);
+ UpdateChannelLinkedList(channelCounter);
+
+ return string.Format("{0} duplicate channels were detected and removed", removedCounter);
+ }
+ #endregion
+
+ #region ResetChannelInformationInTransponderData()
+ private void ResetChannelInformationInTransponderData()
+ {
+ foreach (SatTransponder transponder in this.DataRoot.Transponder.Values)
+ {
+ transponder.FirstChannelIndex = 0xFFFF;
+ transponder.LastChannelIndex = 0xFFFF;
+ transponder.ChannelCount = 0;
+ }
+ }
+ #endregion
+
+ #region PhysicalChannelOrder()
+ private int PhysicalChannelOrder(ChannelInfo channel)
+ {
+ return (channel.Transponder.Id << 16) + channel.ServiceId;
+ }
+ #endregion
+
+ #region RelocateChannelData()
+ private void RelocateChannelData(SatChannel channel, ref int prevChannelOrderId,
+ byte[] sortedChannels, ref int removed, ref int prevTransponderIndex, ref int counter,
+ ref SatTransponder currentTransponder)
+ {
+ if (RemoveChannelIfDupe(channel, ref prevChannelOrderId, ref removed))
+ return;
+
+ UpdateChannelIndexInTransponderData(channel, ref prevTransponderIndex, counter, ref currentTransponder);
+
+ Tools.MemCopy(this.fileContent,
+ this.dvbsBlockOffset + satConfig.ChannelListOffset + channel.RecordIndex*satConfig.dvbsChannelLength,
+ sortedChannels,
+ counter*satConfig.dvbsChannelLength,
+ satConfig.dvbsChannelLength);
+
+ channel.RecordIndex = counter++;
+ channel.baseOffset = this.dvbsBlockOffset + satConfig.ChannelListOffset + channel.RecordIndex*satConfig.dvbsChannelLength;
+ }
+ #endregion
+
+ #region RemoveChannelIfDupe()
+ private bool RemoveChannelIfDupe(SatChannel channel, ref int prevOrder, ref int removed)
+ {
+ int order = this.PhysicalChannelOrder(channel);
+ if (order == prevOrder)
+ {
+ var list = this.DataRoot.GetChannelList(channel.SignalSource);
+ list.RemoveChannel(channel);
+ ++removed;
+ channel.NewProgramNr = -1;
+ channel.OldProgramNr = -1;
+ return true;
+ }
+ prevOrder = order;
+ return false;
+ }
+ #endregion
+
+ #region UpdateChannelIndexInTransponderData()
+ private void UpdateChannelIndexInTransponderData(SatChannel channel, ref int prevTransponderIndex, int counter,
+ ref SatTransponder transponder)
+ {
+ if (channel.Transponder.Id == prevTransponderIndex)
+ return;
+
+ if (transponder != null)
+ {
+ transponder.LastChannelIndex = counter - 1;
+ transponder.ChannelCount = counter - transponder.FirstChannelIndex;
+ }
+
+ transponder = (SatTransponder)channel.Transponder;
+ transponder.FirstChannelIndex = counter;
+ prevTransponderIndex = channel.Transponder.Id;
+ }
+ #endregion
+
+ #region UpdateChannelAllocationBitmap()
+ private void UpdateChannelAllocationBitmap(int counter)
+ {
+ Tools.MemSet(fileContent, this.dvbsBlockOffset + satConfig.AllocationBitmapOffset, 0, satConfig.dvbsMaxChannelCount / 8);
+ Tools.MemSet(fileContent, this.dvbsBlockOffset + satConfig.AllocationBitmapOffset, 0xFF, counter / 8);
+ if (counter % 8 != 0)
+ fileContent[this.dvbsBlockOffset + satConfig.AllocationBitmapOffset + counter / 8] = (byte)(0xFF >> (8 - counter % 8));
+ }
+ #endregion
+
+ #region UpdateChannelLinkedList()
+ private void UpdateChannelLinkedList(int counter)
+ {
+ var header = new SatChannelListHeader(this.fileContent, this.dvbsBlockOffset + satConfig.ChannelListHeaderOffset);
+ header.LinkedListStartIndex = 0;
+ header.LinkedListEndIndex1 = counter - 1;
+ header.LinkedListEndIndex2 = counter - 1;
+ header.ChannelCount = counter;
+
+ // update linked list
+ var off = this.dvbsBlockOffset + satConfig.SequenceTableOffset;
+ for (int i = 0; i < counter; i++)
+ {
+ Tools.SetInt16(this.fileContent, off + 0, i - 1);
+ Tools.SetInt16(this.fileContent, off + 2, i + 1);
+ Tools.SetInt16(this.fileContent, off + 4, i);
+ off += satConfig.sizeOfChannelLinkedListEntry;
+ }
+ Tools.SetInt16(this.fileContent, off - satConfig.sizeOfChannelLinkedListEntry + 2, 0xFFFF);
+ Tools.MemSet(fileContent, off, 0, (satConfig.dvbsMaxChannelCount - counter) * satConfig.sizeOfChannelLinkedListEntry);
+ }
+ #endregion
+
+
+ // Saving ====================================
#region Save()
public override void Save(string tvOutputFile)
diff --git a/ChanSort/MainForm.Designer.cs b/ChanSort/MainForm.Designer.cs
index 1bb9bfd..d690225 100644
--- a/ChanSort/MainForm.Designer.cs
+++ b/ChanSort/MainForm.Designer.cs
@@ -132,8 +132,9 @@
this.mnuCharset = new DevExpress.XtraBars.BarSubItem();
this.miCharsetForm = new DevExpress.XtraBars.BarButtonItem();
this.miIsoCharSets = new DevExpress.XtraBars.BarListItem();
- this.miEraseDuplicateChannels = new DevExpress.XtraBars.BarCheckItem();
this.miShowWarningsAfterLoad = new DevExpress.XtraBars.BarCheckItem();
+ this.miAutoLoadRefList = new DevExpress.XtraBars.BarCheckItem();
+ this.miEraseDuplicateChannels = new DevExpress.XtraBars.BarCheckItem();
this.mnuHelp = new DevExpress.XtraBars.BarSubItem();
this.miWiki = new DevExpress.XtraBars.BarButtonItem();
this.miOpenWebsite = new DevExpress.XtraBars.BarButtonItem();
@@ -144,6 +145,7 @@
this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
this.miMoveUp = new DevExpress.XtraBars.BarButtonItem();
this.miMoveDown = new DevExpress.XtraBars.BarButtonItem();
+ this.miCleanupChannels = new DevExpress.XtraBars.BarButtonItem();
this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
this.txtSetSlot = new DevExpress.XtraEditors.ButtonEdit();
this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
@@ -196,36 +198,25 @@
//
resources.ApplyResources(this.splitContainerControl1, "splitContainerControl1");
this.splitContainerControl1.Name = "splitContainerControl1";
- resources.ApplyResources(this.splitContainerControl1.Panel1, "splitContainerControl1.Panel1");
this.splitContainerControl1.Panel1.Controls.Add(this.grpOutputList);
- resources.ApplyResources(this.splitContainerControl1.Panel2, "splitContainerControl1.Panel2");
+ resources.ApplyResources(this.splitContainerControl1.Panel1, "splitContainerControl1.Panel1");
this.splitContainerControl1.Panel2.Controls.Add(this.grpInputList);
+ resources.ApplyResources(this.splitContainerControl1.Panel2, "splitContainerControl1.Panel2");
this.splitContainerControl1.SplitterPosition = 386;
//
// grpOutputList
//
- resources.ApplyResources(this.grpOutputList, "grpOutputList");
this.grpOutputList.Controls.Add(this.gridLeft);
this.grpOutputList.Controls.Add(this.lblHotkeyLeft);
this.grpOutputList.Controls.Add(this.pnlEditControls);
+ resources.ApplyResources(this.grpOutputList, "grpOutputList");
this.grpOutputList.Name = "grpOutputList";
this.grpOutputList.Enter += new System.EventHandler(this.grpOutputList_Enter);
//
// gridLeft
//
- resources.ApplyResources(this.gridLeft, "gridLeft");
this.gridLeft.DataSource = this.dsChannels;
- this.gridLeft.EmbeddedNavigator.AccessibleDescription = resources.GetString("gridLeft.EmbeddedNavigator.AccessibleDescription");
- this.gridLeft.EmbeddedNavigator.AccessibleName = resources.GetString("gridLeft.EmbeddedNavigator.AccessibleName");
- this.gridLeft.EmbeddedNavigator.AllowHtmlTextInToolTip = ((DevExpress.Utils.DefaultBoolean)(resources.GetObject("gridLeft.EmbeddedNavigator.AllowHtmlTextInToolTip")));
- this.gridLeft.EmbeddedNavigator.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("gridLeft.EmbeddedNavigator.Anchor")));
- this.gridLeft.EmbeddedNavigator.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gridLeft.EmbeddedNavigator.BackgroundImage")));
- this.gridLeft.EmbeddedNavigator.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("gridLeft.EmbeddedNavigator.BackgroundImageLayout")));
- this.gridLeft.EmbeddedNavigator.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("gridLeft.EmbeddedNavigator.ImeMode")));
- this.gridLeft.EmbeddedNavigator.TextLocation = ((DevExpress.XtraEditors.NavigatorButtonsTextLocation)(resources.GetObject("gridLeft.EmbeddedNavigator.TextLocation")));
- this.gridLeft.EmbeddedNavigator.ToolTip = resources.GetString("gridLeft.EmbeddedNavigator.ToolTip");
- this.gridLeft.EmbeddedNavigator.ToolTipIconType = ((DevExpress.Utils.ToolTipIconType)(resources.GetObject("gridLeft.EmbeddedNavigator.ToolTipIconType")));
- this.gridLeft.EmbeddedNavigator.ToolTipTitle = resources.GetString("gridLeft.EmbeddedNavigator.ToolTipTitle");
+ resources.ApplyResources(this.gridLeft, "gridLeft");
this.gridLeft.MainView = this.gviewLeft;
this.gridLeft.Name = "gridLeft";
this.gridLeft.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
@@ -240,11 +231,8 @@
//
// gviewLeft
//
- this.gviewLeft.Appearance.HeaderPanel.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("gviewLeft.Appearance.HeaderPanel.GradientMode")));
- this.gviewLeft.Appearance.HeaderPanel.Image = ((System.Drawing.Image)(resources.GetObject("gviewLeft.Appearance.HeaderPanel.Image")));
this.gviewLeft.Appearance.HeaderPanel.Options.UseTextOptions = true;
this.gviewLeft.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
- resources.ApplyResources(this.gviewLeft, "gviewLeft");
this.gviewLeft.ColumnPanelRowHeight = 35;
this.gviewLeft.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
this.colIndex1,
@@ -322,15 +310,8 @@
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Buttons"))))});
this.repositoryItemCheckedComboBoxEdit1.CloseUpKey = new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.F2);
this.repositoryItemCheckedComboBoxEdit1.ForceUpdateEditValue = DevExpress.Utils.DefaultBoolean.True;
- this.repositoryItemCheckedComboBoxEdit1.Mask.AutoComplete = ((DevExpress.XtraEditors.Mask.AutoCompleteType)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.AutoComplete")));
- this.repositoryItemCheckedComboBoxEdit1.Mask.BeepOnError = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.BeepOnError")));
this.repositoryItemCheckedComboBoxEdit1.Mask.EditMask = resources.GetString("repositoryItemCheckedComboBoxEdit1.Mask.EditMask");
- this.repositoryItemCheckedComboBoxEdit1.Mask.IgnoreMaskBlank = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.IgnoreMaskBlank")));
this.repositoryItemCheckedComboBoxEdit1.Mask.MaskType = ((DevExpress.XtraEditors.Mask.MaskType)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.MaskType")));
- this.repositoryItemCheckedComboBoxEdit1.Mask.PlaceHolder = ((char)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.PlaceHolder")));
- this.repositoryItemCheckedComboBoxEdit1.Mask.SaveLiteral = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.SaveLiteral")));
- this.repositoryItemCheckedComboBoxEdit1.Mask.ShowPlaceHolders = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.ShowPlaceHolders")));
- this.repositoryItemCheckedComboBoxEdit1.Mask.UseMaskAsDisplayFormat = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit1.Mask.UseMaskAsDisplayFormat")));
this.repositoryItemCheckedComboBoxEdit1.Name = "repositoryItemCheckedComboBoxEdit1";
this.repositoryItemCheckedComboBoxEdit1.PopupSizeable = false;
this.repositoryItemCheckedComboBoxEdit1.SelectAllItemVisible = false;
@@ -358,7 +339,6 @@
//
// pnlEditControls
//
- resources.ApplyResources(this.pnlEditControls, "pnlEditControls");
this.pnlEditControls.Controls.Add(this.btnToggleLock);
this.pnlEditControls.Controls.Add(this.btnToggleFavE);
this.pnlEditControls.Controls.Add(this.btnToggleFavD);
@@ -370,120 +350,108 @@
this.pnlEditControls.Controls.Add(this.btnDown);
this.pnlEditControls.Controls.Add(this.btnUp);
this.pnlEditControls.Controls.Add(this.btnRemoveLeft);
+ resources.ApplyResources(this.pnlEditControls, "pnlEditControls");
this.pnlEditControls.Name = "pnlEditControls";
//
// btnToggleLock
//
- resources.ApplyResources(this.btnToggleLock, "btnToggleLock");
this.btnToggleLock.ImageIndex = 15;
this.btnToggleLock.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnToggleLock, "btnToggleLock");
this.btnToggleLock.Name = "btnToggleLock";
this.btnToggleLock.Click += new System.EventHandler(this.btnToggleLock_Click);
//
// btnToggleFavE
//
- resources.ApplyResources(this.btnToggleFavE, "btnToggleFavE");
this.btnToggleFavE.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnToggleFavE, "btnToggleFavE");
this.btnToggleFavE.Name = "btnToggleFavE";
this.btnToggleFavE.Tag = "";
this.btnToggleFavE.Click += new System.EventHandler(this.btnToggleFav_Click);
//
// btnToggleFavD
//
- resources.ApplyResources(this.btnToggleFavD, "btnToggleFavD");
this.btnToggleFavD.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnToggleFavD, "btnToggleFavD");
this.btnToggleFavD.Name = "btnToggleFavD";
this.btnToggleFavD.Click += new System.EventHandler(this.btnToggleFav_Click);
//
// btnToggleFavC
//
- resources.ApplyResources(this.btnToggleFavC, "btnToggleFavC");
this.btnToggleFavC.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnToggleFavC, "btnToggleFavC");
this.btnToggleFavC.Name = "btnToggleFavC";
this.btnToggleFavC.Click += new System.EventHandler(this.btnToggleFav_Click);
//
// btnToggleFavB
//
- resources.ApplyResources(this.btnToggleFavB, "btnToggleFavB");
this.btnToggleFavB.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnToggleFavB, "btnToggleFavB");
this.btnToggleFavB.Name = "btnToggleFavB";
this.btnToggleFavB.Click += new System.EventHandler(this.btnToggleFav_Click);
//
// btnToggleFavA
//
- resources.ApplyResources(this.btnToggleFavA, "btnToggleFavA");
this.btnToggleFavA.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnToggleFavA, "btnToggleFavA");
this.btnToggleFavA.Name = "btnToggleFavA";
this.btnToggleFavA.Click += new System.EventHandler(this.btnToggleFav_Click);
//
// btnClearLeftFilter
//
- resources.ApplyResources(this.btnClearLeftFilter, "btnClearLeftFilter");
this.btnClearLeftFilter.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("btnClearLeftFilter.Appearance.Font")));
- this.btnClearLeftFilter.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("btnClearLeftFilter.Appearance.GradientMode")));
- this.btnClearLeftFilter.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("btnClearLeftFilter.Appearance.Image")));
this.btnClearLeftFilter.Appearance.Options.UseFont = true;
this.btnClearLeftFilter.ImageIndex = 28;
this.btnClearLeftFilter.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnClearLeftFilter, "btnClearLeftFilter");
this.btnClearLeftFilter.Name = "btnClearLeftFilter";
this.btnClearLeftFilter.Click += new System.EventHandler(this.btnClearLeftFilter_Click);
//
// btnRenum
//
- resources.ApplyResources(this.btnRenum, "btnRenum");
this.btnRenum.ImageIndex = 22;
this.btnRenum.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnRenum, "btnRenum");
this.btnRenum.Name = "btnRenum";
this.btnRenum.Click += new System.EventHandler(this.btnRenum_Click);
//
// btnDown
//
- resources.ApplyResources(this.btnDown, "btnDown");
this.btnDown.ImageIndex = 25;
this.btnDown.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnDown, "btnDown");
this.btnDown.Name = "btnDown";
this.btnDown.Click += new System.EventHandler(this.btnDown_Click);
//
// btnUp
//
- resources.ApplyResources(this.btnUp, "btnUp");
this.btnUp.ImageIndex = 24;
this.btnUp.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnUp, "btnUp");
this.btnUp.Name = "btnUp";
this.btnUp.Click += new System.EventHandler(this.btnUp_Click);
//
// btnRemoveLeft
//
- resources.ApplyResources(this.btnRemoveLeft, "btnRemoveLeft");
this.btnRemoveLeft.ImageIndex = 11;
this.btnRemoveLeft.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnRemoveLeft, "btnRemoveLeft");
this.btnRemoveLeft.Name = "btnRemoveLeft";
this.btnRemoveLeft.Click += new System.EventHandler(this.btnRemoveLeft_Click);
//
// grpInputList
//
- resources.ApplyResources(this.grpInputList, "grpInputList");
this.grpInputList.Controls.Add(this.gridRight);
this.grpInputList.Controls.Add(this.lblHotkeyRight);
this.grpInputList.Controls.Add(this.panelControl3);
+ resources.ApplyResources(this.grpInputList, "grpInputList");
this.grpInputList.Name = "grpInputList";
this.grpInputList.Enter += new System.EventHandler(this.grpInputList_Enter);
//
// gridRight
//
- resources.ApplyResources(this.gridRight, "gridRight");
this.gridRight.DataSource = this.dsChannels;
- this.gridRight.EmbeddedNavigator.AccessibleDescription = resources.GetString("gridRight.EmbeddedNavigator.AccessibleDescription");
- this.gridRight.EmbeddedNavigator.AccessibleName = resources.GetString("gridRight.EmbeddedNavigator.AccessibleName");
- this.gridRight.EmbeddedNavigator.AllowHtmlTextInToolTip = ((DevExpress.Utils.DefaultBoolean)(resources.GetObject("gridRight.EmbeddedNavigator.AllowHtmlTextInToolTip")));
- this.gridRight.EmbeddedNavigator.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("gridRight.EmbeddedNavigator.Anchor")));
- this.gridRight.EmbeddedNavigator.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gridRight.EmbeddedNavigator.BackgroundImage")));
- this.gridRight.EmbeddedNavigator.BackgroundImageLayout = ((System.Windows.Forms.ImageLayout)(resources.GetObject("gridRight.EmbeddedNavigator.BackgroundImageLayout")));
- this.gridRight.EmbeddedNavigator.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("gridRight.EmbeddedNavigator.ImeMode")));
- this.gridRight.EmbeddedNavigator.TextLocation = ((DevExpress.XtraEditors.NavigatorButtonsTextLocation)(resources.GetObject("gridRight.EmbeddedNavigator.TextLocation")));
- this.gridRight.EmbeddedNavigator.ToolTip = resources.GetString("gridRight.EmbeddedNavigator.ToolTip");
- this.gridRight.EmbeddedNavigator.ToolTipIconType = ((DevExpress.Utils.ToolTipIconType)(resources.GetObject("gridRight.EmbeddedNavigator.ToolTipIconType")));
- this.gridRight.EmbeddedNavigator.ToolTipTitle = resources.GetString("gridRight.EmbeddedNavigator.ToolTipTitle");
+ resources.ApplyResources(this.gridRight, "gridRight");
this.gridRight.MainView = this.gviewRight;
this.gridRight.Name = "gridRight";
this.gridRight.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
@@ -494,11 +462,8 @@
//
// gviewRight
//
- this.gviewRight.Appearance.HeaderPanel.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("gviewRight.Appearance.HeaderPanel.GradientMode")));
- this.gviewRight.Appearance.HeaderPanel.Image = ((System.Drawing.Image)(resources.GetObject("gviewRight.Appearance.HeaderPanel.Image")));
this.gviewRight.Appearance.HeaderPanel.Options.UseTextOptions = true;
this.gviewRight.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
- resources.ApplyResources(this.gviewRight, "gviewRight");
this.gviewRight.ColumnPanelRowHeight = 35;
this.gviewRight.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
this.colIndex,
@@ -603,15 +568,8 @@
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Buttons"))))});
this.repositoryItemCheckedComboBoxEdit2.CloseUpKey = new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.F2);
this.repositoryItemCheckedComboBoxEdit2.ForceUpdateEditValue = DevExpress.Utils.DefaultBoolean.True;
- this.repositoryItemCheckedComboBoxEdit2.Mask.AutoComplete = ((DevExpress.XtraEditors.Mask.AutoCompleteType)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.AutoComplete")));
- this.repositoryItemCheckedComboBoxEdit2.Mask.BeepOnError = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.BeepOnError")));
this.repositoryItemCheckedComboBoxEdit2.Mask.EditMask = resources.GetString("repositoryItemCheckedComboBoxEdit2.Mask.EditMask");
- this.repositoryItemCheckedComboBoxEdit2.Mask.IgnoreMaskBlank = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.IgnoreMaskBlank")));
this.repositoryItemCheckedComboBoxEdit2.Mask.MaskType = ((DevExpress.XtraEditors.Mask.MaskType)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.MaskType")));
- this.repositoryItemCheckedComboBoxEdit2.Mask.PlaceHolder = ((char)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.PlaceHolder")));
- this.repositoryItemCheckedComboBoxEdit2.Mask.SaveLiteral = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.SaveLiteral")));
- this.repositoryItemCheckedComboBoxEdit2.Mask.ShowPlaceHolders = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.ShowPlaceHolders")));
- this.repositoryItemCheckedComboBoxEdit2.Mask.UseMaskAsDisplayFormat = ((bool)(resources.GetObject("repositoryItemCheckedComboBoxEdit2.Mask.UseMaskAsDisplayFormat")));
this.repositoryItemCheckedComboBoxEdit2.Name = "repositoryItemCheckedComboBoxEdit2";
this.repositoryItemCheckedComboBoxEdit2.PopupSizeable = false;
this.repositoryItemCheckedComboBoxEdit2.SelectAllItemVisible = false;
@@ -690,10 +648,10 @@
//
// colServiceTypeName
//
- resources.ApplyResources(this.colServiceTypeName, "colServiceTypeName");
this.colServiceTypeName.FieldName = "ServiceTypeName";
this.colServiceTypeName.Name = "colServiceTypeName";
this.colServiceTypeName.OptionsColumn.AllowEdit = false;
+ resources.ApplyResources(this.colServiceTypeName, "colServiceTypeName");
//
// colSatellite
//
@@ -753,7 +711,6 @@
//
// colDebug
//
- resources.ApplyResources(this.colDebug, "colDebug");
this.colDebug.FieldName = "Debug";
this.colDebug.Name = "colDebug";
this.colDebug.OptionsColumn.AllowEdit = false;
@@ -780,18 +737,18 @@
//
// panelControl3
//
- resources.ApplyResources(this.panelControl3, "panelControl3");
this.panelControl3.Controls.Add(this.btnRemoveRight);
this.panelControl3.Controls.Add(this.btnAddAll);
this.panelControl3.Controls.Add(this.btnClearRightFilter);
this.panelControl3.Controls.Add(this.btnAdd);
+ resources.ApplyResources(this.panelControl3, "panelControl3");
this.panelControl3.Name = "panelControl3";
//
// btnRemoveRight
//
- resources.ApplyResources(this.btnRemoveRight, "btnRemoveRight");
this.btnRemoveRight.ImageIndex = 11;
this.btnRemoveRight.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnRemoveRight, "btnRemoveRight");
this.btnRemoveRight.Name = "btnRemoveRight";
this.btnRemoveRight.Click += new System.EventHandler(this.btnRemoveRight_Click);
//
@@ -803,21 +760,19 @@
//
// btnClearRightFilter
//
- resources.ApplyResources(this.btnClearRightFilter, "btnClearRightFilter");
this.btnClearRightFilter.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("btnClearRightFilter.Appearance.Font")));
- this.btnClearRightFilter.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("btnClearRightFilter.Appearance.GradientMode")));
- this.btnClearRightFilter.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("btnClearRightFilter.Appearance.Image")));
this.btnClearRightFilter.Appearance.Options.UseFont = true;
this.btnClearRightFilter.ImageIndex = 28;
this.btnClearRightFilter.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnClearRightFilter, "btnClearRightFilter");
this.btnClearRightFilter.Name = "btnClearRightFilter";
this.btnClearRightFilter.Click += new System.EventHandler(this.btnClearRightFilter_Click);
//
// btnAdd
//
- resources.ApplyResources(this.btnAdd, "btnAdd");
this.btnAdd.ImageIndex = 26;
this.btnAdd.ImageList = this.globalImageCollection1;
+ resources.ApplyResources(this.btnAdd, "btnAdd");
this.btnAdd.Name = "btnAdd";
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
@@ -879,8 +834,10 @@
this.miOpenWebsite,
this.miWiki,
this.miEraseDuplicateChannels,
- this.miShowWarningsAfterLoad});
- this.barManager1.MaxItemId = 55;
+ this.miShowWarningsAfterLoad,
+ this.miAutoLoadRefList,
+ this.miCleanupChannels});
+ this.barManager1.MaxItemId = 57;
//
// bar1
//
@@ -1210,8 +1167,9 @@
this.mnuOptions.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.barSubItem1, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuCharset, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
- new DevExpress.XtraBars.LinkPersistInfo(this.miEraseDuplicateChannels),
- new DevExpress.XtraBars.LinkPersistInfo(this.miShowWarningsAfterLoad)});
+ new DevExpress.XtraBars.LinkPersistInfo(this.miShowWarningsAfterLoad),
+ new DevExpress.XtraBars.LinkPersistInfo(this.miAutoLoadRefList),
+ new DevExpress.XtraBars.LinkPersistInfo(this.miEraseDuplicateChannels)});
this.mnuOptions.Name = "mnuOptions";
//
// barSubItem1
@@ -1228,8 +1186,8 @@
//
// miEnglish
//
- resources.ApplyResources(this.miEnglish, "miEnglish");
this.miEnglish.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.Check;
+ resources.ApplyResources(this.miEnglish, "miEnglish");
this.miEnglish.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d");
this.miEnglish.Id = 2;
this.miEnglish.ImageIndex = 0;
@@ -1239,8 +1197,8 @@
//
// miGerman
//
- resources.ApplyResources(this.miGerman, "miGerman");
this.miGerman.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.Check;
+ resources.ApplyResources(this.miGerman, "miGerman");
this.miGerman.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d");
this.miGerman.Id = 1;
this.miGerman.ImageIndex = 1;
@@ -1278,6 +1236,19 @@
this.miIsoCharSets.ShowNumbers = true;
this.miIsoCharSets.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miIsoCharSets_ListItemClick);
//
+ // miShowWarningsAfterLoad
+ //
+ resources.ApplyResources(this.miShowWarningsAfterLoad, "miShowWarningsAfterLoad");
+ this.miShowWarningsAfterLoad.Id = 54;
+ this.miShowWarningsAfterLoad.Name = "miShowWarningsAfterLoad";
+ //
+ // miAutoLoadRefList
+ //
+ resources.ApplyResources(this.miAutoLoadRefList, "miAutoLoadRefList");
+ this.miAutoLoadRefList.Checked = true;
+ this.miAutoLoadRefList.Id = 55;
+ this.miAutoLoadRefList.Name = "miAutoLoadRefList";
+ //
// miEraseDuplicateChannels
//
resources.ApplyResources(this.miEraseDuplicateChannels, "miEraseDuplicateChannels");
@@ -1285,12 +1256,6 @@
this.miEraseDuplicateChannels.Id = 53;
this.miEraseDuplicateChannels.Name = "miEraseDuplicateChannels";
//
- // miShowWarningsAfterLoad
- //
- resources.ApplyResources(this.miShowWarningsAfterLoad, "miShowWarningsAfterLoad");
- this.miShowWarningsAfterLoad.Id = 54;
- this.miShowWarningsAfterLoad.Name = "miShowWarningsAfterLoad";
- //
// mnuHelp
//
resources.ApplyResources(this.mnuHelp, "mnuHelp");
@@ -1327,31 +1292,23 @@
//
// barDockControlTop
//
- resources.ApplyResources(this.barDockControlTop, "barDockControlTop");
- this.barDockControlTop.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("barDockControlTop.Appearance.GradientMode")));
- this.barDockControlTop.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("barDockControlTop.Appearance.Image")));
this.barDockControlTop.CausesValidation = false;
+ resources.ApplyResources(this.barDockControlTop, "barDockControlTop");
//
// barDockControlBottom
//
- resources.ApplyResources(this.barDockControlBottom, "barDockControlBottom");
- this.barDockControlBottom.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("barDockControlBottom.Appearance.GradientMode")));
- this.barDockControlBottom.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("barDockControlBottom.Appearance.Image")));
this.barDockControlBottom.CausesValidation = false;
+ resources.ApplyResources(this.barDockControlBottom, "barDockControlBottom");
//
// barDockControlLeft
//
- resources.ApplyResources(this.barDockControlLeft, "barDockControlLeft");
- this.barDockControlLeft.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("barDockControlLeft.Appearance.GradientMode")));
- this.barDockControlLeft.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("barDockControlLeft.Appearance.Image")));
this.barDockControlLeft.CausesValidation = false;
+ resources.ApplyResources(this.barDockControlLeft, "barDockControlLeft");
//
// barDockControlRight
//
- resources.ApplyResources(this.barDockControlRight, "barDockControlRight");
- this.barDockControlRight.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("barDockControlRight.Appearance.GradientMode")));
- this.barDockControlRight.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("barDockControlRight.Appearance.Image")));
this.barDockControlRight.CausesValidation = false;
+ resources.ApplyResources(this.barDockControlRight, "barDockControlRight");
//
// miMoveUp
//
@@ -1371,6 +1328,13 @@
this.miMoveDown.Name = "miMoveDown";
this.miMoveDown.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveDown_ItemClick);
//
+ // miCleanupChannels
+ //
+ resources.ApplyResources(this.miCleanupChannels, "miCleanupChannels");
+ this.miCleanupChannels.Id = 56;
+ this.miCleanupChannels.Name = "miCleanupChannels";
+ this.miCleanupChannels.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miCleanupChannels_ItemClick);
+ //
// labelControl2
//
resources.ApplyResources(this.labelControl2, "labelControl2");
@@ -1380,22 +1344,10 @@
//
resources.ApplyResources(this.txtSetSlot, "txtSetSlot");
this.txtSetSlot.Name = "txtSetSlot";
- this.txtSetSlot.Properties.AccessibleDescription = resources.GetString("txtSetSlot.Properties.AccessibleDescription");
- this.txtSetSlot.Properties.AccessibleName = resources.GetString("txtSetSlot.Properties.AccessibleName");
- this.txtSetSlot.Properties.AutoHeight = ((bool)(resources.GetObject("txtSetSlot.Properties.AutoHeight")));
this.txtSetSlot.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("txtSetSlot.Properties.Buttons"))))});
- this.txtSetSlot.Properties.Mask.AutoComplete = ((DevExpress.XtraEditors.Mask.AutoCompleteType)(resources.GetObject("txtSetSlot.Properties.Mask.AutoComplete")));
- this.txtSetSlot.Properties.Mask.BeepOnError = ((bool)(resources.GetObject("txtSetSlot.Properties.Mask.BeepOnError")));
this.txtSetSlot.Properties.Mask.EditMask = resources.GetString("txtSetSlot.Properties.Mask.EditMask");
- this.txtSetSlot.Properties.Mask.IgnoreMaskBlank = ((bool)(resources.GetObject("txtSetSlot.Properties.Mask.IgnoreMaskBlank")));
this.txtSetSlot.Properties.Mask.MaskType = ((DevExpress.XtraEditors.Mask.MaskType)(resources.GetObject("txtSetSlot.Properties.Mask.MaskType")));
- this.txtSetSlot.Properties.Mask.PlaceHolder = ((char)(resources.GetObject("txtSetSlot.Properties.Mask.PlaceHolder")));
- this.txtSetSlot.Properties.Mask.SaveLiteral = ((bool)(resources.GetObject("txtSetSlot.Properties.Mask.SaveLiteral")));
- this.txtSetSlot.Properties.Mask.ShowPlaceHolders = ((bool)(resources.GetObject("txtSetSlot.Properties.Mask.ShowPlaceHolders")));
- this.txtSetSlot.Properties.Mask.UseMaskAsDisplayFormat = ((bool)(resources.GetObject("txtSetSlot.Properties.Mask.UseMaskAsDisplayFormat")));
- this.txtSetSlot.Properties.NullValuePrompt = resources.GetString("txtSetSlot.Properties.NullValuePrompt");
- this.txtSetSlot.Properties.NullValuePromptShowForEmptyValue = ((bool)(resources.GetObject("txtSetSlot.Properties.NullValuePromptShowForEmptyValue")));
this.txtSetSlot.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.txtSetSlot_ButtonClick);
this.txtSetSlot.EditValueChanged += new System.EventHandler(this.txtSetSlot_EditValueChanged);
this.txtSetSlot.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSetSlot_KeyDown);
@@ -1411,11 +1363,7 @@
this.picDonate.EditValue = global::ChanSort.Ui.Properties.Resources.Donate;
this.picDonate.MenuManager = this.barManager1;
this.picDonate.Name = "picDonate";
- this.picDonate.Properties.AccessibleDescription = resources.GetString("picDonate.Properties.AccessibleDescription");
- this.picDonate.Properties.AccessibleName = resources.GetString("picDonate.Properties.AccessibleName");
this.picDonate.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("picDonate.Properties.Appearance.BackColor")));
- this.picDonate.Properties.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("picDonate.Properties.Appearance.GradientMode")));
- this.picDonate.Properties.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("picDonate.Properties.Appearance.Image")));
this.picDonate.Properties.Appearance.Options.UseBackColor = true;
this.picDonate.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.picDonate.Properties.PictureAlignment = System.Drawing.ContentAlignment.TopRight;
@@ -1427,7 +1375,6 @@
//
// grpTopPanel
//
- resources.ApplyResources(this.grpTopPanel, "grpTopPanel");
this.grpTopPanel.Controls.Add(this.rbInsertSwap);
this.grpTopPanel.Controls.Add(this.rbInsertAfter);
this.grpTopPanel.Controls.Add(this.rbInsertBefore);
@@ -1438,6 +1385,7 @@
this.grpTopPanel.Controls.Add(this.tabChannelList);
this.grpTopPanel.Controls.Add(this.labelControl11);
this.grpTopPanel.Controls.Add(this.txtSetSlot);
+ resources.ApplyResources(this.grpTopPanel, "grpTopPanel");
this.grpTopPanel.Name = "grpTopPanel";
this.grpTopPanel.ShowCaption = false;
//
@@ -1446,18 +1394,10 @@
resources.ApplyResources(this.rbInsertSwap, "rbInsertSwap");
this.rbInsertSwap.MenuManager = this.barManager1;
this.rbInsertSwap.Name = "rbInsertSwap";
- this.rbInsertSwap.Properties.AccessibleDescription = resources.GetString("rbInsertSwap.Properties.AccessibleDescription");
- this.rbInsertSwap.Properties.AccessibleName = resources.GetString("rbInsertSwap.Properties.AccessibleName");
- this.rbInsertSwap.Properties.Appearance.GradientMode = ((System.Drawing.Drawing2D.LinearGradientMode)(resources.GetObject("rbInsertSwap.Properties.Appearance.GradientMode")));
- this.rbInsertSwap.Properties.Appearance.Image = ((System.Drawing.Image)(resources.GetObject("rbInsertSwap.Properties.Appearance.Image")));
this.rbInsertSwap.Properties.Appearance.Options.UseTextOptions = true;
this.rbInsertSwap.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
- this.rbInsertSwap.Properties.AutoHeight = ((bool)(resources.GetObject("rbInsertSwap.Properties.AutoHeight")));
this.rbInsertSwap.Properties.Caption = resources.GetString("rbInsertSwap.Properties.Caption");
this.rbInsertSwap.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
- this.rbInsertSwap.Properties.DisplayValueChecked = resources.GetString("rbInsertSwap.Properties.DisplayValueChecked");
- this.rbInsertSwap.Properties.DisplayValueGrayed = resources.GetString("rbInsertSwap.Properties.DisplayValueGrayed");
- this.rbInsertSwap.Properties.DisplayValueUnchecked = resources.GetString("rbInsertSwap.Properties.DisplayValueUnchecked");
this.rbInsertSwap.Properties.GlyphAlignment = ((DevExpress.Utils.HorzAlignment)(resources.GetObject("rbInsertSwap.Properties.GlyphAlignment")));
this.rbInsertSwap.Properties.RadioGroupIndex = 1;
this.rbInsertSwap.TabStop = false;
@@ -1468,14 +1408,8 @@
resources.ApplyResources(this.rbInsertAfter, "rbInsertAfter");
this.rbInsertAfter.MenuManager = this.barManager1;
this.rbInsertAfter.Name = "rbInsertAfter";
- this.rbInsertAfter.Properties.AccessibleDescription = resources.GetString("rbInsertAfter.Properties.AccessibleDescription");
- this.rbInsertAfter.Properties.AccessibleName = resources.GetString("rbInsertAfter.Properties.AccessibleName");
- this.rbInsertAfter.Properties.AutoHeight = ((bool)(resources.GetObject("rbInsertAfter.Properties.AutoHeight")));
this.rbInsertAfter.Properties.Caption = resources.GetString("rbInsertAfter.Properties.Caption");
this.rbInsertAfter.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
- this.rbInsertAfter.Properties.DisplayValueChecked = resources.GetString("rbInsertAfter.Properties.DisplayValueChecked");
- this.rbInsertAfter.Properties.DisplayValueGrayed = resources.GetString("rbInsertAfter.Properties.DisplayValueGrayed");
- this.rbInsertAfter.Properties.DisplayValueUnchecked = resources.GetString("rbInsertAfter.Properties.DisplayValueUnchecked");
this.rbInsertAfter.Properties.RadioGroupIndex = 1;
this.rbInsertAfter.CheckedChanged += new System.EventHandler(this.rbInsertMode_CheckedChanged);
//
@@ -1484,14 +1418,8 @@
resources.ApplyResources(this.rbInsertBefore, "rbInsertBefore");
this.rbInsertBefore.MenuManager = this.barManager1;
this.rbInsertBefore.Name = "rbInsertBefore";
- this.rbInsertBefore.Properties.AccessibleDescription = resources.GetString("rbInsertBefore.Properties.AccessibleDescription");
- this.rbInsertBefore.Properties.AccessibleName = resources.GetString("rbInsertBefore.Properties.AccessibleName");
- this.rbInsertBefore.Properties.AutoHeight = ((bool)(resources.GetObject("rbInsertBefore.Properties.AutoHeight")));
this.rbInsertBefore.Properties.Caption = resources.GetString("rbInsertBefore.Properties.Caption");
this.rbInsertBefore.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
- this.rbInsertBefore.Properties.DisplayValueChecked = resources.GetString("rbInsertBefore.Properties.DisplayValueChecked");
- this.rbInsertBefore.Properties.DisplayValueGrayed = resources.GetString("rbInsertBefore.Properties.DisplayValueGrayed");
- this.rbInsertBefore.Properties.DisplayValueUnchecked = resources.GetString("rbInsertBefore.Properties.DisplayValueUnchecked");
this.rbInsertBefore.Properties.RadioGroupIndex = 1;
this.rbInsertBefore.TabStop = false;
this.rbInsertBefore.CheckedChanged += new System.EventHandler(this.rbInsertMode_CheckedChanged);
@@ -1501,26 +1429,14 @@
resources.ApplyResources(this.cbCloseGap, "cbCloseGap");
this.cbCloseGap.MenuManager = this.barManager1;
this.cbCloseGap.Name = "cbCloseGap";
- this.cbCloseGap.Properties.AccessibleDescription = resources.GetString("cbCloseGap.Properties.AccessibleDescription");
- this.cbCloseGap.Properties.AccessibleName = resources.GetString("cbCloseGap.Properties.AccessibleName");
- this.cbCloseGap.Properties.AutoHeight = ((bool)(resources.GetObject("cbCloseGap.Properties.AutoHeight")));
this.cbCloseGap.Properties.Caption = resources.GetString("cbCloseGap.Properties.Caption");
- this.cbCloseGap.Properties.DisplayValueChecked = resources.GetString("cbCloseGap.Properties.DisplayValueChecked");
- this.cbCloseGap.Properties.DisplayValueGrayed = resources.GetString("cbCloseGap.Properties.DisplayValueGrayed");
- this.cbCloseGap.Properties.DisplayValueUnchecked = resources.GetString("cbCloseGap.Properties.DisplayValueUnchecked");
//
// cbAppendUnsortedChannels
//
resources.ApplyResources(this.cbAppendUnsortedChannels, "cbAppendUnsortedChannels");
this.cbAppendUnsortedChannels.MenuManager = this.barManager1;
this.cbAppendUnsortedChannels.Name = "cbAppendUnsortedChannels";
- this.cbAppendUnsortedChannels.Properties.AccessibleDescription = resources.GetString("cbAppendUnsortedChannels.Properties.AccessibleDescription");
- this.cbAppendUnsortedChannels.Properties.AccessibleName = resources.GetString("cbAppendUnsortedChannels.Properties.AccessibleName");
- this.cbAppendUnsortedChannels.Properties.AutoHeight = ((bool)(resources.GetObject("cbAppendUnsortedChannels.Properties.AutoHeight")));
this.cbAppendUnsortedChannels.Properties.Caption = resources.GetString("cbAppendUnsortedChannels.Properties.Caption");
- this.cbAppendUnsortedChannels.Properties.DisplayValueChecked = resources.GetString("cbAppendUnsortedChannels.Properties.DisplayValueChecked");
- this.cbAppendUnsortedChannels.Properties.DisplayValueGrayed = resources.GetString("cbAppendUnsortedChannels.Properties.DisplayValueGrayed");
- this.cbAppendUnsortedChannels.Properties.DisplayValueUnchecked = resources.GetString("cbAppendUnsortedChannels.Properties.DisplayValueUnchecked");
//
// tabChannelList
//
@@ -1533,8 +1449,8 @@
//
// pageEmpty
//
- resources.ApplyResources(this.pageEmpty, "pageEmpty");
this.pageEmpty.Name = "pageEmpty";
+ resources.ApplyResources(this.pageEmpty, "pageEmpty");
//
// mnuContext
//
@@ -1744,6 +1660,8 @@
private DevExpress.XtraBars.BarButtonItem miRenameChannel;
private DevExpress.XtraBars.BarCheckItem miEraseDuplicateChannels;
private DevExpress.XtraBars.BarCheckItem miShowWarningsAfterLoad;
+ private DevExpress.XtraBars.BarCheckItem miAutoLoadRefList;
+ private DevExpress.XtraBars.BarButtonItem miCleanupChannels;
private DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1;
}
}
diff --git a/ChanSort/MainForm.cs b/ChanSort/MainForm.cs
index 75c4b17..a1b24c3 100644
--- a/ChanSort/MainForm.cs
+++ b/ChanSort/MainForm.cs
@@ -23,7 +23,7 @@ namespace ChanSort.Ui
{
public partial class MainForm : XtraForm
{
- public const string AppVersion = "v2013-04-28a";
+ public const string AppVersion = "v2013-04-29";
#region enum EditMode
private enum EditMode
@@ -208,7 +208,7 @@ namespace ChanSort.Ui
this.currentTvSerializer.DefaultEncoding = this.defaultEncoding;
this.miEraseChannelData.Enabled = newSerializer.Features.EraseChannelData;
if (!this.LoadTvDataFile())
- return;
+ return;
this.LoadCsvFile();
this.editor = new Editor();
@@ -357,7 +357,7 @@ namespace ChanSort.Ui
#region LoadCsvFile()
private void LoadCsvFile()
{
- if (File.Exists(this.currentCsvFile))
+ if (File.Exists(this.currentCsvFile) && this.miAutoLoadRefList.Checked)
{
var csvSerializer = new CsvFileSerializer(this.currentCsvFile, this.dataRoot);
csvSerializer.Load();
@@ -747,7 +747,9 @@ namespace ChanSort.Ui
this.miEraseDuplicateChannels.Checked = Settings.Default.EraseDuplicateChannels;
this.miShowWarningsAfterLoad.Checked = Settings.Default.ShowWarningsAfterLoading;
-
+ this.miAutoLoadRefList.Checked = Settings.Default.AutoLoadRefList;
+ this.cbAppendUnsortedChannels.Checked = Settings.Default.AutoAppendUnsortedChannels;
+ this.cbCloseGap.Checked = Settings.Default.CloseGaps;
this.ClearLeftFilter();
}
#endregion
@@ -812,7 +814,9 @@ namespace ChanSort.Ui
SaveInputGridLayout(this.currentChannelList.SignalSource);
Settings.Default.EraseDuplicateChannels = this.miEraseDuplicateChannels.Checked;
Settings.Default.ShowWarningsAfterLoading = this.miShowWarningsAfterLoad.Checked;
-
+ Settings.Default.AutoLoadRefList = this.miAutoLoadRefList.Checked;
+ Settings.Default.AutoAppendUnsortedChannels = this.cbAppendUnsortedChannels.Checked;
+ Settings.Default.CloseGaps = this.cbCloseGap.Checked;
Settings.Default.Save();
}
@@ -1051,6 +1055,8 @@ namespace ChanSort.Ui
this.miMoveUp.Enabled = channel != null && channel.NewProgramNr > 1;
this.miTvSettings.Enabled = this.currentTvSerializer != null;
+ this.miCleanupChannels.Visibility = this.currentTvSerializer != null &&
+ this.currentTvSerializer.Features.CleanUpChannelData ? BarItemVisibility.Always : BarItemVisibility.Never;
}
#endregion
@@ -1173,6 +1179,19 @@ namespace ChanSort.Ui
}
#endregion
+ #region CleanupChannelData()
+ private void CleanupChannelData()
+ {
+ if (this.currentTvSerializer != null && this.currentTvSerializer.Features.CleanUpChannelData)
+ {
+ var msg = this.currentTvSerializer.CleanUpChannelData();
+ this.FillChannelListCombo();
+ InfoBox.Show(this, msg, this.miCleanupChannels.Caption);
+ this.RefreshGrid(gviewLeft, gviewRight);
+ }
+ }
+ #endregion
+
// UI events
#region MainForm_Load
@@ -1363,6 +1382,11 @@ namespace ChanSort.Ui
});
}
+ private void miCleanupChannels_ItemClick(object sender, ItemClickEventArgs e)
+ {
+ this.TryExecute(this.CleanupChannelData);
+ }
+
#endregion
#region Character set menu
@@ -1454,6 +1478,7 @@ namespace ChanSort.Ui
private void gview_MouseUp(object sender, MouseEventArgs e)
{
this.timerEditDelay.Stop();
+ this.BeginInvoke((Action) (() => { this.dontOpenEditor = false; }));
}
private void timerEditDelay_Tick(object sender, EventArgs e)
diff --git a/ChanSort/MainForm.de.resx b/ChanSort/MainForm.de.resx
index 3197bad..353fc2e 100644
--- a/ChanSort/MainForm.de.resx
+++ b/ChanSort/MainForm.de.resx
@@ -117,50 +117,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
-
-
-
-
-
- Default
-
-
- Top, Left
-
-
-
-
-
- Tile
-
-
- Inherit
-
-
-
- Center
-
-
-
-
-
-
- None
-
-
-
-
-
-
- Horizontal
-
-
-
-
Neue Pr#
@@ -173,34 +129,13 @@
Favoriten
-
- Default
-
-
-
- False
-
-
- True
-
-
- _
-
-
- True
-
-
- True
-
-
- False
-
Ge- sperrt
Kindersicherung
+
333, 17
@@ -294,11 +229,20 @@
&Zeichensatz
-
- Mehrfach vorhandene Sender löschen
-
- Warnungen nach dem Laden einer Datei anzeigen
+ Warnungen beim Laden anzeigen
+
+
+ Eventuelle Warnungen nach dem Laden einer TV-Datei automatisch anzeigen
+
+
+ Referenzliste automatisch laden
+
+
+ TV-Datei automatisch bereinigen
+
+
+ Nicht verwendete Senderdaten beim Laden der Datei automatisch entfernen
&Hilfe
@@ -350,168 +294,36 @@
WIeWYGkVXQEL
-
- Horizontal
-
-
-
-
-
- Horizontal
-
-
-
-
-
- Horizontal
-
-
-
-
-
- Horizontal
-
-
-
-
Nach oben
Nach unten
-
-
-
-
-
-
-
- Horizontal
-
-
-
-
-
- True
-
tauschen
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
dahinter
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
davor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
-
Lücken beim Verschieben/Entfernen von Sendern schließen
-
-
-
-
-
-
-
-
-
Wenn aktiv, werden folgende Programmnummer automatisch vorgerückt
-
-
-
-
-
-
-
- True
-
Unsortierte Sender beim Speichern automatisch anhängen
-
-
-
-
-
-
-
-
-
71, 13
Einfügemodus:
-
-
-
-
-
-
-
- Horizontal
-
-
-
-
Keine Datei geladen
@@ -521,54 +333,12 @@
Programplatz für Einfügen und Festlegen
-
-
-
-
-
-
-
- True
-
-
- Default
-
-
- False
-
-
- True
-
-
- _
-
-
- True
-
-
- True
-
-
- False
-
-
-
-
-
- False
-
ChanSort {0} - Senderlisten-Editor für Samsung, LG und Toshiba TVs
Kindersicherung
-
- Horizontal
-
-
-
-
Filter entfernen
@@ -584,45 +354,6 @@
Sortierte Sender (.csv)
-
-
-
-
-
-
-
- Default
-
-
- Top, Left
-
-
-
-
-
- Tile
-
-
- Inherit
-
-
- Center
-
-
-
-
-
- None
-
-
-
-
-
- Horizontal
-
-
-
-
Alte Pr#
@@ -644,27 +375,6 @@
Favoriten
-
- Default
-
-
- False
-
-
- True
-
-
- _
-
-
- True
-
-
- True
-
-
- False
-
Ge- sperrt
@@ -713,12 +423,6 @@
Sender aus sortierter Liste entfernen
-
- Horizontal
-
-
-
-
Filter entfernen
diff --git a/ChanSort/MainForm.resx b/ChanSort/MainForm.resx
index 9b25f5f..d8ad422 100644
--- a/ChanSort/MainForm.resx
+++ b/ChanSort/MainForm.resx
@@ -117,405 +117,318 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- lblHotkeyLeft
-
-
-
-
-
-
- 5
-
-
- 17
-
-
- miFavUnset
-
-
- 2
-
-
- Program number for insert and set operations
-
-
- $this
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- colNetworkName
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
-
-
- DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miEnglish
-
-
- miRemove
-
-
- DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Symbol rate
-
-
- True
-
-
- defaultLookAndFeel1
+
+ Fill
-
- 66, 20
+
+ 0, 109
-
- 382, 417
+
+ 361, 17
+
+
+ Fill
-
- True
-
-
- 0
-
-
- colName
-
-
- X
-
-
- 0, 0
-
-
- miFavSet
-
-
- miEraseDuplicateChannels
-
-
-
-
-
- Bottom
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
-
-
- btnAddAll
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
+
+ 2, 54
Pr. index
-
- 0, 568
+
+ Service Type
-
- panelControl3
-
-
+
+
True
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
- LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
- ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
- bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
- X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
- ZMgcwAEL
-
+
+ 0
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ 45
-
- miTvSettings
+
+ New Pr#
-
-
+
+ New program number
-
-
+
+ True
-
+
1
-
- 8
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 169, 24
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 63, 5
-
-
- miSkipOff
-
-
- &English
-
-
- Right
-
-
- Alle &Zeichensätze...
-
-
- bar1
-
-
- &Language
-
-
- gridRight
-
50
-
- 182, 5
+
+ Channel name
-
- colServiceId
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0, 109
-
-
- barDockControlTop
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
- None
-
-
-
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miMoveDown
-
-
- colNetworkOperator
-
-
- &Skip channel: on
-
-
- 0
-
-
- colServiceTypeName
-
-
- colIndex
-
-
- 4
-
-
- System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
True
-
- $this
+
+ 2
-
- DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ 158
Favorites
-
- Erase all channel data
+
+ False
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ Combo
-
- 1474, 0
-
-
+
-
- Sor&t channels alphabetically
-
-
- True
-
-
- after
-
-
+
RegEx
-
- Horizontal
+
+ True
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ 3
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 19
-
-
- 4
-
-
- &Lock channel: on
-
-
- Order
-
-
- System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 311, 25
-
-
- Locked
-
-
- Bottom, Left
-
-
- gviewRight
-
-
- miCharsetForm
-
-
- 0
-
-
- DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- globalImageCollection1
-
-
+
55
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- &Quit
-
-
- Tile
-
-
- 45
-
-
- miSave
-
-
- panelControl3
+
+ UID
Lock
-
- miQuit
+
+ Parental lock
-
- 8
+
+ True
-
- MainForm
+
+ 4
-
- 5
+
+ 35
+
+
+ 382, 417
+
+
+ 1
+
+
+ gridLeft
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpOutputList
+
+
+ 0
+
+
+ Bottom
+
+
+ 2, 471
+
+
+ 2, 2, 2, 2
+
+
+ 302, 17
+
+
+ 2
+
+
+ F3: Filter | F4: List | -: move up | +: move down | Del: remove
+
+
+ lblHotkeyLeft
+
+
+ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpOutputList
+
+
+ 1
+
+
+ 600, 17
+
+
+ True
+
+
+ 6, 13
+
+
+ 1474, 599
+
+
+ 5, 24
+
+
+ 475, 17
+
+
+ &File
+
+
+ &Open TV data file...
+
+
+ &Reload
+
+
+ Restore backup
+
+
+ File &information...
+
+
+ &Save
+
+
+ Save &as...
+
+
+ Import reference list...
+
+
+ &Quit
+
+
+ &Edit
+
+
+ &Add channels
+
+
+ &Remove channels
+
+
+ Rename channel
+
+
+ Sor&t channels alphabetically
+
+
+ Re&number channels
+
+
+ Add to &Favorites
+
+
+ Favoriten setzen
+
+
+ Remove from Favorites
+
+
+ Favoriten entfernen
+
+
+ &Lock channel: on
+
+
+ Lock channel: off
+
+
+ &Skip channel: on
+
+
+ Skip channel: off
+
+
+ &Hide channel: on
+
+
+ Hide channel: off
+
+
+ TV-Set
+
+
+ Device setting...
+
+
+ Erase all channel data
+
+
+ &Settings
+
+
+ &Language
+
+
+ &English
+
+
+ &Deutsch
+
+
+ &Character set
+
+
+ Alle &Zeichensätze...
ISO Zeichensätze
-
- Horizontal
+
+ Show warnings after loading file
-
- False
+
+ Load reference list automatically
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ Cleanup TV data file after loading
-
- swap
+
+ Automatically clean up TV data file after loading
-
- grpInputList
+
+ &Help
-
-
+
+ Wiki
-
- miGerman
+
+ ChanSort website...
-
- Transparent
+
+ &About ChanSort...
-
- Channel or transponder number
+
+ Tools
-
-
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
+ LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
+ bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
+ X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
+ Xxl+0wEL
+
@@ -527,636 +440,15 @@
KphCYAEL
-
- 35
-
-
-
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 3
-
-
- True
-
-
- DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Tahoma, 8.25pt, style=Strikeout
-
-
-
-
-
- &Settings
-
-
- True
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- _
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 207, 5
-
-
- grpTopPanel
-
-
- 62, 13
-
-
- 34, 5
-
-
- grpTopPanel
-
-
- 23, 23
-
-
-
-
-
- 66, 23
-
-
- True
-
-
- 40
-
-
- True
-
-
- 0, 568
-
-
- 23, 23
-
-
- 0, 54
-
-
- 1474, 78
-
-
- DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- F5: Filter | F6: List | Enter: add
-
-
- 0
-
-
- &Open TV data file...
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Default
-
-
- Old Pr#
-
-
- pnlEditControls
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Horizontal
-
-
- True
-
-
- 2
-
-
- 14
-
-
-
-
-
- 2, 21
-
-
- 8
-
-
- mnuFavSet
-
-
- colHidden
-
-
- 5, 5
-
-
- 0
-
-
- True
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- btnRemoveRight
-
-
- colIndex1
-
-
- 40
-
-
- 1079, 33
-
-
- True
-
-
- Move down
-
-
- colSignalSource
-
-
- colShortName
-
-
- colNetworkId
-
-
- Fill
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- 1
-
-
- DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 21
-
-
- colPolarity
-
-
- DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 2, 21
-
-
- miAddChannel
-
-
- miHideOff
-
-
- Crypt
-
-
- dsChannels
-
-
- 6, 13
-
-
- colTransportStreamId
-
-
- before
-
-
-
-
-
-
-
-
- ChanSort website...
-
-
- 4
-
-
- barManager1
-
-
- colLogicalIndex
-
-
- 04/28/2013 12:38:39
-
-
- Audio PID
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- colChannelOrTransponder
-
-
- DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 7
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- panelControl3
-
-
- Hide
-
-
- 1
-
-
- 1083, 490
-
-
- &Deutsch
-
-
- True
-
-
- 23, 23
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- No file loaded
-
-
-
-
-
- Save &as...
-
-
- DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- Default
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 5
-
-
- colSlotOld
-
-
- New Pr#
-
-
- False
-
-
- 121, 23
-
-
- 40
-
-
- grpOutputList
-
-
- 40
-
-
- ^
-
-
- grpTopPanel
-
-
- True
-
-
-
- Default
-
-
- Combo
-
-
- TV-Set
-
-
-
-
-
- Chan/ Transp
-
-
- DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- btnToggleFavB
-
-
-
-
-
- labelControl2
-
-
- 9
-
-
- Parental lock
-
-
- Tools
-
-
- False
-
-
- 10
-
-
- 57
-
-
- 132, 5
-
-
-
-
-
- miSort
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0
-
-
- Top
-
-
- False
-
-
- Default
-
-
- 98, 5
-
-
- colOutFav
-
-
- 66, 23
-
-
- False
-
-
- 80, 13
-
-
- $this
-
-
- btnRemoveLeft
-
-
- grpOutputList
-
-
- DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 4
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 2, 471
-
-
- New program number
-
-
-
-
-
- 2
-
-
- colSatellite
-
-
- 12
-
-
- colVideoPid
-
-
- True
-
-
- False
-
-
- 0
-
-
- mnuFavUnset
-
-
- True
-
-
- Reset filter
-
-
- Top
-
-
- 16
-
-
- Top, Left
-
-
- miFileInformation
-
-
- 12
-
-
- 6
-
-
- 7
-
-
- Rename channel
-
-
- miWiki
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
-
-
- 23, 23
-
-
- Channel name
-
-
- 40
-
-
- 1-999
-
-
- 157, 5
-
-
- Service ID
-
-
- miRenameChannel
-
-
- Reset filter
-
-
- DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- btnClearLeftFilter
-
-
- 71, 5
-
-
- grpTopPanel
-
-
- 6
-
-
- 50
-
-
- 34, 5
-
-
- Lock channel: off
-
-
- &About ChanSort...
-
-
- 1
-
-
- colEncrypted
-
-
- 1
-
-
- 23, 23
-
-
- 1474, 599
-
-
- $this
-
-
- Append all currently unsorted channels at the end of the list
-
-
- 5
-
-
- Close gap when moving/deleting a channel
-
-
- 9
-
-
- Skip
-
-
- Tile
-
-
- 45
-
-
- 15
-
-
- pnlEditControls
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
+ LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
+ bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
+ X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
+ ZMgcwAEL
+
@@ -1168,1439 +460,1865 @@
WIeWYGkVXQEL
-
- Filter
-
-
- 23, 23
-
-
-
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Uid
-
-
- 311, 4
-
-
- True
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0
-
-
- Short name
-
-
- panelControl3
-
-
- 2
-
-
-
-
-
- 40
-
-
- 40
-
-
- pnlEditControls
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 322, 19
-
-
- 0
-
-
- &Remove channels
-
-
- 18
-
-
- 2
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Horizontal
-
-
- ±C
-
-
- 88, 5
-
-
- When loading a file which contains duplicate channels, delete those duplicates
-
-
- &File
-
-
- colOutSlot
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Bottom
-
-
- 5, 24
-
-
- _
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 5
-
-
- 23, 23
-
-
- ±B
-
-
- Vertical
-
-
- grpTopPanel
-
-
- DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- 3
-
-
- 2
-
-
- grpInputList
-
-
- miSaveAs
-
-
- btnDown
-
-
- 23, 23
-
-
- 40
-
-
- 2, 54
-
-
- ChanSort {0} - Channel List Editor for Samsung, LG and Toshiba TVs
-
-
- 302, 17
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 6
-
-
- UID
-
-
- True
-
-
- True
-
-
- labelControl11
-
-
- 0
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- rbInsertSwap
-
-
- $this
-
-
- miMoveUp
-
-
- Tahoma, 8.25pt, style=Strikeout
-
-
- True
-
-
- pageEmpty
-
-
- grpTopPanel
-
-
- &Hide channel: on
-
-
- 10
-
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy
- LjIuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
- ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
- bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
- X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
- Xxl+0wEL
-
-
-
- True
-
-
-
-
-
- btnToggleFavC
-
-
- DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 23, 23
-
-
- colAudioPid
-
-
- Favoriten setzen
-
-
- Fill
-
-
- 158
-
-
- 2, 2, 2, 2
-
-
- True
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- miShowWarningsAfterLoad
-
-
- 45
-
-
- DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 6
-
-
-
-
-
- 4
-
-
- True
-
-
- Old program number
-
-
- Insert mode:
-
-
- Service Type
-
-
- X
-
-
- 45
-
-
- 2
-
-
- 3
-
-
- Horizontal
-
-
- Device setting...
-
-
- 1
-
-
- pnlEditControls
-
-
- True
-
-
- Encrypted
-
-
- cbCloseGap
-
-
- miRestoreOriginal
-
-
- 0
-
-
- 6
-
-
- DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- tabChannelList
-
-
- barDockControlBottom
-
-
- rbInsertAfter
-
-
- 5
-
-
- miReload
-
-
- splitContainerControl1.Panel2
-
-
- $this
-
-
- barSubItem1
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 5, 5
-
-
- ±A
-
-
- True
-
-
- Horizontal
-
-
- True
-
-
- Channel name
-
-
- 1
-
-
- grpTopPanel
-
-
- Add to &Favorites
-
-
- Re&number channels
-
-
- 23, 23
-
-
- 1474, 490
-
-
- True
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- tabChannelList
-
-
- DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
-
-
- panelControl3
-
-
- 100
-
-
- pnlEditControls
-
-
- 232, 5
-
-
- DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- cbAppendUnsortedChannels
-
-
- pnlEditControls
-
-
- Move selected channels up
-
-
- 23, 23
-
-
- Satellite
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 7
-
-
- Pr. index
-
-
- Remove selected channels
-
-
- v
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miIsoCharSets
-
-
- True
-
-
- 40
-
-
- gviewLeft
-
-
- RegEx
-
-
- colOutLock
-
-
- Panel2
-
-
-
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
- False
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- grpTopPanel
-
-
- repositoryItemCheckedComboBoxEdit2
-
-
- barDockControlLeft
-
-
- Network Operator
-
-
- 169, 8
-
-
- 0
-
-
-
-
-
- DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Erase duplicate channels
-
-
- ±E
-
-
- 55
-
-
-
-
-
-
-
-
- btnToggleLock
-
-
- picDonate
-
-
- 638, 22
-
-
- Show warnings after loading file
-
-
- Filter
-
-
- _
-
-
- colUid
-
-
- ±D
-
-
- DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Auto-append unsorted channels when saving file
-
-
- barSubItem2
-
-
- &Help
-
-
- 2, 2, 2, 2
-
-
- 2
-
-
-
-
-
-
-
-
- 15
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- btnToggleFavE
-
-
-
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 8
-
-
- DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 2
-
-
- 386, 490
-
-
-
-
-
- DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Left
-
-
- btnToggleFavA
-
-
- DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- groupControl1
-
-
- grpInputList
-
-
- 632, 0
-
-
- OK
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- \d{1,4}
-
-
- colLock
-
-
- btnRenum
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 9
-
-
- Panel1
-
-
- 1
-
-
-
-
-
- Top, Left
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- Fill
-
-
-
-
-
- Inherit
-
-
- Wiki
-
-
- 166, 54
-
-
- splashScreenManager1
-
-
- gridLeft
-
-
- New program number
-
-
- 295, 4
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- colFreqInMhz
-
-
-
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Signal source
-
-
- mnuCharset
-
-
- 75, 19
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 11
-
-
- 0
-
-
- 14
-
-
- miLockOn
-
-
- pnlEditControls
-
-
- DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0, 599
-
-
- barDockControlRight
-
-
- True
-
-
- Skip channel: off
-
-
- Polarity
-
-
- Horizontal
-
-
- 45
-
-
- pnlEditControls
-
-
- DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0
-
-
- Renumber selected channels
-
-
- &Character set
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Favorites
-
-
- 16, 16
-
-
- Favoriten entfernen
-
-
- 77, 19
-
-
- grpTopPanel
-
-
-
-
-
- Video PID
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 2, 54
-
-
- miEraseChannelData
-
-
- 382, 33
-
-
- 198, 5
-
-
- 1474, 31
-
-
- 13
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- colServiceType
-
-
- Center
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miFile
-
-
- Horizontal
-
-
- File &information...
-
-
- 23, 23
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.PopupMenu, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- <<
-
-
-
-
-
- 75, 19
-
-
- DevExpress.XtraBars.Bar, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 1079, 417
-
-
+
Top
-
- repositoryItemCheckedComboBoxEdit1
-
-
- 13
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- When active, all channels after the current one will be automatically renumbered
-
-
- 153, 17
-
-
- 0, 0
-
-
- 7
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 180
-
-
- 3
-
-
- txtSetSlot
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 45
-
-
- 6
-
-
- miSkipOn
-
-
- grpOutputList
-
-
- miLockOff
-
-
- 45
-
-
- 5
-
-
- miOpenReferenceFile
-
-
- 20
-
-
- colSlotNew
-
-
- DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miAbout
-
-
- Move up
-
-
- 1296, 8
-
-
- 120
-
-
- 3
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 0, 31
-
-
- colOutServiceType
-
-
- Fill
-
-
-
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 5
-
-
- RegEx
-
-
- True
-
-
- Bottom
-
-
- btnToggleFavD
-
-
- rbInsertBefore
-
-
- Set Pr#:
-
-
- Inherit
-
-
-
-
-
- pnlEditControls
-
0, 0
-
- 8
-
-
- True
-
-
- Import reference list...
-
-
- False
-
-
-
-
-
- New Pr#
-
-
- miRenum
-
-
- Move selected channels down
-
-
- 11
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- &Edit
-
-
- 10
-
-
- mnuOptions
-
1474, 31
-
- Restore backup
+
+ barDockControlTop
-
- grpInputList
+
+ DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- Sorted channels (.csv)
+
+ $this
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ 5
-
- DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ Bottom
-
- Fill
+
+ 0, 599
-
- 9
+
+ 1474, 0
-
-
+
+ barDockControlBottom
-
- grpTopPanel
+
+ DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miOpen
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Top
-
-
- 0
-
-
- Center
-
-
- 0
-
-
- 2, 471
-
-
- pnlEditControls
-
-
- Service Typ
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miHideOn
-
-
- 1
-
-
- splitContainerControl1.Panel1
-
-
- grpOutputList
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Far
-
-
- btnUp
-
-
- DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- colUid1
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- 2
-
-
- 3
-
-
- Top, Right
-
-
- mnuHelp
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Netzwerk (ONID)
-
-
- timerEditDelay
-
-
- Horizontal
-
-
- colDebug
-
-
- << Add all
-
-
- &Save
-
-
-
-
-
- mnuContext
-
-
- miOpenWebsite
-
-
- All channels
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Add selected channels to sorted list
-
-
- grpTopPanel
-
-
- True
-
-
- Transport Stream ID
-
-
- 7, 8
-
-
- True
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- miEdit
-
-
-
-
-
- TS ID
-
-
- splitContainerControl1
-
-
- F3: Filter | F4: List | -: move up | +: move down | Del: remove
-
-
- Default
-
-
- colSkip
-
-
- Combo
-
-
- True
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Hide channel: off
-
-
- &Reload
-
-
- 2
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- True
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- Freqency (MHz)
-
-
- 10
-
-
- 1
-
-
- &Add channels
-
-
- 257, 5
-
-
- DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- btnAdd
-
-
- Network Name
-
-
-
-
-
- 1
-
-
- None
-
-
- 2
-
-
-
+
+ $this
4
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ Left
-
- 322, 19
+
+ 0, 31
-
- True
+
+ 0, 568
-
- CenterScreen
+
+ barDockControlLeft
-
-
+
+ DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- Remove selected channels from sorted list
+
+ $this
-
+
+ 2
+
+
+ Right
+
+
+ 1474, 31
+
+
+ 0, 568
+
+
+ barDockControlRight
+
+
+ DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ $this
+
+
+ 3
+
+
+ Move up
+
+
+ Move down
+
+
+ Cleanup channel data
+
+
+ Remove duplicate channels and reorganize
+
+
+ swap
+
+
+
+ Far
+
+
+ 77, 19
+
+
+ 10
+
+
+ rbInsertSwap
+
+
+ DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
0
-
- colFavorites
-
-
- 9
-
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- False
-
-
- DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
-
- colOutName
-
-
- btnClearRightFilter
-
-
+
True
88, 24
-
- pnlEditControls
+
+ after
-
- DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ 75, 19
-
- Horizontal
+
+ 9
-
+
+ rbInsertAfter
+
+
+ DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 1
+
+
+ 88, 5
+
+
+ before
+
+
+ 75, 19
+
+
+ 8
+
+
+ rbInsertBefore
+
+
+ DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
2
-
- pnlEditControls
+
+ True
-
- lblHotkeyRight
+
+ 311, 25
-
+
+ Close gap when moving/deleting a channel
+
+
+ 322, 19
+
+
+ 7
+
+
+ When active, all channels after the current one will be automatically renumbered
+
+
+ cbCloseGap
+
+
+ DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 3
+
+
+ True
+
+
+ 311, 4
+
+
+ Auto-append unsorted channels when saving file
+
+
+ 322, 19
+
+
+ 6
+
+
+ cbAppendUnsortedChannels
+
+
+ DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 4
+
+
+ 7, 8
+
+
+ 62, 13
+
+
+ 2
+
+
+ Insert mode:
+
+
+ labelControl2
+
+
+ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 5
+
+
+ Top, Right
+
+
+ 1296, 8
+
+
+ Transparent
+
+
+ 166, 54
+
+
+ 0
+
+
+ picDonate
+
+
+ DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 6
+
+
+ Bottom, Left
+
+
+ 0, 54
+
+
+ 632, 0
+
+
+ No file loaded
+
+
+ pageEmpty
+
+
+ DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ tabChannelList
+
+
+ 0
+
+
+ 638, 22
+
+
+ 5
+
+
+ tabChannelList
+
+
+ DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 7
+
+
+ Vertical
+
+
+ 169, 8
+
+
+ 80, 13
+
+
+ 0
+
+
+ Set Pr#:
+
+
+ Program number for insert and set operations
+
+
+ labelControl11
+
+
+ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 8
+
+
+ 169, 24
+
+
+ OK
+
+
+ \d{1,4}
+
+
+ RegEx
+
+
+ 66, 20
+
+
+ 1
+
+
+ txtSetSlot
+
+
+ DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpTopPanel
+
+
+ 9
+
+
+ Top
+
+
0, 31
-
- Remove from Favorites
+
+ 1474, 78
-
- splitContainerControl1
+
+ 0
+
+
+ groupControl1
+
+
+ grpTopPanel
+
+
+ DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ $this
+
+
+ 1
+
+
+ CenterScreen
+
+
+ ChanSort {0} - Channel List Editor for Samsung, LG and Toshiba TVs
+
+
+ dsChannels
+
+
+ System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ gviewLeft
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colIndex1
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colOutServiceType
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colOutSlot
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colOutName
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colOutFav
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ repositoryItemCheckedComboBoxEdit1
+
+
+ DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colUid1
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colOutLock
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ globalImageCollection1
+
+
+ ChanSort.Ui.GlobalImageCollection, ChanSort, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ gviewRight
+
+
+ DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colIndex
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colSlotOld
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colSlotNew
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colName
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colShortName
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colFavorites
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ repositoryItemCheckedComboBoxEdit2
+
+
+ DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colLock
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colSkip
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colHidden
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colEncrypted
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colChannelOrTransponder
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colFreqInMhz
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colServiceId
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colVideoPid
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colAudioPid
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colServiceType
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colServiceTypeName
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colSatellite
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colNetworkId
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colTransportStreamId
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
colSymbolRate
-
- 600, 17
-
-
- de
-
-
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colPolarity
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colUid
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colNetworkName
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colNetworkOperator
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colDebug
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colLogicalIndex
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ colSignalSource
+
+
+ DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ barManager1
+
+
+ DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ bar1
+
+
+ DevExpress.XtraBars.Bar, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miFile
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miOpen
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miReload
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miRestoreOriginal
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miFileInformation
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miSave
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miSaveAs
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miOpenReferenceFile
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miQuit
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miEdit
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miAddChannel
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miRemove
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miRenameChannel
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miSort
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miRenum
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ mnuFavSet
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miFavSet
+
+
+ DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ mnuFavUnset
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miFavUnset
+
+
+ DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miLockOn
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miLockOff
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miSkipOn
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miSkipOff
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miHideOn
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miHideOff
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ barSubItem2
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miTvSettings
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miEraseChannelData
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ mnuOptions
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ barSubItem1
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miEnglish
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miGerman
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ mnuCharset
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miCharsetForm
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miIsoCharSets
+
+
+ DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miShowWarningsAfterLoad
+
+
+ DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miAutoLoadRefList
+
+
+ DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miEraseDuplicateChannels
+
+
+ DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ mnuHelp
+
+
+ DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miWiki
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miOpenWebsite
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miAbout
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miMoveUp
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miMoveDown
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ miCleanupChannels
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ defaultLookAndFeel1
+
+
+ DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ splashScreenManager1
+
+
+ DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ mnuContext
+
+
+ DevExpress.XtraBars.PopupMenu, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ timerEditDelay
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ MainForm
+
+
+ DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ 04/29/2013 00:24:15
+
+
+ 16, 16
+
+
+ 257, 5
+
+
+ 23, 23
+
+
+ 15
+
+
+ btnToggleLock
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 0
+
+
+ 232, 5
+
+
+ 23, 23
+
+
+ 14
+
+
+ ±E
+
+
+ btnToggleFavE
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 1
+
+
+ 207, 5
+
+
+ 23, 23
+
+
+ 13
+
+
+ ±D
+
+
+ btnToggleFavD
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 2
+
+
+ 182, 5
+
+
+ 23, 23
+
+
+ 12
+
+
+ ±C
+
+
+ btnToggleFavC
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 3
+
+
+ 157, 5
+
+
+ 23, 23
+
+
+ 11
+
+
+ ±B
+
+
+ btnToggleFavB
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 4
+
+
+ 132, 5
+
+
+ 23, 23
+
+
+ 10
+
+
+ ±A
+
+
+ btnToggleFavA
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 5
+
+
+ Tahoma, 8.25pt, style=Strikeout
+
+
+ 295, 4
+
+
+ 66, 23
+
+
+ 9
+
+
+ Filter
+
+
+ Reset filter
+
+
+ btnClearLeftFilter
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 6
+
+
+ 98, 5
+
+
+ 23, 23
+
+
+ 8
+
+
+ 1-999
+
+
+ Renumber selected channels
+
+
+ btnRenum
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 7
+
+
+ 34, 5
+
+
+ 23, 23
+
+
+ 6
+
+
+ v
+
+
+ Move selected channels down
+
+
+ btnDown
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 8
+
+
+ 5, 5
+
+
+ 23, 23
+
+
+ 5
+
+
+ ^
+
+
+ Move selected channels up
+
+
+ btnUp
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 9
+
+
+ 63, 5
+
+
+ 23, 23
+
+
+ 2
+
+
+ X
+
+
+ Remove selected channels
+
+
+ btnRemoveLeft
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ pnlEditControls
+
+
+ 10
+
+
+ Top
+
+
+ 2, 21
+
+
+ 382, 33
+
+
+ 0
+
+
+ pnlEditControls
+
+
+ DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpOutputList
+
+
+ 2
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 386, 490
+
+
+ 0
+
+
+ Sorted channels (.csv)
+
+
+ grpOutputList
+
+
+ DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ splitContainerControl1.Panel1
+
+
+ 0
+
+
+ Panel1
+
+
+ Fill
+
+
+ 2, 54
+
+
+ Pr. index
+
+
+ Old Pr#
+
+
+ Old program number
+
+
True
+
+
+ 0
+
+
+ 50
+
+
+ New Pr#
+
+
+ New program number
+
+
+ True
+
+
+ 1
+
+
+ 45
+
+
+ Channel name
+
+
+ True
+
+
+ 2
+
+
+ 180
+
+
+ Short name
+
+
+ True
+
+
+ 3
+
+
+ Favorites
+
+
+ False
+
+
+ Combo
+
+
+
+
+
+ RegEx
+
+
+ True
+
+
+ 4
+
+
+ 55
+
+
+ Locked
+
+
+ True
+
+
+ 5
+
+
+ 40
+
+
+ Skip
+
+
+ True
+
+
+ 6
+
+
+ 40
+
+
+ Hide
+
+
+ True
+
+
+ 7
+
+
+ 40
+
+
+ Crypt
+
+
+ Encrypted
+
+
+ True
+
+
+ 8
+
+
+ 40
+
+
+ Chan/ Transp
+
+
+ Channel or transponder number
+
+
+ True
+
+
+ 11
+
+
+ 45
+
+
+ Freqency (MHz)
+
+
+ True
+
+
+ 10
+
+
+ 57
+
+
+ Service ID
+
+
+ True
+
+
+ 12
+
+
+ 45
+
+
+ Video PID
+
+
+ True
+
+
+ 13
+
+
+ 40
+
+
+ Audio PID
+
+
+ True
+
+
+ 14
+
+
+ 40
+
+
+ Service Typ
+
+
+ True
+
+
+ 15
+
+
+ 45
+
+
+ True
+
+
+ 9
+
+
+ 45
+
+
+ Satellite
+
+
+ True
+
+
+ 16
+
+
+ 100
+
+
+ Netzwerk (ONID)
+
+
+ True
+
+
+ 17
+
+
+ 45
+
+
+ TS ID
+
+
+ Transport Stream ID
+
+
+ True
+
+
+ 18
+
+
+ 40
+
+
+ Symbol rate
+
+
+ True
+
+
+ 19
+
+
+ 40
+
+
+ Polarity
+
+
+ 40
+
+
+ Uid
+
+
+ 120
+
+
+ Network Name
+
+
+ True
+
+
+ 20
+
+
+ Network Operator
+
+
+ True
+
+
+ 21
+
+
+ Order
+
+
+ Signal source
+
+
+ 1079, 417
+
+
+ 1
+
+
+ gridRight
+
+
+ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpInputList
+
+
+ 0
+
+
+ Bottom
+
+
+ 2, 471
+
+
+ 2, 2, 2, 2
+
+
+ 153, 17
+
+
+ 2
+
+
+ F5: Filter | F6: List | Enter: add
+
+
+ lblHotkeyRight
+
+
+ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpInputList
+
+
+ 1
+
+
+ 34, 5
+
+
+ 23, 23
+
+
+ 6
+
+
+ X
+
+
+ Remove selected channels from sorted list
+
+
+ btnRemoveRight
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ panelControl3
+
+
+ 0
+
+
+ 71, 5
+
+
+ 121, 23
+
+
+ 5
+
+
+ << Add all
+
+
+ Append all currently unsorted channels at the end of the list
+
+
+ btnAddAll
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ panelControl3
+
+
+ 1
+
+
+ Tahoma, 8.25pt, style=Strikeout
+
+
+ 198, 5
+
+
+ 66, 23
+
+
+ 2
+
+
+ Filter
+
+
+ Reset filter
+
+
+ btnClearRightFilter
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ panelControl3
+
+
+ 2
+
+
+ 5, 5
+
+
+ 23, 23
+
+
+ 4
+
+
+ <<
+
+
+ Add selected channels to sorted list
+
+
+ btnAdd
+
+
+ DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ panelControl3
+
+
+ 3
+
+
+ Top
+
+
+ 2, 21
+
+
+ 1079, 33
+
+
+ 0
+
+
+ panelControl3
+
+
+ DevExpress.XtraEditors.PanelControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ grpInputList
+
+
+ 2
+
+
+ Fill
+
+
+ 0, 0
+
+
+ 1083, 490
+
+
+ 0
+
+
+ All channels
+
+
+ grpInputList
+
+
+ DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ splitContainerControl1.Panel2
+
+
+ 0
+
+
+ Panel2
+
+
+ 1474, 490
+
+
+ 5
+
+
+ splitContainerControl1
+
+
+ splitContainerControl1
+
+
+ DevExpress.XtraEditors.SplitContainerControl, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ $this
+
+
+ 0
+
+
+ 194, 17
781, 17
-
- 194, 17
-
-
- 361, 17
-
900, 17
-
- 475, 17
-
\ No newline at end of file
diff --git a/ChanSort/Properties/Settings.Designer.cs b/ChanSort/Properties/Settings.Designer.cs
index 6e5ea07..d24c3ae 100644
--- a/ChanSort/Properties/Settings.Designer.cs
+++ b/ChanSort/Properties/Settings.Designer.cs
@@ -286,5 +286,41 @@ namespace ChanSort.Ui.Properties {
this["EraseDuplicateChannels"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool AutoLoadRefList {
+ get {
+ return ((bool)(this["AutoLoadRefList"]));
+ }
+ set {
+ this["AutoLoadRefList"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool AutoAppendUnsortedChannels {
+ get {
+ return ((bool)(this["AutoAppendUnsortedChannels"]));
+ }
+ set {
+ this["AutoAppendUnsortedChannels"] = value;
+ }
+ }
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool CloseGaps {
+ get {
+ return ((bool)(this["CloseGaps"]));
+ }
+ set {
+ this["CloseGaps"] = value;
+ }
+ }
}
}
diff --git a/ChanSort/Properties/Settings.settings b/ChanSort/Properties/Settings.settings
index 8c163de..61dddc6 100644
--- a/ChanSort/Properties/Settings.settings
+++ b/ChanSort/Properties/Settings.settings
@@ -68,5 +68,14 @@
True
+
+ True
+
+
+ True
+
+
+ True
+
\ No newline at end of file
diff --git a/ChanSort/app.config b/ChanSort/app.config
index 3df2653..2c025b9 100644
--- a/ChanSort/app.config
+++ b/ChanSort/app.config
@@ -74,6 +74,15 @@
True
+
+ True
+
+
+ True
+
+
+ True
+
diff --git a/readme.txt b/readme.txt
index 88646a1..2426b5a 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,11 +1,14 @@
-Version v2013-04-28 =======================================================
+Version v2013-04-29a ======================================================
Changes:
- Added support for LG's 2013 LA-series DVB-S channel lists.
Due to a lack of test files containing analog or DVB-C/T channels, these
lists are not supported yet. If you have a TLL file with such channels
please send it to horst@beham.biz.
-- Improved clean-up of LG channel lists with duplicate channels
+- Improved clean-up of LG channel lists. This should solve problems with
+ program numbers changing randomly or inability to change them at all.
+- Fixed: Program number and channel name can be edited again by directly
+ typing the number or name on the keyboard.
- Fixed: Sorting and column layout is now preserved when switching lists
The complete change log can be found at the end of this document
@@ -104,8 +107,16 @@ OTHER DEALINGS IN THE SOFTWARE.
Change log ================================================================
-2013-04-27
-- Added support for LG's 2013 LA-series (DVB-S only)
+2013-04-29a (inofficial alpha)
+- Added support for LG's 2013 LA-series DVB-S channel lists.
+ Due to a lack of test files containing analog or DVB-C/T channels, these
+ lists are not supported yet. If you have a TLL file with such channels
+ please send it to horst@beham.biz.
+- Improved clean-up of LG channel lists. This should solve problems with
+ program numbers changing randomly or inability to change them at all.
+- Fixed: Program number and channel name can be edited again by directly
+ typing the number or name on the keyboard.
+- Fixed: Sorting and column layout is now preserved when switching lists
2013-04-21
- Fix: Encryption flag for Samsung analog and DVB-C/T lists now shown