- rewrote LG data file cleanup. Now it complete rewrites the DVB-S channel information

- fixed opening editor when typing on keyboard
- persisting more user settings
This commit is contained in:
hbeham
2013-04-29 00:35:40 +02:00
parent a2ae5583ff
commit 5ca4a7c225
18 changed files with 2530 additions and 2890 deletions

View File

@@ -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 ""; }
}
}

View File

@@ -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
}
}

View File

@@ -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; }

View File

@@ -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;
}
}
}

View File

@@ -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

View File

@@ -42,6 +42,14 @@
this.dvbsBlockTotalLength += len + 4;
}
/// <summary>
/// relative to start of DVBS-Block (including the intial 4 length bytes)
/// </summary>
public int TransponderTableOffset
{
get { return 4 + 4 + dvbsSubblockLength[0] + 4 + dvbsSubblockLength[1] + sizeOfTransponderBlockHeader; }
}
/// <summary>
/// relative to start of DVBS-Block (including the intial 4 length bytes)
/// </summary>
@@ -68,5 +76,6 @@
get { return SequenceTableOffset + dvbsMaxChannelCount*sizeOfChannelLinkedListEntry; }
}
}
}

View File

@@ -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;

View File

@@ -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

View File

@@ -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)
{

View File

@@ -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<string>
{
"___ (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<satConfig.transponderCount; i++)
{
mapping.SetDataPtr(this.fileContent, off + i*satConfig.transponderLength);
var data = new SatTransponder(mapping);
if (data.SatIndex == 0xFF)
SatTransponder transponder = new SatTransponder(i, mapping, this.DataRoot);
if (transponder.Satellite == null)
continue;
#if SYMBOL_RATE_ROUNDING
ushort sr = (ushort)(data.SymbolRate & 0x7FFF);
if (sr % 100 >= 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<int, int>();
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)

View File

@@ -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;
}
}

View File

@@ -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)

View File

@@ -117,50 +117,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="gridLeft.EmbeddedNavigator.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gridLeft.EmbeddedNavigator.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<assembly alias="DevExpress.Data.v12.2" name="DevExpress.Data.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="gridLeft.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v12.2">
<value>Default</value>
</data>
<data name="gridLeft.EmbeddedNavigator.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
</data>
<data name="gridLeft.EmbeddedNavigator.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gridLeft.EmbeddedNavigator.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="gridLeft.EmbeddedNavigator.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
<assembly alias="DevExpress.XtraEditors.v12.2" name="DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="gridLeft.EmbeddedNavigator.TextLocation" type="DevExpress.XtraEditors.NavigatorButtonsTextLocation, DevExpress.XtraEditors.v12.2">
<value>Center</value>
</data>
<data name="gridLeft.EmbeddedNavigator.ToolTip" xml:space="preserve">
<value />
</data>
<assembly alias="DevExpress.Utils.v12.2" name="DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="gridLeft.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v12.2">
<value>None</value>
</data>
<data name="gridLeft.EmbeddedNavigator.ToolTipTitle" xml:space="preserve">
<value />
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="gviewLeft.Appearance.HeaderPanel.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="gviewLeft.Appearance.HeaderPanel.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="colOutSlot.Caption" xml:space="preserve">
<value>Neue Pr#</value>
</data>
@@ -173,34 +129,13 @@
<data name="colOutFav.Caption" xml:space="preserve">
<value>Favoriten</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit1.Mask.AutoComplete" type="DevExpress.XtraEditors.Mask.AutoCompleteType, DevExpress.XtraEditors.v12.2">
<value>Default</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="repositoryItemCheckedComboBoxEdit1.Mask.BeepOnError" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit1.Mask.IgnoreMaskBlank" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit1.Mask.PlaceHolder" type="System.Char, mscorlib" xml:space="preserve">
<value>_</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit1.Mask.SaveLiteral" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit1.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit1.Mask.UseMaskAsDisplayFormat" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="colOutLock.Caption" xml:space="preserve">
<value>Ge- sperrt</value>
</data>
<data name="colOutLock.ToolTip" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblHotkeyLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>333, 17</value>
</data>
@@ -294,11 +229,20 @@
<data name="mnuCharset.Caption" xml:space="preserve">
<value>&amp;Zeichensatz</value>
</data>
<data name="miEraseDuplicateChannels.Caption" xml:space="preserve">
<value>Mehrfach vorhandene Sender löschen</value>
</data>
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
<value>Warnungen nach dem Laden einer Datei anzeigen</value>
<value>Warnungen beim Laden anzeigen</value>
</data>
<data name="miShowWarningsAfterLoad.Hint" xml:space="preserve">
<value>Eventuelle Warnungen nach dem Laden einer TV-Datei automatisch anzeigen</value>
</data>
<data name="miAutoLoadRefList.Caption" xml:space="preserve">
<value>Referenzliste automatisch laden</value>
</data>
<data name="miEraseDuplicateChannels.Caption" xml:space="preserve">
<value>TV-Datei automatisch bereinigen</value>
</data>
<data name="miEraseDuplicateChannels.Hint" xml:space="preserve">
<value>Nicht verwendete Senderdaten beim Laden der Datei automatisch entfernen</value>
</data>
<data name="mnuHelp.Caption" xml:space="preserve">
<value>&amp;Hilfe</value>
@@ -350,168 +294,36 @@
WIeWYGkVXQEL
</value>
</data>
<data name="barDockControlTop.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="barDockControlTop.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="barDockControlBottom.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="barDockControlBottom.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="barDockControlLeft.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="barDockControlLeft.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="barDockControlRight.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="barDockControlRight.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="miMoveUp.Caption" xml:space="preserve">
<value>Nach oben</value>
</data>
<data name="miMoveDown.Caption" xml:space="preserve">
<value>Nach unten</value>
</data>
<data name="rbInsertSwap.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertSwap.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertSwap.Properties.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="rbInsertSwap.Properties.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertSwap.Properties.AutoHeight" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
<value>tauschen</value>
</data>
<data name="rbInsertSwap.Properties.DisplayValueChecked" xml:space="preserve">
<value />
</data>
<data name="rbInsertSwap.Properties.DisplayValueGrayed" xml:space="preserve">
<value />
</data>
<data name="rbInsertSwap.Properties.DisplayValueUnchecked" xml:space="preserve">
<value />
</data>
<data name="rbInsertAfter.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertAfter.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertAfter.Properties.AutoHeight" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
<value>dahinter</value>
</data>
<data name="rbInsertAfter.Properties.DisplayValueChecked" xml:space="preserve">
<value />
</data>
<data name="rbInsertAfter.Properties.DisplayValueGrayed" xml:space="preserve">
<value />
</data>
<data name="rbInsertAfter.Properties.DisplayValueUnchecked" xml:space="preserve">
<value />
</data>
<data name="rbInsertBefore.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertBefore.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="rbInsertBefore.Properties.AutoHeight" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
<value>davor</value>
</data>
<data name="rbInsertBefore.Properties.DisplayValueChecked" xml:space="preserve">
<value />
</data>
<data name="rbInsertBefore.Properties.DisplayValueGrayed" xml:space="preserve">
<value />
</data>
<data name="rbInsertBefore.Properties.DisplayValueUnchecked" xml:space="preserve">
<value />
</data>
<data name="cbCloseGap.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="cbCloseGap.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="cbCloseGap.Properties.AutoHeight" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
<value>Lücken beim Verschieben/Entfernen von Sendern schließen</value>
</data>
<data name="cbCloseGap.Properties.DisplayValueChecked" xml:space="preserve">
<value />
</data>
<data name="cbCloseGap.Properties.DisplayValueGrayed" xml:space="preserve">
<value />
</data>
<data name="cbCloseGap.Properties.DisplayValueUnchecked" xml:space="preserve">
<value />
</data>
<data name="cbCloseGap.ToolTip" xml:space="preserve">
<value>Wenn aktiv, werden folgende Programmnummer automatisch vorgerückt</value>
</data>
<data name="cbAppendUnsortedChannels.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="cbAppendUnsortedChannels.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="cbAppendUnsortedChannels.Properties.AutoHeight" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbAppendUnsortedChannels.Properties.Caption" xml:space="preserve">
<value>Unsortierte Sender beim Speichern automatisch anhängen</value>
</data>
<data name="cbAppendUnsortedChannels.Properties.DisplayValueChecked" xml:space="preserve">
<value />
</data>
<data name="cbAppendUnsortedChannels.Properties.DisplayValueGrayed" xml:space="preserve">
<value />
</data>
<data name="cbAppendUnsortedChannels.Properties.DisplayValueUnchecked" xml:space="preserve">
<value />
</data>
<data name="labelControl2.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 13</value>
</data>
<data name="labelControl2.Text" xml:space="preserve">
<value>Einfügemodus:</value>
</data>
<data name="picDonate.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="picDonate.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="picDonate.Properties.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="picDonate.Properties.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="pageEmpty.Text" xml:space="preserve">
<value>Keine Datei geladen</value>
</data>
@@ -521,54 +333,12 @@
<data name="labelControl11.ToolTip" xml:space="preserve">
<value>Programplatz für Einfügen und Festlegen</value>
</data>
<data name="txtSetSlot.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="txtSetSlot.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="txtSetSlot.Properties.AutoHeight" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtSetSlot.Properties.Mask.AutoComplete" type="DevExpress.XtraEditors.Mask.AutoCompleteType, DevExpress.XtraEditors.v12.2">
<value>Default</value>
</data>
<data name="txtSetSlot.Properties.Mask.BeepOnError" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="txtSetSlot.Properties.Mask.IgnoreMaskBlank" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtSetSlot.Properties.Mask.PlaceHolder" type="System.Char, mscorlib" xml:space="preserve">
<value>_</value>
</data>
<data name="txtSetSlot.Properties.Mask.SaveLiteral" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtSetSlot.Properties.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtSetSlot.Properties.Mask.UseMaskAsDisplayFormat" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="txtSetSlot.Properties.NullValuePrompt" xml:space="preserve">
<value />
</data>
<data name="txtSetSlot.Properties.NullValuePromptShowForEmptyValue" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ChanSort {0} - Senderlisten-Editor für Samsung, LG und Toshiba TVs</value>
</data>
<data name="btnToggleLock.Text" xml:space="preserve">
<value>Kindersicherung</value>
</data>
<data name="btnClearLeftFilter.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="btnClearLeftFilter.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
<value>Filter entfernen</value>
</data>
@@ -584,45 +354,6 @@
<data name="grpOutputList.Text" xml:space="preserve">
<value>Sortierte Sender (.csv)</value>
</data>
<data name="gridRight.EmbeddedNavigator.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gridRight.EmbeddedNavigator.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gridRight.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v12.2">
<value>Default</value>
</data>
<data name="gridRight.EmbeddedNavigator.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left</value>
</data>
<data name="gridRight.EmbeddedNavigator.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="gridRight.EmbeddedNavigator.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Tile</value>
</data>
<data name="gridRight.EmbeddedNavigator.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Inherit</value>
</data>
<data name="gridRight.EmbeddedNavigator.TextLocation" type="DevExpress.XtraEditors.NavigatorButtonsTextLocation, DevExpress.XtraEditors.v12.2">
<value>Center</value>
</data>
<data name="gridRight.EmbeddedNavigator.ToolTip" xml:space="preserve">
<value />
</data>
<data name="gridRight.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v12.2">
<value>None</value>
</data>
<data name="gridRight.EmbeddedNavigator.ToolTipTitle" xml:space="preserve">
<value />
</data>
<data name="gviewRight.Appearance.HeaderPanel.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="gviewRight.Appearance.HeaderPanel.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="colSlotOld.Caption" xml:space="preserve">
<value>Alte Pr#</value>
</data>
@@ -644,27 +375,6 @@
<data name="colFavorites.Caption" xml:space="preserve">
<value>Favoriten</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.AutoComplete" type="DevExpress.XtraEditors.Mask.AutoCompleteType, DevExpress.XtraEditors.v12.2">
<value>Default</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.BeepOnError" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.IgnoreMaskBlank" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.PlaceHolder" type="System.Char, mscorlib" xml:space="preserve">
<value>_</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.SaveLiteral" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="repositoryItemCheckedComboBoxEdit2.Mask.UseMaskAsDisplayFormat" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="colLock.Caption" xml:space="preserve">
<value>Ge- sperrt</value>
</data>
@@ -713,12 +423,6 @@
<data name="btnRemoveRight.ToolTip" xml:space="preserve">
<value>Sender aus sortierter Liste entfernen</value>
</data>
<data name="btnClearRightFilter.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
<value>Horizontal</value>
</data>
<data name="btnClearRightFilter.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
<value>Filter entfernen</value>
</data>

File diff suppressed because it is too large Load Diff

View File

@@ -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;
}
}
}
}

View File

@@ -68,5 +68,14 @@
<Setting Name="EraseDuplicateChannels" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoLoadRefList" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="AutoAppendUnsortedChannels" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="CloseGaps" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@@ -74,6 +74,15 @@
<setting name="EraseDuplicateChannels" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoLoadRefList" serializeAs="String">
<value>True</value>
</setting>
<setting name="AutoAppendUnsortedChannels" serializeAs="String">
<value>True</value>
</setting>
<setting name="CloseGaps" serializeAs="String">
<value>True</value>
</setting>
</ChanSort.Ui.Properties.Settings>
<GUI.Properties.Settings>
<setting name="InputTLL" serializeAs="String">

View File

@@ -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