From 961f3be305ee44854d4e80cb987686faa6c00d82 Mon Sep 17 00:00:00 2001 From: hbeham Date: Sat, 6 Apr 2013 01:46:28 +0200 Subject: [PATCH] - reworked UI - fixed various issues with incorrect selection and program# assignment --- ChanSort.Api/Controller/Editor.cs | 45 +- ChanSort.Api/Model/ChannelInfo.cs | 2 +- ChanSort.Api/Model/Enums.cs | 2 +- ChanSort.Api/Utils/MappingPool.cs | 6 +- ChanSort.Loader.ScmFile/ScmSerializer.cs | 4 +- .../ScmSerializerPlugin.cs | 2 +- ChanSort.Loader.TllFile/DvbsDataLayout.cs | 4 + ChanSort.Loader.TllFile/Resource.Designer.cs | 9 - ChanSort.Loader.TllFile/Resource.de.resx | 3 - ChanSort.Loader.TllFile/Resource.resx | 3 - ChanSort.Loader.TllFile/TllFileSerializer.cs | 120 +- .../TllFileSerializerPlugin.cs | 14 +- ChanSort/AboutForm.Designer.cs | 198 +- ChanSort/AboutForm.cs | 24 +- ChanSort/AboutForm.de.resx | 45 +- ChanSort/AboutForm.resx | 330 +-- ChanSort/BrowserHelper.cs | 43 + ChanSort/ChanSort.csproj | 1 + ChanSort/MainForm.Designer.cs | 1640 ++++++----- ChanSort/MainForm.cs | 781 ++--- ChanSort/MainForm.de.resx | 673 ++++- ChanSort/MainForm.resx | 2568 +++++++++-------- ChanSort/Properties/AssemblyInfo.cs | 4 +- ChanSort/Properties/Resources.Designer.cs | 2 +- ChanSort/Properties/Resources.resx | 4 +- ChanSort/Properties/licenses.licx | 11 +- ChanSort/app.config | 6 - readme.txt | 27 +- 28 files changed, 3645 insertions(+), 2926 deletions(-) create mode 100644 ChanSort/BrowserHelper.cs diff --git a/ChanSort.Api/Controller/Editor.cs b/ChanSort.Api/Controller/Editor.cs index 326a68d..192498e 100644 --- a/ChanSort.Api/Controller/Editor.cs +++ b/ChanSort.Api/Controller/Editor.cs @@ -122,15 +122,16 @@ namespace ChanSort.Api ChannelInfo lastInsertedChannel = null; int progNr = this.ChannelList.InsertProgramNumber; int relativeChannelNumber = 0; - foreach(var channel in this.ChannelList.Channels) + foreach(var channel in this.ChannelList.Channels.Where(c => c.NewProgramNr>=progNr).OrderBy(c=>c.NewProgramNr)) { - if (channel.NewProgramNr != 0 && channel.NewProgramNr >= progNr) + //if (channel.NewProgramNr != 0 && channel.NewProgramNr >= progNr) { int gap = count - (channel.NewProgramNr - progNr - relativeChannelNumber); - if (gap <= 0) - break; - channel.NewProgramNr += gap; - ++relativeChannelNumber; + if (gap > 0) + { + channel.NewProgramNr += gap; + ++relativeChannelNumber; + } } } @@ -154,24 +155,28 @@ namespace ChanSort.Api #region RemoveChannels() - public void RemoveChannels(IList channels) + public void RemoveChannels(IList channels, bool closeGap) { if (channels.Count == 0) return; this.ChannelList.InsertProgramNumber = channels[0].NewProgramNr; + var orderedChannelList = this.ChannelList.Channels.Where(c => c.NewProgramNr > 0).OrderBy(c => c.NewProgramNr); foreach (var channel in channels) { if (channel.NewProgramNr == 0) continue; - int prevNr = channel.NewProgramNr; - foreach (var channel2 in this.ChannelList.Channels) + if (closeGap) { - if (channel2.NewProgramNr > channel.NewProgramNr) + int prevNr = channel.NewProgramNr; + foreach (var channel2 in orderedChannelList) { - if (prevNr != -1 && channel2.NewProgramNr != prevNr + 1) // don't pull down numbers after a gap - break; - prevNr = channel2.NewProgramNr; - --channel2.NewProgramNr; + if (channel2.NewProgramNr > channel.NewProgramNr) + { + if (prevNr != -1 && channel2.NewProgramNr != prevNr + 1) // don't pull down numbers after a gap + break; + prevNr = channel2.NewProgramNr; + --channel2.NewProgramNr; + } } } channel.NewProgramNr = 0; @@ -225,7 +230,7 @@ namespace ChanSort.Api #endregion #region SetSlotNumber() - public void SetSlotNumber(IList channels, int slot, bool swap) + public void SetSlotNumber(IList channels, int slot, bool swap, bool closeGap) { if (channels.Count == 0) return; if (swap) @@ -243,7 +248,7 @@ namespace ChanSort.Api } else { - this.RemoveChannels(channels); + this.RemoveChannels(channels, closeGap); this.ChannelList.InsertProgramNumber = slot; this.AddChannels(channels); } @@ -266,7 +271,7 @@ namespace ChanSort.Api var list = new List(); list.Add(channel); - this.RemoveChannels(list); + this.RemoveChannels(list, false); this.ChannelList.InsertProgramNumber = progNr++; this.AddChannels(list); this.DataRoot.NeedsSaving = true; @@ -290,7 +295,7 @@ namespace ChanSort.Api if (appChannel.RecordIndex < 0) continue; - if (appChannel.NewProgramNr <= 0 && mode == UnsortedChannelMode.Hide) + if (appChannel.NewProgramNr <= 0 && mode == UnsortedChannelMode.MarkDeleted) continue; int progNr = GetNewProgramNr(appChannel, ref maxProgNr); @@ -307,7 +312,7 @@ namespace ChanSort.Api return channel.NewProgramNr.ToString("d4"); // eventually hide unsorted channels - if (this.unsortedChannelMode == UnsortedChannelMode.Hide) + if (this.unsortedChannelMode == UnsortedChannelMode.MarkDeleted) return "Z"; // eventually append in old order @@ -331,7 +336,7 @@ namespace ChanSort.Api maxPrNr = prNr; if (prNr == 0) { - if (appChannel.OldProgramNr != 0 && this.unsortedChannelMode != UnsortedChannelMode.Hide) + if (appChannel.OldProgramNr != 0 && this.unsortedChannelMode != UnsortedChannelMode.MarkDeleted) prNr = ++maxPrNr; } return prNr; diff --git a/ChanSort.Api/Model/ChannelInfo.cs b/ChanSort.Api/Model/ChannelInfo.cs index 402d2a3..578272a 100644 --- a/ChanSort.Api/Model/ChannelInfo.cs +++ b/ChanSort.Api/Model/ChannelInfo.cs @@ -96,7 +96,7 @@ namespace ChanSort.Api public override string ToString() { - return this.Name; + return this.NewProgramNr + ": " + this.Name; } public override bool Equals(object obj) diff --git a/ChanSort.Api/Model/Enums.cs b/ChanSort.Api/Model/Enums.cs index f46f796..57592a5 100644 --- a/ChanSort.Api/Model/Enums.cs +++ b/ChanSort.Api/Model/Enums.cs @@ -50,7 +50,7 @@ namespace ChanSort.Api { AppendInOrder=0, AppendAlphabetically=1, - Hide=2 + MarkDeleted=2 } public enum DvbServiceType diff --git a/ChanSort.Api/Utils/MappingPool.cs b/ChanSort.Api/Utils/MappingPool.cs index 1f0fff0..e0653ca 100644 --- a/ChanSort.Api/Utils/MappingPool.cs +++ b/ChanSort.Api/Utils/MappingPool.cs @@ -1,5 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; +using System.IO; namespace ChanSort.Api { @@ -26,7 +26,7 @@ namespace ChanSort.Api T mapping; if (!mappings.TryGetValue(dataLength, out mapping) && throwException) - throw new Exception(string.Format(ERR_unknownACTChannelDataLength, this.caption, dataLength)); + throw new FileLoadException(string.Format(ERR_unknownACTChannelDataLength, this.caption, dataLength)); return mapping; } } diff --git a/ChanSort.Loader.ScmFile/ScmSerializer.cs b/ChanSort.Loader.ScmFile/ScmSerializer.cs index 5d213e2..88eec8d 100644 --- a/ChanSort.Loader.ScmFile/ScmSerializer.cs +++ b/ChanSort.Loader.ScmFile/ScmSerializer.cs @@ -113,7 +113,7 @@ namespace ChanSort.Loader.ScmFile if (DetectModelFromCloneInfoFile(zip)) return; if (DetectModelFromContentFileLengths(zip)) return; if (DetectModelFromFileName()) return; - throw new IOException("Unable to determine TV model from file content or name"); + throw new FileLoadException("Unable to determine TV model from file content or name"); } #endregion @@ -385,7 +385,7 @@ namespace ChanSort.Loader.ScmFile for (int i = 0; i < count; i++) { if (satMapping.MagicMarker != 0x55) - throw new IOException("Unknown SatDataBase.dat format"); + throw new FileLoadException("Unknown SatDataBase.dat format"); string location = string.Format("{0}.{1}{2}", satMapping.Longitude/10, satMapping.Longitude%10, satMapping.IsEast ? "E" : "W"); diff --git a/ChanSort.Loader.ScmFile/ScmSerializerPlugin.cs b/ChanSort.Loader.ScmFile/ScmSerializerPlugin.cs index 8e491c3..fecad32 100644 --- a/ChanSort.Loader.ScmFile/ScmSerializerPlugin.cs +++ b/ChanSort.Loader.ScmFile/ScmSerializerPlugin.cs @@ -4,7 +4,7 @@ namespace ChanSort.Loader.ScmFile { public class ScmSerializerPlugin : ISerializerPlugin { - public string PluginName { get { return "Samsung *.scm Loader"; } } + public string PluginName { get { return "Samsung *.scm"; } } public string FileFilter { get { return "*.scm"; } } public SerializerBase CreateSerializer(string inputFile) diff --git a/ChanSort.Loader.TllFile/DvbsDataLayout.cs b/ChanSort.Loader.TllFile/DvbsDataLayout.cs index c0eca2a..aca2d08 100644 --- a/ChanSort.Loader.TllFile/DvbsDataLayout.cs +++ b/ChanSort.Loader.TllFile/DvbsDataLayout.cs @@ -13,6 +13,7 @@ public readonly int lnbCount; public readonly int lnbLength; public readonly int[] dvbsSubblockLength; + public readonly int dvbsBlockTotalLength; public int LnbBlockHeaderSize = 12; @@ -36,6 +37,9 @@ 12 + dvbsMaxChannelCount/8 + dvbsMaxChannelCount*sizeOfChannelLinkedListEntry + dvbsMaxChannelCount * dvbsChannelLength, // channels LnbBlockHeaderSize - 4 + lnbCount * lnbLength // sat/LNB-Config }; + + foreach (int len in this.dvbsSubblockLength) + this.dvbsBlockTotalLength += len + 4; } /// diff --git a/ChanSort.Loader.TllFile/Resource.Designer.cs b/ChanSort.Loader.TllFile/Resource.Designer.cs index 3218a72..496dbe8 100644 --- a/ChanSort.Loader.TllFile/Resource.Designer.cs +++ b/ChanSort.Loader.TllFile/Resource.Designer.cs @@ -95,14 +95,5 @@ namespace ChanSort.Loader.TllFile { return ResourceManager.GetString("TllFileSerializerPlugin_ERR_modelUnknown", resourceCulture); } } - - /// - /// Looks up a localized string similar to LG-Electronics *.tll Loader. - /// - internal static string TllFileSerializerPlugin_PluginName { - get { - return ResourceManager.GetString("TllFileSerializerPlugin_PluginName", resourceCulture); - } - } } } diff --git a/ChanSort.Loader.TllFile/Resource.de.resx b/ChanSort.Loader.TllFile/Resource.de.resx index 1cd6f3a..bf14abb 100644 --- a/ChanSort.Loader.TllFile/Resource.de.resx +++ b/ChanSort.Loader.TllFile/Resource.de.resx @@ -126,9 +126,6 @@ Dateigröße {0} überschreitet das erlaubte Maximum von {1} - - LG-Electronics *.tll Loader - Sender #{0} (Pr# {1}) wurde gelöscht da er ein Duplikat von Sender #{2} (Pr# {3}) ist: {4} diff --git a/ChanSort.Loader.TllFile/Resource.resx b/ChanSort.Loader.TllFile/Resource.resx index 55d3e21..cb5e315 100644 --- a/ChanSort.Loader.TllFile/Resource.resx +++ b/ChanSort.Loader.TllFile/Resource.resx @@ -107,9 +107,6 @@ File size {0} is larger than allowed maxiumum of {1} - - LG-Electronics *.tll Loader - Channel #{0} (Pr# {1}) was erased because it is a duplicate of channel #{2} (Pr# {3}): {4} diff --git a/ChanSort.Loader.TllFile/TllFileSerializer.cs b/ChanSort.Loader.TllFile/TllFileSerializer.cs index 8b3a6b6..60a3cb9 100644 --- a/ChanSort.Loader.TllFile/TllFileSerializer.cs +++ b/ChanSort.Loader.TllFile/TllFileSerializer.cs @@ -14,6 +14,7 @@ namespace ChanSort.Loader.TllFile { public partial class TllFileSerializer : SerializerBase { + private const long DVBS_S2 = 0x0032532D53425644; // reverse of "DVBS-S2\0" private const long MaxFileSize = 2000000; private readonly string ERR_fileTooBig = Resource.TllFileSerializerPlugin_ERR_fileTooBig; private readonly string ERR_modelUnknown = Resource.TllFileSerializerPlugin_ERR_modelUnknown; @@ -83,8 +84,6 @@ namespace ChanSort.Loader.TllFile this.DataRoot.AddChannelList(atvChannels); this.DataRoot.AddChannelList(dtvChannels); this.DataRoot.AddChannelList(radioChannels); - this.DataRoot.AddChannelList(satTvChannels); - this.DataRoot.AddChannelList(satRadioChannels); } #endregion @@ -123,7 +122,7 @@ namespace ChanSort.Loader.TllFile { long fileSize = new FileInfo(this.FileName).Length; if (fileSize > MaxFileSize) - throw new InvalidOperationException(string.Format(ERR_fileTooBig, fileSize, MaxFileSize)); + throw new FileLoadException(string.Format(ERR_fileTooBig, fileSize, MaxFileSize)); this.fileContent = File.ReadAllBytes(this.FileName); int off = 0; @@ -146,7 +145,7 @@ namespace ChanSort.Loader.TllFile private void ReadFileHeader(ref int off) { if (fileContent.Length < 4) - throw new InvalidOperationException(ERR_modelUnknown); + throw new FileLoadException(ERR_modelUnknown); if (BitConverter.ToUInt32(fileContent, off) == 0x5A5A5A5A) off += 4; } @@ -184,7 +183,7 @@ namespace ChanSort.Loader.TllFile private void ReadDvbSBlock(ref int off) { int blockSize; - if (!IsDvbsBlock(off, out blockSize)) + if (!IsDvbsBlock(ref off, out blockSize)) return; this.dvbsBlockSize = blockSize; @@ -259,7 +258,7 @@ namespace ChanSort.Loader.TllFile { long len = BitConverter.ToUInt32(fileContent, off); if (len < minSize || off + 4 + len > fileContent.Length) - throw new InvalidOperationException(ERR_modelUnknown); + throw new FileLoadException(ERR_modelUnknown); return (int)len; } #endregion @@ -268,17 +267,17 @@ namespace ChanSort.Loader.TllFile private int GetActChannelRecordSize(int off, int blockSize, int channelCount) { if ((blockSize - 4) % channelCount != 0) - throw new InvalidOperationException(ERR_modelUnknown); + throw new FileLoadException(ERR_modelUnknown); int recordSize = (blockSize - 4) / channelCount; if (off + channelCount * recordSize > fileContent.Length) - throw new InvalidOperationException(ERR_modelUnknown); + throw new FileLoadException(ERR_modelUnknown); return recordSize; } #endregion #region IsDvbsBlock() - private bool IsDvbsBlock(int off, out int blockSize) + private bool IsDvbsBlock(ref int off, out int blockSize) { blockSize = 0; if (off >= fileContent.Length) @@ -286,16 +285,30 @@ namespace ChanSort.Loader.TllFile blockSize = this.GetBlockSize(off); if (blockSize < 12) return false; - ulong blockId = BitConverter.ToUInt64(fileContent, off + 8); - if (blockId != 0x0032532D53425644) // reverse "DVBS-S2\0" - return false; - return true; + long blockId = BitConverter.ToInt64(fileContent, off + 8); + if (blockId == DVBS_S2) + return true; + + if (blockId == -1) + { + this.satConfig = satConfigs.TryGet(blockSize); + if (this.satConfig != null) + { + this.EraseDvbsBlock(off); + this.UpdateDvbsChecksums(); + return true; + } + } + return false; } #endregion #region ReadDvbsSubblocks() private void ReadDvbsSubblocks(ref int off) { + this.DataRoot.AddChannelList(satTvChannels); + this.DataRoot.AddChannelList(satRadioChannels); + this.ScanDvbSSubBlockChecksums(off); // subblock 1 (DVBS header) @@ -334,7 +347,7 @@ namespace ChanSort.Loader.TllFile uint fileCrc = BitConverter.ToUInt32(fileContent, off); uint calcCrc = Crc32.CalcCrc32(fileContent, off + 4, subblockLength); if (fileCrc != calcCrc) - throw new IOException(string.Format(ERR_wrongChecksum, calcCrc, fileCrc)); + throw new FileLoadException(string.Format(ERR_wrongChecksum, calcCrc, fileCrc)); off += 4 + subblockLength; } } @@ -468,7 +481,84 @@ namespace ChanSort.Loader.TllFile #endregion - + #region EraseDvbsBlock() + + /// + /// The model LM640T has the whole DVB-S2 block filled with 0xFF bytes, including the checksums. + /// When a file (even the originally saved one) is loaded back, the TV crashes and performs a factory reset. + /// + private void EraseDvbsBlock(int off) + { + this.dvbsBlockOffset = off; + this.dvbsBlockSize = satConfig.dvbsBlockTotalLength; + this.dvbsSubblockCrcOffset = new int[satConfig.dvbsSubblockLength.Length]; + + int p = this.dvbsBlockOffset + 4; + for (int i = 0; i < this.dvbsBlockSize; i++) + this.fileContent[p++] = 0; + + using (MemoryStream stream = new MemoryStream(this.fileContent)) + using (BinaryWriter wrt = new BinaryWriter(stream)) + { + stream.Seek(this.dvbsBlockOffset+4, SeekOrigin.Begin); // skip length + + // header + this.dvbsSubblockCrcOffset[0] = (int)stream.Position; + stream.Seek(4, SeekOrigin.Current); // skip CRC32 + stream.Write(Encoding.ASCII.GetBytes("DVBS-S2\0"), 0, 8); + wrt.Write((ushort) 7); + wrt.Write((ushort) 4); + + // satellite + this.dvbsSubblockCrcOffset[1] = (int)stream.Position; + stream.Seek(4, SeekOrigin.Current); // skip CRC32 + stream.Seek(2 + satConfig.satCount/8 + 2 + 2 + satConfig.satCount + 2, SeekOrigin.Current); + for (int i = 0; i < satConfig.satCount; i++) + { + stream.Seek(36, SeekOrigin.Current); + wrt.Write((short) -1); + wrt.Write((short) -1); + stream.Seek(2 + 2, SeekOrigin.Current); + } + + // transponders + this.dvbsSubblockCrcOffset[2] = (int)stream.Position; + stream.Seek(4, SeekOrigin.Current); // skip CRC32 + stream.Seek(5*2 + satConfig.transponderCount/8, SeekOrigin.Current); + wrt.Write((short) -1); + wrt.Write((short) -1); + stream.Seek(2 + (satConfig.transponderCount - 1)*6 + 2, SeekOrigin.Current); + for (int i = 0; i < satConfig.transponderCount; i++) + { + wrt.Write(-1); + wrt.Write((ushort)0); + wrt.Write((short)-1); + wrt.Write((byte)0xfe); + for (int j = 9; j < satConfig.transponderLength; j++) + wrt.Write((byte)0xFF); + } + + // channels + this.dvbsSubblockCrcOffset[3] = (int)stream.Position; + stream.Seek(4, SeekOrigin.Current); // skip CRC32 + stream.Seek(12 + satConfig.dvbsMaxChannelCount/8, SeekOrigin.Current); + wrt.Write((short) -1); + wrt.Write((short) -1); + stream.Seek(4 + (satConfig.dvbsMaxChannelCount - 1)*8, SeekOrigin.Current); + for (int i = 0; i < satConfig.dvbsMaxChannelCount*satConfig.dvbsChannelLength; i++) + wrt.Write((byte) 0xFF); + + // sat/LNB-config + this.dvbsSubblockCrcOffset[4] = (int)stream.Position; + stream.Seek(4, SeekOrigin.Current); // skip CRC32 + stream.Seek(2, SeekOrigin.Current); + wrt.Write((byte) 1); + stream.Seek(satConfig.lnbCount/8 - 1, SeekOrigin.Current); + } + } + #endregion + + #region Save() public override void Save(string tvOutputFile, string csvOutputFile) { diff --git a/ChanSort.Loader.TllFile/TllFileSerializerPlugin.cs b/ChanSort.Loader.TllFile/TllFileSerializerPlugin.cs index 1352cbe..219c9c3 100644 --- a/ChanSort.Loader.TllFile/TllFileSerializerPlugin.cs +++ b/ChanSort.Loader.TllFile/TllFileSerializerPlugin.cs @@ -1,27 +1,17 @@ -using System.IO; -using ChanSort.Api; +using ChanSort.Api; namespace ChanSort.Loader.TllFile { public class TllFileSerializerPlugin : ISerializerPlugin { - private const int MAX_FILE_SIZE = 16*1000*1000; - private readonly string ERR_fileTooBig = Resource.TllFileSerializerPlugin_ERR_fileTooBig; - - - public string PluginName { get { return Resource.TllFileSerializerPlugin_PluginName; } } + public string PluginName { get { return "LG-Electronics *.tll"; } } public string FileFilter { get { return "*.TLL"; } } #region CreateSerializer() public SerializerBase CreateSerializer(string inputFile) { - long fileSize = new FileInfo(inputFile).Length; - if (fileSize > MAX_FILE_SIZE) - throw new IOException(string.Format(ERR_fileTooBig, fileSize, MAX_FILE_SIZE)); - return new TllFileSerializer(inputFile); } #endregion - } } diff --git a/ChanSort/AboutForm.Designer.cs b/ChanSort/AboutForm.Designer.cs index c569c4e..b741ebd 100644 --- a/ChanSort/AboutForm.Designer.cs +++ b/ChanSort/AboutForm.Designer.cs @@ -30,34 +30,26 @@ { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); this.labelControl1 = new DevExpress.XtraEditors.LabelControl(); - this.hyperLinkEdit1 = new DevExpress.XtraEditors.HyperLinkEdit(); + this.lnkDownload = new DevExpress.XtraEditors.HyperLinkEdit(); this.gcPlugins = new DevExpress.XtraGrid.GridControl(); this.gvPlugins = new DevExpress.XtraGrid.Views.Grid.GridView(); this.colPlugin = new DevExpress.XtraGrid.Columns.GridColumn(); this.colDisplayText = new DevExpress.XtraGrid.Columns.GridColumn(); this.colFileTypes = new DevExpress.XtraGrid.Columns.GridColumn(); - this.hyperLinkEdit2 = new DevExpress.XtraEditors.HyperLinkEdit(); - this.labelControl3 = new DevExpress.XtraEditors.LabelControl(); - this.labelControl4 = new DevExpress.XtraEditors.LabelControl(); - this.labelControl5 = new DevExpress.XtraEditors.LabelControl(); - this.hyperLinkEdit3 = new DevExpress.XtraEditors.HyperLinkEdit(); - this.txtCredits = new DevExpress.XtraEditors.MemoEdit(); - this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl(); - this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage(); - this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage(); - this.picDonate = new DevExpress.XtraEditors.PictureEdit(); + this.lnkEmail = new DevExpress.XtraEditors.HyperLinkEdit(); this.labelControl2 = new DevExpress.XtraEditors.LabelControl(); - ((System.ComponentModel.ISupportInitialize)(this.hyperLinkEdit1.Properties)).BeginInit(); + this.labelControl4 = new DevExpress.XtraEditors.LabelControl(); + this.lnkLicense = new DevExpress.XtraEditors.HyperLinkEdit(); + this.labelControl5 = new DevExpress.XtraEditors.LabelControl(); + this.txtCredits = new DevExpress.XtraEditors.MemoEdit(); + this.simpleButton1 = new DevExpress.XtraEditors.SimpleButton(); + this.labelControl3 = new DevExpress.XtraEditors.LabelControl(); + ((System.ComponentModel.ISupportInitialize)(this.lnkDownload.Properties)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.gcPlugins)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.gvPlugins)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.hyperLinkEdit2.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.hyperLinkEdit3.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lnkEmail.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lnkLicense.Properties)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.txtCredits.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit(); - this.xtraTabControl1.SuspendLayout(); - this.xtraTabPage1.SuspendLayout(); - this.xtraTabPage2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).BeginInit(); this.SuspendLayout(); // // labelControl1 @@ -65,13 +57,14 @@ resources.ApplyResources(this.labelControl1, "labelControl1"); this.labelControl1.Name = "labelControl1"; // - // hyperLinkEdit1 + // lnkDownload // - resources.ApplyResources(this.hyperLinkEdit1, "hyperLinkEdit1"); - this.hyperLinkEdit1.Name = "hyperLinkEdit1"; - this.hyperLinkEdit1.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("hyperLinkEdit1.Properties.Appearance.BackColor"))); - this.hyperLinkEdit1.Properties.Appearance.Options.UseBackColor = true; - this.hyperLinkEdit1.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + resources.ApplyResources(this.lnkDownload, "lnkDownload"); + this.lnkDownload.Name = "lnkDownload"; + this.lnkDownload.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkDownload.Properties.Appearance.BackColor"))); + this.lnkDownload.Properties.Appearance.Options.UseBackColor = true; + this.lnkDownload.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + this.lnkDownload.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkDownload_OpenLink); // // gcPlugins // @@ -92,7 +85,6 @@ this.gvPlugins.OptionsBehavior.ReadOnly = true; this.gvPlugins.OptionsView.ShowGroupPanel = false; this.gvPlugins.OptionsView.ShowIndicator = false; - this.gvPlugins.CustomUnboundColumnData += new DevExpress.XtraGrid.Views.Base.CustomColumnDataEventHandler(this.gvPlugins_CustomUnboundColumnData); // // colPlugin // @@ -113,105 +105,76 @@ this.colFileTypes.FieldName = "FileFilter"; this.colFileTypes.Name = "colFileTypes"; // - // hyperLinkEdit2 + // lnkEmail // - resources.ApplyResources(this.hyperLinkEdit2, "hyperLinkEdit2"); - this.hyperLinkEdit2.Name = "hyperLinkEdit2"; - this.hyperLinkEdit2.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("hyperLinkEdit2.Properties.Appearance.BackColor"))); - this.hyperLinkEdit2.Properties.Appearance.Options.UseBackColor = true; - this.hyperLinkEdit2.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; - // - // labelControl3 - // - resources.ApplyResources(this.labelControl3, "labelControl3"); - this.labelControl3.Name = "labelControl3"; - // - // labelControl4 - // - resources.ApplyResources(this.labelControl4, "labelControl4"); - this.labelControl4.Name = "labelControl4"; - // - // labelControl5 - // - resources.ApplyResources(this.labelControl5, "labelControl5"); - this.labelControl5.Name = "labelControl5"; - // - // hyperLinkEdit3 - // - resources.ApplyResources(this.hyperLinkEdit3, "hyperLinkEdit3"); - this.hyperLinkEdit3.Name = "hyperLinkEdit3"; - this.hyperLinkEdit3.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("hyperLinkEdit3.Properties.Appearance.BackColor"))); - this.hyperLinkEdit3.Properties.Appearance.Options.UseBackColor = true; - this.hyperLinkEdit3.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; - // - // txtCredits - // - resources.ApplyResources(this.txtCredits, "txtCredits"); - this.txtCredits.Name = "txtCredits"; - this.txtCredits.Properties.ReadOnly = true; - // - // xtraTabControl1 - // - resources.ApplyResources(this.xtraTabControl1, "xtraTabControl1"); - this.xtraTabControl1.Name = "xtraTabControl1"; - this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1; - this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { - this.xtraTabPage1, - this.xtraTabPage2}); - // - // xtraTabPage1 - // - this.xtraTabPage1.Controls.Add(this.txtCredits); - this.xtraTabPage1.Name = "xtraTabPage1"; - resources.ApplyResources(this.xtraTabPage1, "xtraTabPage1"); - // - // xtraTabPage2 - // - this.xtraTabPage2.Controls.Add(this.gcPlugins); - this.xtraTabPage2.Name = "xtraTabPage2"; - resources.ApplyResources(this.xtraTabPage2, "xtraTabPage2"); - // - // picDonate - // - this.picDonate.Cursor = System.Windows.Forms.Cursors.Hand; - resources.ApplyResources(this.picDonate, "picDonate"); - this.picDonate.Name = "picDonate"; - this.picDonate.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("picDonate.Properties.Appearance.BackColor"))); - this.picDonate.Properties.Appearance.Options.UseBackColor = true; - this.picDonate.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; - this.picDonate.Click += new System.EventHandler(this.picDonate_Click); + resources.ApplyResources(this.lnkEmail, "lnkEmail"); + this.lnkEmail.Name = "lnkEmail"; + this.lnkEmail.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkEmail.Properties.Appearance.BackColor"))); + this.lnkEmail.Properties.Appearance.Options.UseBackColor = true; + this.lnkEmail.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + this.lnkEmail.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkEmail_OpenLink); // // labelControl2 // resources.ApplyResources(this.labelControl2, "labelControl2"); this.labelControl2.Name = "labelControl2"; // + // labelControl4 + // + resources.ApplyResources(this.labelControl4, "labelControl4"); + this.labelControl4.Name = "labelControl4"; + // + // lnkLicense + // + resources.ApplyResources(this.lnkLicense, "lnkLicense"); + this.lnkLicense.Name = "lnkLicense"; + this.lnkLicense.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("lnkLicense.Properties.Appearance.BackColor"))); + this.lnkLicense.Properties.Appearance.Options.UseBackColor = true; + this.lnkLicense.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + this.lnkLicense.OpenLink += new DevExpress.XtraEditors.Controls.OpenLinkEventHandler(this.lnkLicense_OpenLink); + // + // labelControl5 + // + resources.ApplyResources(this.labelControl5, "labelControl5"); + this.labelControl5.Name = "labelControl5"; + // + // txtCredits + // + resources.ApplyResources(this.txtCredits, "txtCredits"); + this.txtCredits.Name = "txtCredits"; + // + // simpleButton1 + // + resources.ApplyResources(this.simpleButton1, "simpleButton1"); + this.simpleButton1.DialogResult = System.Windows.Forms.DialogResult.OK; + this.simpleButton1.Name = "simpleButton1"; + // + // labelControl3 + // + resources.ApplyResources(this.labelControl3, "labelControl3"); + this.labelControl3.Name = "labelControl3"; + // // AboutForm // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.labelControl2); - this.Controls.Add(this.picDonate); - this.Controls.Add(this.xtraTabControl1); - this.Controls.Add(this.hyperLinkEdit3); - this.Controls.Add(this.labelControl5); - this.Controls.Add(this.labelControl4); - this.Controls.Add(this.hyperLinkEdit2); this.Controls.Add(this.labelControl3); - this.Controls.Add(this.hyperLinkEdit1); + this.Controls.Add(this.simpleButton1); + this.Controls.Add(this.txtCredits); + this.Controls.Add(this.labelControl5); + this.Controls.Add(this.lnkLicense); + this.Controls.Add(this.labelControl4); + this.Controls.Add(this.labelControl2); + this.Controls.Add(this.lnkEmail); + this.Controls.Add(this.lnkDownload); this.Controls.Add(this.labelControl1); this.Name = "AboutForm"; - ((System.ComponentModel.ISupportInitialize)(this.hyperLinkEdit1.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lnkDownload.Properties)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.gcPlugins)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.gvPlugins)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.hyperLinkEdit2.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.hyperLinkEdit3.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lnkEmail.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lnkLicense.Properties)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.txtCredits.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit(); - this.xtraTabControl1.ResumeLayout(false); - this.xtraTabPage1.ResumeLayout(false); - this.xtraTabPage2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -220,22 +183,19 @@ #endregion private DevExpress.XtraEditors.LabelControl labelControl1; - private DevExpress.XtraEditors.HyperLinkEdit hyperLinkEdit1; + private DevExpress.XtraEditors.HyperLinkEdit lnkDownload; private DevExpress.XtraGrid.GridControl gcPlugins; private DevExpress.XtraGrid.Views.Grid.GridView gvPlugins; private DevExpress.XtraGrid.Columns.GridColumn colPlugin; private DevExpress.XtraGrid.Columns.GridColumn colDisplayText; private DevExpress.XtraGrid.Columns.GridColumn colFileTypes; - private DevExpress.XtraEditors.HyperLinkEdit hyperLinkEdit2; - private DevExpress.XtraEditors.LabelControl labelControl3; - private DevExpress.XtraEditors.LabelControl labelControl4; - private DevExpress.XtraEditors.LabelControl labelControl5; - private DevExpress.XtraEditors.HyperLinkEdit hyperLinkEdit3; - private DevExpress.XtraEditors.MemoEdit txtCredits; - private DevExpress.XtraTab.XtraTabControl xtraTabControl1; - private DevExpress.XtraTab.XtraTabPage xtraTabPage1; - private DevExpress.XtraTab.XtraTabPage xtraTabPage2; - private DevExpress.XtraEditors.PictureEdit picDonate; + private DevExpress.XtraEditors.HyperLinkEdit lnkEmail; private DevExpress.XtraEditors.LabelControl labelControl2; + private DevExpress.XtraEditors.LabelControl labelControl4; + private DevExpress.XtraEditors.HyperLinkEdit lnkLicense; + private DevExpress.XtraEditors.LabelControl labelControl5; + private DevExpress.XtraEditors.MemoEdit txtCredits; + private DevExpress.XtraEditors.SimpleButton simpleButton1; + private DevExpress.XtraEditors.LabelControl labelControl3; } } \ No newline at end of file diff --git a/ChanSort/AboutForm.cs b/ChanSort/AboutForm.cs index 2117fe1..f4bb3db 100644 --- a/ChanSort/AboutForm.cs +++ b/ChanSort/AboutForm.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.IO; using ChanSort.Api; using DevExpress.XtraEditors; @@ -10,7 +9,6 @@ namespace ChanSort.Ui public AboutForm(IList plugins) { InitializeComponent(); - this.picDonate.Image = Properties.Resources.Donate; this.gcPlugins.DataSource = plugins; this.txtCredits.Text = @"PDA-User: @@ -26,23 +24,19 @@ Many more on lg-forum.com: For providing example TLL files, error feedback and other helpful information"; } - private void gvPlugins_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e) + private void lnkLicense_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e) { - if (e.Column == this.colPlugin) - e.Value = (Path.GetFileName(e.Row.GetType().Assembly.Location) ?? "").Replace("ChanSort.Loader.", ""); + BrowserHelper.OpenUrl("http://www.gnu.org/licenses/gpl.html"); } - private void picDonate_Click(object sender, System.EventArgs e) + private void lnkEmail_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e) { - try - { - string fileName = Path.GetTempFileName() + ".html"; - File.WriteAllText(fileName, Properties.Resources.paypal_button); - System.Diagnostics.Process.Start(fileName); - } - catch - { - } + BrowserHelper.OpenMail("mailto:horst@beham.biz&subject=ChanSort%20" + MainForm.AppVersion); + } + + private void lnkDownload_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e) + { + BrowserHelper.OpenUrl(this.lnkDownload.Text); } } } \ No newline at end of file diff --git a/ChanSort/AboutForm.de.resx b/ChanSort/AboutForm.de.resx index 46fbc44..813c90d 100644 --- a/ChanSort/AboutForm.de.resx +++ b/ChanSort/AboutForm.de.resx @@ -119,10 +119,10 @@ - 80, 13 + 81, 13 - Aktuelle Version: + Projektwebseite: Beschreibung @@ -130,33 +130,26 @@ Dateitypen - - 86, 13 - - - Online Diskussion: - - - 41, 13 - - - Kontakt: - - - Gruß und Dank - - - Erweiterungen - - - - - - 151, 13 + 78, 13 - Wenn dir das Programm gefällt: + Programmautor: + + + 33, 13 + + + Lizenz: + + + 60, 13 + + + Referenzen: + + + Schließen Über ChanSort diff --git a/ChanSort/AboutForm.resx b/ChanSort/AboutForm.resx index 865f986..066b2b2 100644 --- a/ChanSort/AboutForm.resx +++ b/ChanSort/AboutForm.resx @@ -119,17 +119,17 @@ - 12, 15 + 12, 92 - 72, 13 + 78, 13 0 - Latest version: + Project website: labelControl1 @@ -144,34 +144,34 @@ 9 - + Top, Left, Right - - http://beham.biz/ChanSort/ + + http://sourceforge.net/p/chansort/ - - 144, 13 + + 108, 90 - + Transparent - - 436, 18 + + 338, 18 - + 1 - - hyperLinkEdit1 + + lnkDownload - + DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + $this - + 8 @@ -228,77 +228,68 @@ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - xtraTabPage2 + + horst@beham.biz - - 0 + + 108, 31 - - Top, Left, Right - - - http://www.lg-forum.com/lg-led-plasma-lcd-fernseher/5098-channeleditor-45.html - - - 144, 32 - - + Transparent - - 436, 18 + + 97, 18 - - 5 + + 8 - - hyperLinkEdit2 + + lnkEmail - + DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + $this - - 6 - - - 12, 34 - - - 85, 13 - - - 4 - - - Online discussion: - - - labelControl3 - - - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - + 7 - - 12, 56 + + 12, 12 - - 42, 13 + + 79, 13 - + + 9 + + + Program author: + + + labelControl2 + + + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + 6 + + 12, 68 + + + 39, 13 + + + 10 + - Contact: + License: labelControl4 @@ -312,17 +303,47 @@ 5 + + Top, Left, Right + + + GNU GPLv3 + + + 108, 66 + + + Transparent + + + 338, 18 + + + 11 + + + lnkLicense + + + DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + + 4 + - 147, 56 + 12, 116 - 175, 13 + 38, 13 - 7 + 12 - User "Pred" @ www.lg-forum.com | + Credits: labelControl5 @@ -334,49 +355,19 @@ $this - 4 - - - Top, Left, Right - - - mailto:horst@beham.biz - - - 328, 54 - - - Transparent - - - 252, 18 - - - 8 - - - hyperLinkEdit3 - - - DevExpress.XtraEditors.HyperLinkEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - 3 - - Fill + + Top, Bottom, Left, Right - 0, 0 + 108, 113 - 562, 272 + 374, 120 - 10 + 13 txtCredits @@ -385,117 +376,60 @@ DevExpress.XtraEditors.MemoEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - xtraTabPage1 + $this - 0 - - - Top, Bottom, Left, Right - - - 12, 134 - - - 562, 272 - - - Credits - - - xtraTabPage1 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - xtraTabControl1 - - - 0 - - - 568, 300 - - - 11 - - - 562, 272 - - - Plugins - - - xtraTabPage2 - - - DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - xtraTabControl1 - - - 1 - - - xtraTabControl1 - - - DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - 2 - - 214, 78 + + Bottom, Left - - Transparent + + 12, 210 - - 177, 58 + + 75, 23 - - 12 + + 14 - - picDonate + + Close - - DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + simpleButton1 - + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + $this - + 1 - - 12, 88 + + 110, 12 - - 114, 13 + + 61, 13 - - 13 + + 15 - - If you like this program: + + Horst Beham - - labelControl2 + + labelControl3 - + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + $this - + 0 @@ -505,7 +439,7 @@ 6, 13 - 592, 446 + 494, 245 CenterParent diff --git a/ChanSort/BrowserHelper.cs b/ChanSort/BrowserHelper.cs new file mode 100644 index 0000000..5df336c --- /dev/null +++ b/ChanSort/BrowserHelper.cs @@ -0,0 +1,43 @@ +using System.IO; + +namespace ChanSort.Ui +{ + static class BrowserHelper + { + public static void OpenUrl(string url) + { + OpenHtml(@" + + + + +"); + } + + public static void OpenMail(string url) + { + OpenHtml(@" + + + + +"); + } + + public static void OpenHtml(string html) + { + try + { + string fileName = Path.GetTempFileName() + ".html"; + File.WriteAllText(fileName, html); + System.Diagnostics.Process.Start(fileName); + } + catch + { + } + } + } +} diff --git a/ChanSort/ChanSort.csproj b/ChanSort/ChanSort.csproj index dc88e7e..b510cf9 100644 --- a/ChanSort/ChanSort.csproj +++ b/ChanSort/ChanSort.csproj @@ -83,6 +83,7 @@ + Form diff --git a/ChanSort/MainForm.Designer.cs b/ChanSort/MainForm.Designer.cs index 537d8aa..f5b4bae 100644 --- a/ChanSort/MainForm.Designer.cs +++ b/ChanSort/MainForm.Designer.cs @@ -28,79 +28,37 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.splitContainerControl1 = new DevExpress.XtraEditors.SplitContainerControl(); this.grpOutputList = new DevExpress.XtraEditors.GroupControl(); - this.gridOutput = new DevExpress.XtraGrid.GridControl(); - this.dsChannels = new System.Windows.Forms.BindingSource(); - this.gviewOutput = new DevExpress.XtraGrid.Views.Grid.GridView(); + this.gridLeft = new DevExpress.XtraGrid.GridControl(); + this.dsChannels = new System.Windows.Forms.BindingSource(this.components); + this.gviewLeft = new DevExpress.XtraGrid.Views.Grid.GridView(); this.colIndex1 = new DevExpress.XtraGrid.Columns.GridColumn(); this.colOutSlot = new DevExpress.XtraGrid.Columns.GridColumn(); this.colOutName = new DevExpress.XtraGrid.Columns.GridColumn(); this.colOutFav = new DevExpress.XtraGrid.Columns.GridColumn(); this.repositoryItemCheckedComboBoxEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit(); this.colUid1 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.colOutLock = new DevExpress.XtraGrid.Columns.GridColumn(); this.lblHotkeyLeft = new DevExpress.XtraEditors.LabelControl(); this.pnlEditControls = new DevExpress.XtraEditors.PanelControl(); - this.comboEditMode = new DevExpress.XtraEditors.ComboBoxEdit(); - this.barManager1 = new DevExpress.XtraBars.BarManager(); - this.bar1 = new DevExpress.XtraBars.Bar(); - this.miFile = new DevExpress.XtraBars.BarSubItem(); - this.miOpen = new DevExpress.XtraBars.BarButtonItem(); - this.miReload = new DevExpress.XtraBars.BarButtonItem(); - this.miRestoreOriginal = new DevExpress.XtraBars.BarButtonItem(); - this.miFileInformation = new DevExpress.XtraBars.BarButtonItem(); - this.miSave = new DevExpress.XtraBars.BarButtonItem(); - this.miSaveAs = new DevExpress.XtraBars.BarButtonItem(); - this.miOpenReferenceFile = new DevExpress.XtraBars.BarButtonItem(); - this.miQuit = new DevExpress.XtraBars.BarButtonItem(); - this.miEdit = new DevExpress.XtraBars.BarSubItem(); - this.miAddChannel = new DevExpress.XtraBars.BarButtonItem(); - this.miRemove = new DevExpress.XtraBars.BarButtonItem(); - this.miReplace = new DevExpress.XtraBars.BarButtonItem(); - this.miSort = new DevExpress.XtraBars.BarButtonItem(); - this.miRenum = new DevExpress.XtraBars.BarButtonItem(); - this.mnuFavSet = new DevExpress.XtraBars.BarSubItem(); - this.miFavSet = new DevExpress.XtraBars.BarListItem(); - this.mnuFavUnset = new DevExpress.XtraBars.BarSubItem(); - this.miFavUnset = new DevExpress.XtraBars.BarListItem(); - this.miLockOn = new DevExpress.XtraBars.BarButtonItem(); - this.miLockOff = new DevExpress.XtraBars.BarButtonItem(); - this.miSkipOn = new DevExpress.XtraBars.BarButtonItem(); - this.miSkipOff = new DevExpress.XtraBars.BarButtonItem(); - this.miHideOn = new DevExpress.XtraBars.BarButtonItem(); - this.miHideOff = new DevExpress.XtraBars.BarButtonItem(); - this.barSubItem2 = new DevExpress.XtraBars.BarSubItem(); - this.miTvSettings = new DevExpress.XtraBars.BarButtonItem(); - this.mnuOptions = new DevExpress.XtraBars.BarSubItem(); - this.barSubItem1 = new DevExpress.XtraBars.BarSubItem(); - this.miEnglish = new DevExpress.XtraBars.BarButtonItem(); - this.miGerman = new DevExpress.XtraBars.BarButtonItem(); - this.mnuCharset = new DevExpress.XtraBars.BarSubItem(); - this.miCharsetForm = new DevExpress.XtraBars.BarButtonItem(); - this.miIsoCharSets = new DevExpress.XtraBars.BarListItem(); - this.mnuHelp = new DevExpress.XtraBars.BarSubItem(); - this.miAbout = new DevExpress.XtraBars.BarButtonItem(); - this.barDockControlTop = new DevExpress.XtraBars.BarDockControl(); - this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl(); - this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl(); - this.barDockControlRight = new DevExpress.XtraBars.BarDockControl(); - this.sharedImageCollection1 = new DevExpress.Utils.SharedImageCollection(); - this.miMoveUp = new DevExpress.XtraBars.BarButtonItem(); - this.miMoveDown = new DevExpress.XtraBars.BarButtonItem(); - this.btnSyncFromLeft = new DevExpress.XtraEditors.SimpleButton(); - this.labelControl2 = new DevExpress.XtraEditors.LabelControl(); + this.btnToggleLock = new DevExpress.XtraEditors.SimpleButton(); + this.sharedImageCollection1 = new DevExpress.Utils.SharedImageCollection(this.components); + this.btnToggleFavE = new DevExpress.XtraEditors.SimpleButton(); + this.btnToggleFavD = new DevExpress.XtraEditors.SimpleButton(); + this.btnToggleFavC = new DevExpress.XtraEditors.SimpleButton(); + this.btnToggleFavB = new DevExpress.XtraEditors.SimpleButton(); + this.btnToggleFavA = new DevExpress.XtraEditors.SimpleButton(); this.btnClearLeftFilter = new DevExpress.XtraEditors.SimpleButton(); this.btnRenum = new DevExpress.XtraEditors.SimpleButton(); - this.btnSort = new DevExpress.XtraEditors.SimpleButton(); this.btnDown = new DevExpress.XtraEditors.SimpleButton(); this.btnUp = new DevExpress.XtraEditors.SimpleButton(); this.btnRemove = new DevExpress.XtraEditors.SimpleButton(); - this.txtSetSlot = new DevExpress.XtraEditors.ButtonEdit(); - this.labelControl11 = new DevExpress.XtraEditors.LabelControl(); this.grpInputList = new DevExpress.XtraEditors.GroupControl(); - this.gridInput = new DevExpress.XtraGrid.GridControl(); - this.gviewInput = new DevExpress.XtraGrid.Views.Grid.GridView(); + this.gridRight = new DevExpress.XtraGrid.GridControl(); + this.gviewRight = new DevExpress.XtraGrid.Views.Grid.GridView(); this.colIndex = new DevExpress.XtraGrid.Columns.GridColumn(); this.colSlotOld = new DevExpress.XtraGrid.Columns.GridColumn(); this.colSlotNew = new DevExpress.XtraGrid.Columns.GridColumn(); @@ -131,44 +89,100 @@ this.colLogicalIndex = new DevExpress.XtraGrid.Columns.GridColumn(); this.lblHotkeyRight = new DevExpress.XtraEditors.LabelControl(); this.panelControl3 = new DevExpress.XtraEditors.PanelControl(); - this.btnCloneChannelList = new DevExpress.XtraEditors.SimpleButton(); + this.btnAddAll = new DevExpress.XtraEditors.SimpleButton(); this.btnClearRightFilter = new DevExpress.XtraEditors.SimpleButton(); - this.btnSyncFromRight = new DevExpress.XtraEditors.SimpleButton(); this.btnAdd = new DevExpress.XtraEditors.SimpleButton(); - this.defaultLookAndFeel1 = new DevExpress.LookAndFeel.DefaultLookAndFeel(); + this.barManager1 = new DevExpress.XtraBars.BarManager(this.components); + this.bar1 = new DevExpress.XtraBars.Bar(); + this.miFile = new DevExpress.XtraBars.BarSubItem(); + this.miOpen = new DevExpress.XtraBars.BarButtonItem(); + this.miReload = new DevExpress.XtraBars.BarButtonItem(); + this.miRestoreOriginal = new DevExpress.XtraBars.BarButtonItem(); + this.miFileInformation = new DevExpress.XtraBars.BarButtonItem(); + this.miSave = new DevExpress.XtraBars.BarButtonItem(); + this.miSaveAs = new DevExpress.XtraBars.BarButtonItem(); + this.miOpenReferenceFile = new DevExpress.XtraBars.BarButtonItem(); + this.miQuit = new DevExpress.XtraBars.BarButtonItem(); + this.miEdit = new DevExpress.XtraBars.BarSubItem(); + this.miAddChannel = new DevExpress.XtraBars.BarButtonItem(); + this.miRemove = new DevExpress.XtraBars.BarButtonItem(); + this.miSort = new DevExpress.XtraBars.BarButtonItem(); + this.miRenum = new DevExpress.XtraBars.BarButtonItem(); + this.mnuFavSet = new DevExpress.XtraBars.BarSubItem(); + this.miFavSet = new DevExpress.XtraBars.BarListItem(); + this.mnuFavUnset = new DevExpress.XtraBars.BarSubItem(); + this.miFavUnset = new DevExpress.XtraBars.BarListItem(); + this.miLockOn = new DevExpress.XtraBars.BarButtonItem(); + this.miLockOff = new DevExpress.XtraBars.BarButtonItem(); + this.miSkipOn = new DevExpress.XtraBars.BarButtonItem(); + this.miSkipOff = new DevExpress.XtraBars.BarButtonItem(); + this.miHideOn = new DevExpress.XtraBars.BarButtonItem(); + this.miHideOff = new DevExpress.XtraBars.BarButtonItem(); + this.barSubItem2 = new DevExpress.XtraBars.BarSubItem(); + this.miTvSettings = new DevExpress.XtraBars.BarButtonItem(); + this.miEraseChannelData = new DevExpress.XtraBars.BarButtonItem(); + this.mnuOptions = new DevExpress.XtraBars.BarSubItem(); + this.barSubItem1 = new DevExpress.XtraBars.BarSubItem(); + this.miEnglish = new DevExpress.XtraBars.BarButtonItem(); + this.miGerman = new DevExpress.XtraBars.BarButtonItem(); + this.mnuCharset = new DevExpress.XtraBars.BarSubItem(); + this.miCharsetForm = new DevExpress.XtraBars.BarButtonItem(); + this.miIsoCharSets = new DevExpress.XtraBars.BarListItem(); + this.mnuHelp = new DevExpress.XtraBars.BarSubItem(); + this.miWiki = new DevExpress.XtraBars.BarButtonItem(); + this.miOpenWebsite = new DevExpress.XtraBars.BarButtonItem(); + this.miAbout = new DevExpress.XtraBars.BarButtonItem(); + this.barDockControlTop = new DevExpress.XtraBars.BarDockControl(); + this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl(); + this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl(); + this.barDockControlRight = new DevExpress.XtraBars.BarDockControl(); + this.miMoveUp = new DevExpress.XtraBars.BarButtonItem(); + this.miMoveDown = new DevExpress.XtraBars.BarButtonItem(); + this.labelControl2 = new DevExpress.XtraEditors.LabelControl(); + this.txtSetSlot = new DevExpress.XtraEditors.ButtonEdit(); + this.labelControl11 = new DevExpress.XtraEditors.LabelControl(); + this.picDonate = new DevExpress.XtraEditors.PictureEdit(); + this.defaultLookAndFeel1 = new DevExpress.LookAndFeel.DefaultLookAndFeel(this.components); this.splashScreenManager1 = new DevExpress.XtraSplashScreen.SplashScreenManager(this, typeof(global::ChanSort.Ui.WaitForm1), true, true); this.grpTopPanel = new DevExpress.XtraEditors.GroupControl(); - this.comboUnsortedAction = new DevExpress.XtraEditors.ComboBoxEdit(); - this.labelControl3 = new DevExpress.XtraEditors.LabelControl(); - this.btnResetChannelData = new DevExpress.XtraEditors.SimpleButton(); - this.comboChannelList = new DevExpress.XtraEditors.ComboBoxEdit(); - this.labelControl1 = new DevExpress.XtraEditors.LabelControl(); - this.mnuContext = new DevExpress.XtraBars.PopupMenu(); + this.rbInsertSwap = new DevExpress.XtraEditors.CheckEdit(); + this.rbInsertAfter = new DevExpress.XtraEditors.CheckEdit(); + this.rbInsertBefore = new DevExpress.XtraEditors.CheckEdit(); + this.cbCloseGap = new DevExpress.XtraEditors.CheckEdit(); + this.cbAppendUnsortedChannels = new DevExpress.XtraEditors.CheckEdit(); + this.tabChannelList = new DevExpress.XtraTab.XtraTabControl(); + this.pageEmpty = new DevExpress.XtraTab.XtraTabPage(); + this.mnuContext = new DevExpress.XtraBars.PopupMenu(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainerControl1)).BeginInit(); this.splitContainerControl1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.grpOutputList)).BeginInit(); this.grpOutputList.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.gridOutput)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridLeft)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dsChannels)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.gviewOutput)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gviewLeft)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pnlEditControls)).BeginInit(); this.pnlEditControls.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.comboEditMode.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.grpInputList)).BeginInit(); this.grpInputList.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.gridInput)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.gviewInput)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridRight)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gviewRight)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.panelControl3)).BeginInit(); this.panelControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.grpTopPanel)).BeginInit(); this.grpTopPanel.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.comboUnsortedAction.Properties)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.comboChannelList.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbInsertSwap.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbInsertAfter.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbInsertBefore.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbCloseGap.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbAppendUnsortedChannels.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tabChannelList)).BeginInit(); + this.tabChannelList.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.mnuContext)).BeginInit(); this.SuspendLayout(); // @@ -180,66 +194,69 @@ resources.ApplyResources(this.splitContainerControl1.Panel1, "splitContainerControl1.Panel1"); this.splitContainerControl1.Panel2.Controls.Add(this.grpInputList); resources.ApplyResources(this.splitContainerControl1.Panel2, "splitContainerControl1.Panel2"); - this.splitContainerControl1.SplitterPosition = 336; + this.splitContainerControl1.SplitterPosition = 343; // // grpOutputList // - this.grpOutputList.Controls.Add(this.gridOutput); + 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); // - // gridOutput + // gridLeft // - this.gridOutput.DataSource = this.dsChannels; - resources.ApplyResources(this.gridOutput, "gridOutput"); - this.gridOutput.MainView = this.gviewOutput; - this.gridOutput.Name = "gridOutput"; - this.gridOutput.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { + this.gridLeft.DataSource = this.dsChannels; + resources.ApplyResources(this.gridLeft, "gridLeft"); + this.gridLeft.MainView = this.gviewLeft; + this.gridLeft.Name = "gridLeft"; + this.gridLeft.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { this.repositoryItemCheckedComboBoxEdit1}); - this.gridOutput.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { - this.gviewOutput}); - this.gridOutput.ProcessGridKey += new System.Windows.Forms.KeyEventHandler(this.gridOutput_ProcessGridKey); - this.gridOutput.Enter += new System.EventHandler(this.gridOutput_Enter); + this.gridLeft.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { + this.gviewLeft}); + this.gridLeft.ProcessGridKey += new System.Windows.Forms.KeyEventHandler(this.gridLeft_ProcessGridKey); // // dsChannels // this.dsChannels.DataSource = typeof(ChanSort.Api.ChannelInfo); // - // gviewOutput + // gviewLeft // - this.gviewOutput.Appearance.HeaderPanel.Options.UseTextOptions = true; - this.gviewOutput.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap; - this.gviewOutput.ColumnPanelRowHeight = 35; - this.gviewOutput.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { + this.gviewLeft.Appearance.HeaderPanel.Options.UseTextOptions = true; + this.gviewLeft.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap; + this.gviewLeft.ColumnPanelRowHeight = 35; + this.gviewLeft.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { this.colIndex1, this.colOutSlot, this.colOutName, this.colOutFav, - this.colUid1}); - this.gviewOutput.GridControl = this.gridOutput; - this.gviewOutput.Name = "gviewOutput"; - this.gviewOutput.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; - this.gviewOutput.OptionsCustomization.AllowGroup = false; - this.gviewOutput.OptionsLayout.LayoutVersion = "2"; - this.gviewOutput.OptionsSelection.MultiSelect = true; - this.gviewOutput.OptionsView.ColumnAutoWidth = false; - this.gviewOutput.OptionsView.ShowAutoFilterRow = true; - this.gviewOutput.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; - this.gviewOutput.OptionsView.ShowGroupPanel = false; - this.gviewOutput.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] { + this.colUid1, + this.colOutLock}); + this.gviewLeft.GridControl = this.gridLeft; + this.gviewLeft.Name = "gviewLeft"; + this.gviewLeft.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown; + this.gviewLeft.OptionsCustomization.AllowGroup = false; + this.gviewLeft.OptionsLayout.LayoutVersion = "2"; + this.gviewLeft.OptionsSelection.MultiSelect = true; + this.gviewLeft.OptionsView.ColumnAutoWidth = false; + this.gviewLeft.OptionsView.ShowAutoFilterRow = true; + this.gviewLeft.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; + this.gviewLeft.OptionsView.ShowGroupPanel = false; + this.gviewLeft.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] { new DevExpress.XtraGrid.Columns.GridColumnSortInfo(this.colOutSlot, DevExpress.Data.ColumnSortOrder.Ascending)}); - this.gviewOutput.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gviewOutput_RowClick); - this.gviewOutput.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gviewOutput_RowCellStyle); - this.gviewOutput.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gviewOutput_PopupMenuShowing); - this.gviewOutput.SelectionChanged += new DevExpress.Data.SelectionChangedEventHandler(this.gviewOutput_SelectionChanged); - this.gviewOutput.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gviewOutput_FocusedRowChanged); - this.gviewOutput.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(this.gviewOutput_CellValueChanged); - this.gviewOutput.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gviewOutput_CustomColumnDisplayText); - this.gviewOutput.LayoutUpgrade += new DevExpress.Utils.LayoutUpgadeEventHandler(this.gviewOutput_LayoutUpgrade); - this.gviewOutput.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gview_MouseDown); - this.gviewOutput.ValidatingEditor += new DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventHandler(this.gviewOutput_ValidatingEditor); + this.gviewLeft.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gviewLeft_RowClick); + this.gviewLeft.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gviewLeft_RowCellStyle); + this.gviewLeft.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gviewLeft_PopupMenuShowing); + this.gviewLeft.SelectionChanged += new DevExpress.Data.SelectionChangedEventHandler(this.gviewLeft_SelectionChanged); + this.gviewLeft.ShowingEditor += new System.ComponentModel.CancelEventHandler(this.gview_ShowingEditor); + this.gviewLeft.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gviewLeft_FocusedRowChanged); + this.gviewLeft.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(this.gviewLeft_CellValueChanged); + this.gviewLeft.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gviewLeft_CustomColumnDisplayText); + this.gviewLeft.LayoutUpgrade += new DevExpress.Utils.LayoutUpgadeEventHandler(this.gviewLeft_LayoutUpgrade); + this.gviewLeft.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gview_MouseDown); + this.gviewLeft.MouseUp += new System.Windows.Forms.MouseEventHandler(this.gview_MouseUp); + this.gviewLeft.ValidatingEditor += new DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventHandler(this.gviewLeft_ValidatingEditor); // // colIndex1 // @@ -293,6 +310,12 @@ this.colUid1.Name = "colUid1"; this.colUid1.OptionsColumn.AllowEdit = false; // + // colOutLock + // + resources.ApplyResources(this.colOutLock, "colOutLock"); + this.colOutLock.FieldName = "Lock"; + this.colOutLock.Name = "colOutLock"; + // // lblHotkeyLeft // resources.ApplyResources(this.lblHotkeyLeft, "lblHotkeyLeft"); @@ -300,511 +323,27 @@ // // pnlEditControls // - this.pnlEditControls.Controls.Add(this.comboEditMode); - this.pnlEditControls.Controls.Add(this.btnSyncFromLeft); - this.pnlEditControls.Controls.Add(this.labelControl2); + this.pnlEditControls.Controls.Add(this.btnToggleLock); + this.pnlEditControls.Controls.Add(this.btnToggleFavE); + this.pnlEditControls.Controls.Add(this.btnToggleFavD); + this.pnlEditControls.Controls.Add(this.btnToggleFavC); + this.pnlEditControls.Controls.Add(this.btnToggleFavB); + this.pnlEditControls.Controls.Add(this.btnToggleFavA); this.pnlEditControls.Controls.Add(this.btnClearLeftFilter); this.pnlEditControls.Controls.Add(this.btnRenum); - this.pnlEditControls.Controls.Add(this.btnSort); this.pnlEditControls.Controls.Add(this.btnDown); this.pnlEditControls.Controls.Add(this.btnUp); this.pnlEditControls.Controls.Add(this.btnRemove); - this.pnlEditControls.Controls.Add(this.txtSetSlot); - this.pnlEditControls.Controls.Add(this.labelControl11); resources.ApplyResources(this.pnlEditControls, "pnlEditControls"); this.pnlEditControls.Name = "pnlEditControls"; // - // comboEditMode + // btnToggleLock // - resources.ApplyResources(this.comboEditMode, "comboEditMode"); - this.comboEditMode.MenuManager = this.barManager1; - this.comboEditMode.Name = "comboEditMode"; - this.comboEditMode.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { - new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboEditMode.Properties.Buttons"))))}); - this.comboEditMode.Properties.Items.AddRange(new object[] { - resources.GetString("comboEditMode.Properties.Items"), - resources.GetString("comboEditMode.Properties.Items1"), - resources.GetString("comboEditMode.Properties.Items2")}); - this.comboEditMode.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; - this.comboEditMode.SelectedIndexChanged += new System.EventHandler(this.comboEditMode_SelectedIndexChanged); - // - // barManager1 - // - this.barManager1.Bars.AddRange(new DevExpress.XtraBars.Bar[] { - this.bar1}); - this.barManager1.Categories.AddRange(new DevExpress.XtraBars.BarManagerCategory[] { - ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories"))), - ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories1"))), - ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories2"))), - ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories3")))}); - this.barManager1.DockControls.Add(this.barDockControlTop); - this.barManager1.DockControls.Add(this.barDockControlBottom); - this.barManager1.DockControls.Add(this.barDockControlLeft); - this.barManager1.DockControls.Add(this.barDockControlRight); - this.barManager1.Form = this; - this.barManager1.Images = this.sharedImageCollection1; - this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { - this.mnuOptions, - this.barSubItem1, - this.miEnglish, - this.miGerman, - this.miFile, - this.miOpen, - this.miOpenReferenceFile, - this.miReload, - this.miRestoreOriginal, - this.miFileInformation, - this.miSave, - this.miSaveAs, - this.miQuit, - this.mnuHelp, - this.miAbout, - this.mnuCharset, - this.miIsoCharSets, - this.miCharsetForm, - this.miEdit, - this.miMoveUp, - this.miMoveDown, - this.miAddChannel, - this.miRemove, - this.miReplace, - this.miSort, - this.miRenum, - this.mnuFavSet, - this.miFavSet, - this.mnuFavUnset, - this.miFavUnset, - this.miLockOn, - this.miLockOff, - this.miSkipOn, - this.miSkipOff, - this.miHideOn, - this.miHideOff, - this.barSubItem2, - this.miTvSettings}); - this.barManager1.MaxItemId = 49; - // - // bar1 - // - this.bar1.BarName = "Tools"; - this.bar1.DockCol = 0; - this.bar1.DockRow = 0; - this.bar1.DockStyle = DevExpress.XtraBars.BarDockStyle.Top; - this.bar1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miFile), - new DevExpress.XtraBars.LinkPersistInfo(this.miOpen), - new DevExpress.XtraBars.LinkPersistInfo(this.miOpenReferenceFile), - new DevExpress.XtraBars.LinkPersistInfo(this.miReload), - new DevExpress.XtraBars.LinkPersistInfo(this.miSave), - new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs), - new DevExpress.XtraBars.LinkPersistInfo(this.miEdit, true), - new DevExpress.XtraBars.LinkPersistInfo(this.mnuFavSet), - new DevExpress.XtraBars.LinkPersistInfo(this.miLockOn), - new DevExpress.XtraBars.LinkPersistInfo(this.miSkipOn), - new DevExpress.XtraBars.LinkPersistInfo(this.miHideOn), - new DevExpress.XtraBars.LinkPersistInfo(this.barSubItem2, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miTvSettings), - new DevExpress.XtraBars.LinkPersistInfo(this.mnuOptions, true), - new DevExpress.XtraBars.LinkPersistInfo(this.barSubItem1), - new DevExpress.XtraBars.LinkPersistInfo(this.mnuHelp, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miAbout)}); - resources.ApplyResources(this.bar1, "bar1"); - // - // miFile - // - resources.ApplyResources(this.miFile, "miFile"); - this.miFile.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miFile.Id = 4; - this.miFile.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miOpen), - new DevExpress.XtraBars.LinkPersistInfo(this.miReload), - new DevExpress.XtraBars.LinkPersistInfo(this.miRestoreOriginal), - new DevExpress.XtraBars.LinkPersistInfo(this.miFileInformation), - new DevExpress.XtraBars.LinkPersistInfo(this.miSave), - new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs), - new DevExpress.XtraBars.LinkPersistInfo(this.miOpenReferenceFile, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miQuit, true)}); - this.miFile.Name = "miFile"; - // - // miOpen - // - resources.ApplyResources(this.miOpen, "miOpen"); - this.miOpen.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miOpen.Id = 5; - this.miOpen.ImageIndex = 3; - this.miOpen.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)); - this.miOpen.Name = "miOpen"; - this.miOpen.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miOpen_ItemClick); - // - // miReload - // - resources.ApplyResources(this.miReload, "miReload"); - this.miReload.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miReload.Enabled = false; - this.miReload.Id = 7; - this.miReload.ImageIndex = 5; - this.miReload.Name = "miReload"; - this.miReload.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miReload_ItemClick); - // - // miRestoreOriginal - // - resources.ApplyResources(this.miRestoreOriginal, "miRestoreOriginal"); - this.miRestoreOriginal.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miRestoreOriginal.Id = 42; - this.miRestoreOriginal.Name = "miRestoreOriginal"; - this.miRestoreOriginal.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRestoreOriginal_ItemClick); - // - // miFileInformation - // - resources.ApplyResources(this.miFileInformation, "miFileInformation"); - this.miFileInformation.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miFileInformation.Id = 43; - this.miFileInformation.Name = "miFileInformation"; - this.miFileInformation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miFileInformation_ItemClick); - // - // miSave - // - resources.ApplyResources(this.miSave, "miSave"); - this.miSave.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miSave.Enabled = false; - this.miSave.Id = 6; - this.miSave.ImageIndex = 4; - this.miSave.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)); - this.miSave.Name = "miSave"; - this.miSave.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSave_ItemClick); - // - // miSaveAs - // - resources.ApplyResources(this.miSaveAs, "miSaveAs"); - this.miSaveAs.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miSaveAs.Enabled = false; - this.miSaveAs.Id = 8; - this.miSaveAs.ImageIndex = 6; - this.miSaveAs.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.S)); - this.miSaveAs.Name = "miSaveAs"; - this.miSaveAs.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSaveAs_ItemClick); - // - // miOpenReferenceFile - // - resources.ApplyResources(this.miOpenReferenceFile, "miOpenReferenceFile"); - this.miOpenReferenceFile.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miOpenReferenceFile.Id = 44; - this.miOpenReferenceFile.ImageIndex = 23; - this.miOpenReferenceFile.Name = "miOpenReferenceFile"; - this.miOpenReferenceFile.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miOpenReferenceFile_ItemClick); - // - // miQuit - // - resources.ApplyResources(this.miQuit, "miQuit"); - this.miQuit.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); - this.miQuit.Id = 9; - this.miQuit.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)); - this.miQuit.Name = "miQuit"; - this.miQuit.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miQuit_ItemClick); - // - // miEdit - // - resources.ApplyResources(this.miEdit, "miEdit"); - this.miEdit.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miEdit.Id = 22; - this.miEdit.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miAddChannel), - new DevExpress.XtraBars.LinkPersistInfo(this.miRemove), - new DevExpress.XtraBars.LinkPersistInfo(this.miReplace), - new DevExpress.XtraBars.LinkPersistInfo(this.miSort), - new DevExpress.XtraBars.LinkPersistInfo(this.miRenum), - new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuFavSet, "", true, true, true, 0, null, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph), - new DevExpress.XtraBars.LinkPersistInfo(this.mnuFavUnset), - new DevExpress.XtraBars.LinkPersistInfo(this.miLockOn, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miLockOff), - new DevExpress.XtraBars.LinkPersistInfo(this.miSkipOn, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miSkipOff), - new DevExpress.XtraBars.LinkPersistInfo(this.miHideOn, true), - new DevExpress.XtraBars.LinkPersistInfo(this.miHideOff)}); - this.miEdit.Name = "miEdit"; - // - // miAddChannel - // - resources.ApplyResources(this.miAddChannel, "miAddChannel"); - this.miAddChannel.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miAddChannel.Id = 39; - this.miAddChannel.ImageIndex = 20; - this.miAddChannel.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Add)); - this.miAddChannel.Name = "miAddChannel"; - // - // miRemove - // - resources.ApplyResources(this.miRemove, "miRemove"); - this.miRemove.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miRemove.Id = 25; - this.miRemove.ImageIndex = 11; - this.miRemove.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)); - this.miRemove.Name = "miRemove"; - this.miRemove.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRemove_ItemClick); - // - // miReplace - // - resources.ApplyResources(this.miReplace, "miReplace"); - this.miReplace.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miReplace.Id = 26; - this.miReplace.ImageIndex = 12; - this.miReplace.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)); - this.miReplace.Name = "miReplace"; - this.miReplace.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miReplace_ItemClick); - // - // miSort - // - resources.ApplyResources(this.miSort, "miSort"); - this.miSort.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miSort.Id = 40; - this.miSort.ImageIndex = 21; - this.miSort.Name = "miSort"; - // - // miRenum - // - resources.ApplyResources(this.miRenum, "miRenum"); - this.miRenum.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miRenum.Id = 41; - this.miRenum.ImageIndex = 22; - this.miRenum.Name = "miRenum"; - // - // mnuFavSet - // - resources.ApplyResources(this.mnuFavSet, "mnuFavSet"); - this.mnuFavSet.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.mnuFavSet.Id = 37; - this.mnuFavSet.ImageIndex = 13; - this.mnuFavSet.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.F)); - this.mnuFavSet.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miFavSet)}); - this.mnuFavSet.Name = "mnuFavSet"; - this.mnuFavSet.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu; - // - // miFavSet - // - resources.ApplyResources(this.miFavSet, "miFavSet"); - this.miFavSet.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miFavSet.Id = 20; - this.miFavSet.Name = "miFavSet"; - this.miFavSet.ShowNumbers = true; - this.miFavSet.Strings.AddRange(new object[] { - "A", - "B", - "C", - "D"}); - this.miFavSet.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miFavSet_ListItemClick); - // - // mnuFavUnset - // - resources.ApplyResources(this.mnuFavUnset, "mnuFavUnset"); - this.mnuFavUnset.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.mnuFavUnset.Id = 38; - this.mnuFavUnset.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miFavUnset)}); - this.mnuFavUnset.Name = "mnuFavUnset"; - // - // miFavUnset - // - resources.ApplyResources(this.miFavUnset, "miFavUnset"); - this.miFavUnset.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miFavUnset.Id = 21; - this.miFavUnset.Name = "miFavUnset"; - this.miFavUnset.Strings.AddRange(new object[] { - "A", - "B", - "C", - "D"}); - this.miFavUnset.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miFavUnset_ListItemClick); - // - // miLockOn - // - resources.ApplyResources(this.miLockOn, "miLockOn"); - this.miLockOn.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miLockOn.Id = 27; - this.miLockOn.ImageIndex = 15; - this.miLockOn.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.L)); - this.miLockOn.Name = "miLockOn"; - this.miLockOn.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miLockOn_ItemClick); - // - // miLockOff - // - resources.ApplyResources(this.miLockOff, "miLockOff"); - this.miLockOff.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miLockOff.Id = 28; - this.miLockOff.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.L)); - this.miLockOff.Name = "miLockOff"; - this.miLockOff.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miLockOff_ItemClick); - // - // miSkipOn - // - resources.ApplyResources(this.miSkipOn, "miSkipOn"); - this.miSkipOn.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miSkipOn.Id = 29; - this.miSkipOn.ImageIndex = 16; - this.miSkipOn.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.K)); - this.miSkipOn.Name = "miSkipOn"; - this.miSkipOn.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSkipOn_ItemClick); - // - // miSkipOff - // - resources.ApplyResources(this.miSkipOff, "miSkipOff"); - this.miSkipOff.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miSkipOff.Id = 30; - this.miSkipOff.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.K)); - this.miSkipOff.Name = "miSkipOff"; - this.miSkipOff.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSkipOff_ItemClick); - // - // miHideOn - // - resources.ApplyResources(this.miHideOn, "miHideOn"); - this.miHideOn.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miHideOn.Id = 31; - this.miHideOn.ImageIndex = 17; - this.miHideOn.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H)); - this.miHideOn.Name = "miHideOn"; - this.miHideOn.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miHideOn_ItemClick); - // - // miHideOff - // - resources.ApplyResources(this.miHideOff, "miHideOff"); - this.miHideOff.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miHideOff.Id = 32; - this.miHideOff.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.H)); - this.miHideOff.Name = "miHideOff"; - this.miHideOff.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miHideOff_ItemClick); - // - // barSubItem2 - // - resources.ApplyResources(this.barSubItem2, "barSubItem2"); - this.barSubItem2.Id = 47; - this.barSubItem2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miTvSettings)}); - this.barSubItem2.Name = "barSubItem2"; - // - // miTvSettings - // - resources.ApplyResources(this.miTvSettings, "miTvSettings"); - this.miTvSettings.Id = 48; - this.miTvSettings.ImageIndex = 27; - this.miTvSettings.Name = "miTvSettings"; - this.miTvSettings.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miTvCountrySetup_ItemClick); - // - // mnuOptions - // - resources.ApplyResources(this.mnuOptions, "mnuOptions"); - this.mnuOptions.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); - this.mnuOptions.Id = 34; - 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)}); - this.mnuOptions.Name = "mnuOptions"; - // - // barSubItem1 - // - resources.ApplyResources(this.barSubItem1, "barSubItem1"); - this.barSubItem1.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); - this.barSubItem1.Id = 0; - this.barSubItem1.ImageIndex = 14; - this.barSubItem1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miEnglish), - new DevExpress.XtraBars.LinkPersistInfo(this.miGerman)}); - this.barSubItem1.Name = "barSubItem1"; - this.barSubItem1.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu; - // - // 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; - this.miEnglish.Name = "miEnglish"; - this.miEnglish.Tag = "en"; - this.miEnglish.DownChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.miLanguage_DownChanged); - // - // 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; - this.miGerman.Name = "miGerman"; - this.miGerman.Tag = "de-DE"; - this.miGerman.DownChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.miLanguage_DownChanged); - // - // mnuCharset - // - resources.ApplyResources(this.mnuCharset, "mnuCharset"); - this.mnuCharset.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); - this.mnuCharset.Id = 15; - this.mnuCharset.ImageIndex = 9; - this.mnuCharset.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miCharsetForm), - new DevExpress.XtraBars.LinkPersistInfo(this.miIsoCharSets, true)}); - this.mnuCharset.Name = "mnuCharset"; - this.mnuCharset.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu; - // - // miCharsetForm - // - resources.ApplyResources(this.miCharsetForm, "miCharsetForm"); - this.miCharsetForm.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); - this.miCharsetForm.Id = 13; - this.miCharsetForm.ImageIndex = 9; - this.miCharsetForm.Name = "miCharsetForm"; - this.miCharsetForm.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miCharset_ItemClick); - // - // miIsoCharSets - // - resources.ApplyResources(this.miIsoCharSets, "miIsoCharSets"); - this.miIsoCharSets.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); - this.miIsoCharSets.Id = 14; - this.miIsoCharSets.Name = "miIsoCharSets"; - this.miIsoCharSets.ShowNumbers = true; - this.miIsoCharSets.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miIsoCharSets_ListItemClick); - // - // mnuHelp - // - resources.ApplyResources(this.mnuHelp, "mnuHelp"); - this.mnuHelp.CategoryGuid = new System.Guid("0d554574-30e8-4d31-9a70-da702a984260"); - this.mnuHelp.Id = 10; - this.mnuHelp.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { - new DevExpress.XtraBars.LinkPersistInfo(this.miAbout)}); - this.mnuHelp.Name = "mnuHelp"; - // - // miAbout - // - resources.ApplyResources(this.miAbout, "miAbout"); - this.miAbout.CategoryGuid = new System.Guid("0d554574-30e8-4d31-9a70-da702a984260"); - this.miAbout.Id = 11; - this.miAbout.ImageIndex = 7; - this.miAbout.Name = "miAbout"; - this.miAbout.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miAbout_ItemClick); - // - // barDockControlTop - // - this.barDockControlTop.CausesValidation = false; - resources.ApplyResources(this.barDockControlTop, "barDockControlTop"); - // - // barDockControlBottom - // - this.barDockControlBottom.CausesValidation = false; - resources.ApplyResources(this.barDockControlBottom, "barDockControlBottom"); - // - // barDockControlLeft - // - this.barDockControlLeft.CausesValidation = false; - resources.ApplyResources(this.barDockControlLeft, "barDockControlLeft"); - // - // barDockControlRight - // - this.barDockControlRight.CausesValidation = false; - resources.ApplyResources(this.barDockControlRight, "barDockControlRight"); + this.btnToggleLock.ImageIndex = 15; + this.btnToggleLock.ImageList = this.sharedImageCollection1; + resources.ApplyResources(this.btnToggleLock, "btnToggleLock"); + this.btnToggleLock.Name = "btnToggleLock"; + this.btnToggleLock.Click += new System.EventHandler(this.btnToggleLock_Click); // // sharedImageCollection1 // @@ -812,45 +351,50 @@ // // this.sharedImageCollection1.ImageSource.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("sharedImageCollection1.ImageSource.ImageStream"))); - this.sharedImageCollection1.ImageSource.Images.SetKeyName(24, "0088.png"); - this.sharedImageCollection1.ImageSource.Images.SetKeyName(25, "0089.png"); - this.sharedImageCollection1.ImageSource.Images.SetKeyName(26, "0119.png"); - this.sharedImageCollection1.ImageSource.Images.SetKeyName(27, "0025.png"); this.sharedImageCollection1.ParentControl = this; // - // miMoveUp + // btnToggleFavE // - resources.ApplyResources(this.miMoveUp, "miMoveUp"); - this.miMoveUp.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miMoveUp.Id = 45; - this.miMoveUp.ImageIndex = 24; - this.miMoveUp.Name = "miMoveUp"; - this.miMoveUp.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveUp_ItemClick); + this.btnToggleFavE.ImageList = this.sharedImageCollection1; + resources.ApplyResources(this.btnToggleFavE, "btnToggleFavE"); + this.btnToggleFavE.Name = "btnToggleFavE"; + this.btnToggleFavE.Tag = ""; + this.btnToggleFavE.Click += new System.EventHandler(this.btnToggleFav_Click); // - // miMoveDown + // btnToggleFavD // - resources.ApplyResources(this.miMoveDown, "miMoveDown"); - this.miMoveDown.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); - this.miMoveDown.Id = 46; - this.miMoveDown.ImageIndex = 25; - this.miMoveDown.Name = "miMoveDown"; - this.miMoveDown.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveDown_ItemClick); + this.btnToggleFavD.ImageList = this.sharedImageCollection1; + resources.ApplyResources(this.btnToggleFavD, "btnToggleFavD"); + this.btnToggleFavD.Name = "btnToggleFavD"; + this.btnToggleFavD.Click += new System.EventHandler(this.btnToggleFav_Click); // - // btnSyncFromLeft + // btnToggleFavC // - resources.ApplyResources(this.btnSyncFromLeft, "btnSyncFromLeft"); - this.btnSyncFromLeft.Name = "btnSyncFromLeft"; - this.btnSyncFromLeft.Click += new System.EventHandler(this.btnSyncFromLeft_Click); + this.btnToggleFavC.ImageList = this.sharedImageCollection1; + resources.ApplyResources(this.btnToggleFavC, "btnToggleFavC"); + this.btnToggleFavC.Name = "btnToggleFavC"; + this.btnToggleFavC.Click += new System.EventHandler(this.btnToggleFav_Click); // - // labelControl2 + // btnToggleFavB // - resources.ApplyResources(this.labelControl2, "labelControl2"); - this.labelControl2.Name = "labelControl2"; + this.btnToggleFavB.ImageList = this.sharedImageCollection1; + resources.ApplyResources(this.btnToggleFavB, "btnToggleFavB"); + this.btnToggleFavB.Name = "btnToggleFavB"; + this.btnToggleFavB.Click += new System.EventHandler(this.btnToggleFav_Click); + // + // btnToggleFavA + // + this.btnToggleFavA.ImageList = this.sharedImageCollection1; + resources.ApplyResources(this.btnToggleFavA, "btnToggleFavA"); + this.btnToggleFavA.Name = "btnToggleFavA"; + this.btnToggleFavA.Click += new System.EventHandler(this.btnToggleFav_Click); // // btnClearLeftFilter // this.btnClearLeftFilter.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("btnClearLeftFilter.Appearance.Font"))); this.btnClearLeftFilter.Appearance.Options.UseFont = true; + this.btnClearLeftFilter.ImageIndex = 28; + this.btnClearLeftFilter.ImageList = this.sharedImageCollection1; resources.ApplyResources(this.btnClearLeftFilter, "btnClearLeftFilter"); this.btnClearLeftFilter.Name = "btnClearLeftFilter"; this.btnClearLeftFilter.Click += new System.EventHandler(this.btnClearLeftFilter_Click); @@ -863,14 +407,6 @@ this.btnRenum.Name = "btnRenum"; this.btnRenum.Click += new System.EventHandler(this.btnRenum_Click); // - // btnSort - // - this.btnSort.ImageIndex = 21; - this.btnSort.ImageList = this.sharedImageCollection1; - resources.ApplyResources(this.btnSort, "btnSort"); - this.btnSort.Name = "btnSort"; - this.btnSort.Click += new System.EventHandler(this.btnSort_Click); - // // btnDown // this.btnDown.ImageIndex = 25; @@ -895,50 +431,33 @@ this.btnRemove.Name = "btnRemove"; this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click); // - // txtSetSlot - // - resources.ApplyResources(this.txtSetSlot, "txtSetSlot"); - this.txtSetSlot.Name = "txtSetSlot"; - 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.EditMask = resources.GetString("txtSetSlot.Properties.Mask.EditMask"); - this.txtSetSlot.Properties.Mask.MaskType = ((DevExpress.XtraEditors.Mask.MaskType)(resources.GetObject("txtSetSlot.Properties.Mask.MaskType"))); - 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); - // - // labelControl11 - // - resources.ApplyResources(this.labelControl11, "labelControl11"); - this.labelControl11.Name = "labelControl11"; - // // grpInputList // - this.grpInputList.Controls.Add(this.gridInput); + 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); // - // gridInput + // gridRight // - this.gridInput.DataSource = this.dsChannels; - resources.ApplyResources(this.gridInput, "gridInput"); - this.gridInput.MainView = this.gviewInput; - this.gridInput.Name = "gridInput"; - this.gridInput.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { + this.gridRight.DataSource = this.dsChannels; + resources.ApplyResources(this.gridRight, "gridRight"); + this.gridRight.MainView = this.gviewRight; + this.gridRight.Name = "gridRight"; + this.gridRight.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { this.repositoryItemCheckedComboBoxEdit2}); - this.gridInput.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { - this.gviewInput}); - this.gridInput.ProcessGridKey += new System.Windows.Forms.KeyEventHandler(this.gridInput_ProcessGridKey); - this.gridInput.Enter += new System.EventHandler(this.gridInput_Enter); + this.gridRight.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { + this.gviewRight}); + this.gridRight.ProcessGridKey += new System.Windows.Forms.KeyEventHandler(this.gridRight_ProcessGridKey); // - // gviewInput + // gviewRight // - this.gviewInput.Appearance.HeaderPanel.Options.UseTextOptions = true; - this.gviewInput.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap; - this.gviewInput.ColumnPanelRowHeight = 35; - this.gviewInput.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { + this.gviewRight.Appearance.HeaderPanel.Options.UseTextOptions = true; + this.gviewRight.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap; + this.gviewRight.ColumnPanelRowHeight = 35; + this.gviewRight.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { this.colIndex, this.colSlotOld, this.colSlotNew, @@ -966,27 +485,29 @@ this.colNetworkOperator, this.colDebug, this.colLogicalIndex}); - this.gviewInput.GridControl = this.gridInput; - this.gviewInput.Name = "gviewInput"; - this.gviewInput.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click; - this.gviewInput.OptionsCustomization.AllowGroup = false; - this.gviewInput.OptionsLayout.LayoutVersion = "3"; - this.gviewInput.OptionsSelection.MultiSelect = true; - this.gviewInput.OptionsView.ColumnAutoWidth = false; - this.gviewInput.OptionsView.ShowAutoFilterRow = true; - this.gviewInput.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; - this.gviewInput.OptionsView.ShowGroupPanel = false; - this.gviewInput.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] { + this.gviewRight.GridControl = this.gridRight; + this.gviewRight.Name = "gviewRight"; + this.gviewRight.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.MouseDown; + this.gviewRight.OptionsCustomization.AllowGroup = false; + this.gviewRight.OptionsLayout.LayoutVersion = "3"; + this.gviewRight.OptionsSelection.MultiSelect = true; + this.gviewRight.OptionsView.ColumnAutoWidth = false; + this.gviewRight.OptionsView.ShowAutoFilterRow = true; + this.gviewRight.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; + this.gviewRight.OptionsView.ShowGroupPanel = false; + this.gviewRight.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] { new DevExpress.XtraGrid.Columns.GridColumnSortInfo(this.colSlotOld, DevExpress.Data.ColumnSortOrder.Ascending)}); - this.gviewInput.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gviewInput_RowClick); - this.gviewInput.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gviewInput_RowCellStyle); - this.gviewInput.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gviewInput_PopupMenuShowing); - this.gviewInput.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gviewInput_FocusedRowChanged); - this.gviewInput.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(this.gviewInput_CellValueChanged); - this.gviewInput.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gviewInput_CustomColumnDisplayText); - this.gviewInput.LayoutUpgrade += new DevExpress.Utils.LayoutUpgadeEventHandler(this.gviewInput_LayoutUpgrade); - this.gviewInput.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gview_MouseDown); - this.gviewInput.ValidatingEditor += new DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventHandler(this.gviewInput_ValidatingEditor); + this.gviewRight.RowClick += new DevExpress.XtraGrid.Views.Grid.RowClickEventHandler(this.gviewRight_RowClick); + this.gviewRight.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(this.gviewRight_RowCellStyle); + this.gviewRight.PopupMenuShowing += new DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventHandler(this.gviewRight_PopupMenuShowing); + this.gviewRight.ShowingEditor += new System.ComponentModel.CancelEventHandler(this.gview_ShowingEditor); + this.gviewRight.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(this.gviewRight_FocusedRowChanged); + this.gviewRight.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(this.gviewRight_CellValueChanged); + this.gviewRight.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gviewRight_CustomColumnDisplayText); + this.gviewRight.LayoutUpgrade += new DevExpress.Utils.LayoutUpgadeEventHandler(this.gviewRight_LayoutUpgrade); + this.gviewRight.MouseDown += new System.Windows.Forms.MouseEventHandler(this.gview_MouseDown); + this.gviewRight.MouseUp += new System.Windows.Forms.MouseEventHandler(this.gview_MouseUp); + this.gviewRight.ValidatingEditor += new DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventHandler(this.gviewRight_ValidatingEditor); // // colIndex // @@ -1200,95 +721,665 @@ // // panelControl3 // - this.panelControl3.Controls.Add(this.btnCloneChannelList); + this.panelControl3.Controls.Add(this.btnAddAll); this.panelControl3.Controls.Add(this.btnClearRightFilter); - this.panelControl3.Controls.Add(this.btnSyncFromRight); this.panelControl3.Controls.Add(this.btnAdd); resources.ApplyResources(this.panelControl3, "panelControl3"); this.panelControl3.Name = "panelControl3"; // - // btnCloneChannelList + // btnAddAll // - resources.ApplyResources(this.btnCloneChannelList, "btnCloneChannelList"); - this.btnCloneChannelList.Name = "btnCloneChannelList"; - this.btnCloneChannelList.Click += new System.EventHandler(this.btnCloneChannelList_Click); + resources.ApplyResources(this.btnAddAll, "btnAddAll"); + this.btnAddAll.Name = "btnAddAll"; + this.btnAddAll.Click += new System.EventHandler(this.btnAddAll_Click); // // btnClearRightFilter // this.btnClearRightFilter.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("btnClearRightFilter.Appearance.Font"))); this.btnClearRightFilter.Appearance.Options.UseFont = true; + this.btnClearRightFilter.ImageIndex = 28; + this.btnClearRightFilter.ImageList = this.sharedImageCollection1; resources.ApplyResources(this.btnClearRightFilter, "btnClearRightFilter"); this.btnClearRightFilter.Name = "btnClearRightFilter"; this.btnClearRightFilter.Click += new System.EventHandler(this.btnClearRightFilter_Click); // - // btnSyncFromRight - // - resources.ApplyResources(this.btnSyncFromRight, "btnSyncFromRight"); - this.btnSyncFromRight.Name = "btnSyncFromRight"; - this.btnSyncFromRight.Click += new System.EventHandler(this.btnSyncFromRight_Click); - // // btnAdd // - this.btnAdd.ImageIndex = 20; + this.btnAdd.ImageIndex = 26; this.btnAdd.ImageList = this.sharedImageCollection1; resources.ApplyResources(this.btnAdd, "btnAdd"); this.btnAdd.Name = "btnAdd"; this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); // + // barManager1 + // + this.barManager1.Bars.AddRange(new DevExpress.XtraBars.Bar[] { + this.bar1}); + this.barManager1.Categories.AddRange(new DevExpress.XtraBars.BarManagerCategory[] { + ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories"))), + ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories1"))), + ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories2"))), + ((DevExpress.XtraBars.BarManagerCategory)(resources.GetObject("barManager1.Categories3")))}); + this.barManager1.DockControls.Add(this.barDockControlTop); + this.barManager1.DockControls.Add(this.barDockControlBottom); + this.barManager1.DockControls.Add(this.barDockControlLeft); + this.barManager1.DockControls.Add(this.barDockControlRight); + this.barManager1.Form = this; + this.barManager1.Images = this.sharedImageCollection1; + this.barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { + this.mnuOptions, + this.barSubItem1, + this.miEnglish, + this.miGerman, + this.miFile, + this.miOpen, + this.miOpenReferenceFile, + this.miReload, + this.miRestoreOriginal, + this.miFileInformation, + this.miSave, + this.miSaveAs, + this.miQuit, + this.mnuHelp, + this.miAbout, + this.mnuCharset, + this.miIsoCharSets, + this.miCharsetForm, + this.miEdit, + this.miMoveUp, + this.miMoveDown, + this.miAddChannel, + this.miRemove, + this.miSort, + this.miRenum, + this.mnuFavSet, + this.miFavSet, + this.mnuFavUnset, + this.miFavUnset, + this.miLockOn, + this.miLockOff, + this.miSkipOn, + this.miSkipOff, + this.miHideOn, + this.miHideOff, + this.barSubItem2, + this.miTvSettings, + this.miEraseChannelData, + this.miOpenWebsite, + this.miWiki}); + this.barManager1.MaxItemId = 52; + // + // bar1 + // + this.bar1.BarName = "Tools"; + this.bar1.DockCol = 0; + this.bar1.DockRow = 0; + this.bar1.DockStyle = DevExpress.XtraBars.BarDockStyle.Top; + this.bar1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miFile), + new DevExpress.XtraBars.LinkPersistInfo(this.miOpen), + new DevExpress.XtraBars.LinkPersistInfo(this.miOpenReferenceFile), + new DevExpress.XtraBars.LinkPersistInfo(this.miReload), + new DevExpress.XtraBars.LinkPersistInfo(this.miSave), + new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs), + new DevExpress.XtraBars.LinkPersistInfo(this.miEdit, true), + new DevExpress.XtraBars.LinkPersistInfo(this.mnuFavSet), + new DevExpress.XtraBars.LinkPersistInfo(this.miLockOn), + new DevExpress.XtraBars.LinkPersistInfo(this.miSkipOn), + new DevExpress.XtraBars.LinkPersistInfo(this.miHideOn), + new DevExpress.XtraBars.LinkPersistInfo(this.barSubItem2, true), + new DevExpress.XtraBars.LinkPersistInfo(this.miTvSettings), + new DevExpress.XtraBars.LinkPersistInfo(this.mnuOptions, true), + new DevExpress.XtraBars.LinkPersistInfo(this.barSubItem1), + new DevExpress.XtraBars.LinkPersistInfo(this.mnuHelp, true), + new DevExpress.XtraBars.LinkPersistInfo(this.miAbout)}); + resources.ApplyResources(this.bar1, "bar1"); + // + // miFile + // + resources.ApplyResources(this.miFile, "miFile"); + this.miFile.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miFile.Id = 4; + this.miFile.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miOpen), + new DevExpress.XtraBars.LinkPersistInfo(this.miReload), + new DevExpress.XtraBars.LinkPersistInfo(this.miRestoreOriginal), + new DevExpress.XtraBars.LinkPersistInfo(this.miFileInformation), + new DevExpress.XtraBars.LinkPersistInfo(this.miSave), + new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs), + new DevExpress.XtraBars.LinkPersistInfo(this.miOpenReferenceFile, true), + new DevExpress.XtraBars.LinkPersistInfo(this.miQuit, true)}); + this.miFile.Name = "miFile"; + // + // miOpen + // + resources.ApplyResources(this.miOpen, "miOpen"); + this.miOpen.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miOpen.Id = 5; + this.miOpen.ImageIndex = 3; + this.miOpen.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)); + this.miOpen.Name = "miOpen"; + this.miOpen.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miOpen_ItemClick); + // + // miReload + // + resources.ApplyResources(this.miReload, "miReload"); + this.miReload.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miReload.Enabled = false; + this.miReload.Id = 7; + this.miReload.ImageIndex = 5; + this.miReload.Name = "miReload"; + this.miReload.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miReload_ItemClick); + // + // miRestoreOriginal + // + resources.ApplyResources(this.miRestoreOriginal, "miRestoreOriginal"); + this.miRestoreOriginal.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miRestoreOriginal.Id = 42; + this.miRestoreOriginal.Name = "miRestoreOriginal"; + this.miRestoreOriginal.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRestoreOriginal_ItemClick); + // + // miFileInformation + // + resources.ApplyResources(this.miFileInformation, "miFileInformation"); + this.miFileInformation.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miFileInformation.Id = 43; + this.miFileInformation.Name = "miFileInformation"; + this.miFileInformation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miFileInformation_ItemClick); + // + // miSave + // + resources.ApplyResources(this.miSave, "miSave"); + this.miSave.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miSave.Enabled = false; + this.miSave.Id = 6; + this.miSave.ImageIndex = 4; + this.miSave.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)); + this.miSave.Name = "miSave"; + this.miSave.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSave_ItemClick); + // + // miSaveAs + // + resources.ApplyResources(this.miSaveAs, "miSaveAs"); + this.miSaveAs.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miSaveAs.Enabled = false; + this.miSaveAs.Id = 8; + this.miSaveAs.ImageIndex = 6; + this.miSaveAs.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.S)); + this.miSaveAs.Name = "miSaveAs"; + this.miSaveAs.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSaveAs_ItemClick); + // + // miOpenReferenceFile + // + resources.ApplyResources(this.miOpenReferenceFile, "miOpenReferenceFile"); + this.miOpenReferenceFile.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miOpenReferenceFile.Id = 44; + this.miOpenReferenceFile.ImageIndex = 23; + this.miOpenReferenceFile.Name = "miOpenReferenceFile"; + this.miOpenReferenceFile.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miOpenReferenceFile_ItemClick); + // + // miQuit + // + resources.ApplyResources(this.miQuit, "miQuit"); + this.miQuit.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3"); + this.miQuit.Id = 9; + this.miQuit.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)); + this.miQuit.Name = "miQuit"; + this.miQuit.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miQuit_ItemClick); + // + // miEdit + // + resources.ApplyResources(this.miEdit, "miEdit"); + this.miEdit.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miEdit.Id = 22; + this.miEdit.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miAddChannel), + new DevExpress.XtraBars.LinkPersistInfo(this.miRemove), + new DevExpress.XtraBars.LinkPersistInfo(this.miSort), + new DevExpress.XtraBars.LinkPersistInfo(this.miRenum), + new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuFavSet, "", true, true, true, 0, null, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph), + new DevExpress.XtraBars.LinkPersistInfo(this.mnuFavUnset), + new DevExpress.XtraBars.LinkPersistInfo(this.miLockOn, true), + new DevExpress.XtraBars.LinkPersistInfo(this.miLockOff), + new DevExpress.XtraBars.LinkPersistInfo(this.miSkipOn, true), + new DevExpress.XtraBars.LinkPersistInfo(this.miSkipOff), + new DevExpress.XtraBars.LinkPersistInfo(this.miHideOn, true), + new DevExpress.XtraBars.LinkPersistInfo(this.miHideOff)}); + this.miEdit.Name = "miEdit"; + // + // miAddChannel + // + resources.ApplyResources(this.miAddChannel, "miAddChannel"); + this.miAddChannel.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miAddChannel.Id = 39; + this.miAddChannel.ImageIndex = 20; + this.miAddChannel.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Add)); + this.miAddChannel.Name = "miAddChannel"; + // + // miRemove + // + resources.ApplyResources(this.miRemove, "miRemove"); + this.miRemove.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miRemove.Id = 25; + this.miRemove.ImageIndex = 11; + this.miRemove.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)); + this.miRemove.Name = "miRemove"; + this.miRemove.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRemove_ItemClick); + // + // miSort + // + resources.ApplyResources(this.miSort, "miSort"); + this.miSort.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miSort.Id = 40; + this.miSort.ImageIndex = 21; + this.miSort.Name = "miSort"; + this.miSort.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSort_ItemClick); + // + // miRenum + // + resources.ApplyResources(this.miRenum, "miRenum"); + this.miRenum.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miRenum.Id = 41; + this.miRenum.ImageIndex = 22; + this.miRenum.Name = "miRenum"; + this.miRenum.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRenum_ItemClick); + // + // mnuFavSet + // + resources.ApplyResources(this.mnuFavSet, "mnuFavSet"); + this.mnuFavSet.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.mnuFavSet.Id = 37; + this.mnuFavSet.ImageIndex = 13; + this.mnuFavSet.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.F)); + this.mnuFavSet.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miFavSet)}); + this.mnuFavSet.Name = "mnuFavSet"; + this.mnuFavSet.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu; + // + // miFavSet + // + resources.ApplyResources(this.miFavSet, "miFavSet"); + this.miFavSet.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miFavSet.Id = 20; + this.miFavSet.Name = "miFavSet"; + this.miFavSet.ShowNumbers = true; + this.miFavSet.Strings.AddRange(new object[] { + "A", + "B", + "C", + "D"}); + this.miFavSet.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miFavSet_ListItemClick); + // + // mnuFavUnset + // + resources.ApplyResources(this.mnuFavUnset, "mnuFavUnset"); + this.mnuFavUnset.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.mnuFavUnset.Id = 38; + this.mnuFavUnset.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miFavUnset)}); + this.mnuFavUnset.Name = "mnuFavUnset"; + // + // miFavUnset + // + resources.ApplyResources(this.miFavUnset, "miFavUnset"); + this.miFavUnset.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miFavUnset.Id = 21; + this.miFavUnset.Name = "miFavUnset"; + this.miFavUnset.Strings.AddRange(new object[] { + "A", + "B", + "C", + "D"}); + this.miFavUnset.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miFavUnset_ListItemClick); + // + // miLockOn + // + resources.ApplyResources(this.miLockOn, "miLockOn"); + this.miLockOn.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miLockOn.Id = 27; + this.miLockOn.ImageIndex = 15; + this.miLockOn.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.L)); + this.miLockOn.Name = "miLockOn"; + this.miLockOn.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miLockOn_ItemClick); + // + // miLockOff + // + resources.ApplyResources(this.miLockOff, "miLockOff"); + this.miLockOff.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miLockOff.Id = 28; + this.miLockOff.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.L)); + this.miLockOff.Name = "miLockOff"; + this.miLockOff.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miLockOff_ItemClick); + // + // miSkipOn + // + resources.ApplyResources(this.miSkipOn, "miSkipOn"); + this.miSkipOn.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miSkipOn.Id = 29; + this.miSkipOn.ImageIndex = 16; + this.miSkipOn.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.K)); + this.miSkipOn.Name = "miSkipOn"; + this.miSkipOn.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSkipOn_ItemClick); + // + // miSkipOff + // + resources.ApplyResources(this.miSkipOff, "miSkipOff"); + this.miSkipOff.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miSkipOff.Id = 30; + this.miSkipOff.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.K)); + this.miSkipOff.Name = "miSkipOff"; + this.miSkipOff.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSkipOff_ItemClick); + // + // miHideOn + // + resources.ApplyResources(this.miHideOn, "miHideOn"); + this.miHideOn.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miHideOn.Id = 31; + this.miHideOn.ImageIndex = 17; + this.miHideOn.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H)); + this.miHideOn.Name = "miHideOn"; + this.miHideOn.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miHideOn_ItemClick); + // + // miHideOff + // + resources.ApplyResources(this.miHideOff, "miHideOff"); + this.miHideOff.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miHideOff.Id = 32; + this.miHideOff.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.H)); + this.miHideOff.Name = "miHideOff"; + this.miHideOff.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miHideOff_ItemClick); + // + // barSubItem2 + // + resources.ApplyResources(this.barSubItem2, "barSubItem2"); + this.barSubItem2.Id = 47; + this.barSubItem2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miTvSettings), + new DevExpress.XtraBars.LinkPersistInfo(this.miEraseChannelData)}); + this.barSubItem2.Name = "barSubItem2"; + // + // miTvSettings + // + resources.ApplyResources(this.miTvSettings, "miTvSettings"); + this.miTvSettings.Id = 48; + this.miTvSettings.ImageIndex = 27; + this.miTvSettings.Name = "miTvSettings"; + this.miTvSettings.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miTvCountrySetup_ItemClick); + // + // miEraseChannelData + // + resources.ApplyResources(this.miEraseChannelData, "miEraseChannelData"); + this.miEraseChannelData.Id = 49; + this.miEraseChannelData.Name = "miEraseChannelData"; + this.miEraseChannelData.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miEraseChannelData_ItemClick); + // + // mnuOptions + // + resources.ApplyResources(this.mnuOptions, "mnuOptions"); + this.mnuOptions.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); + this.mnuOptions.Id = 34; + 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)}); + this.mnuOptions.Name = "mnuOptions"; + // + // barSubItem1 + // + resources.ApplyResources(this.barSubItem1, "barSubItem1"); + this.barSubItem1.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); + this.barSubItem1.Id = 0; + this.barSubItem1.ImageIndex = 14; + this.barSubItem1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miEnglish), + new DevExpress.XtraBars.LinkPersistInfo(this.miGerman)}); + this.barSubItem1.Name = "barSubItem1"; + this.barSubItem1.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu; + // + // 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; + this.miEnglish.Name = "miEnglish"; + this.miEnglish.Tag = "en"; + this.miEnglish.DownChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.miLanguage_DownChanged); + // + // 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; + this.miGerman.Name = "miGerman"; + this.miGerman.Tag = "de-DE"; + this.miGerman.DownChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.miLanguage_DownChanged); + // + // mnuCharset + // + resources.ApplyResources(this.mnuCharset, "mnuCharset"); + this.mnuCharset.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); + this.mnuCharset.Id = 15; + this.mnuCharset.ImageIndex = 9; + this.mnuCharset.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miCharsetForm), + new DevExpress.XtraBars.LinkPersistInfo(this.miIsoCharSets, true)}); + this.mnuCharset.Name = "mnuCharset"; + this.mnuCharset.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionInMenu; + // + // miCharsetForm + // + resources.ApplyResources(this.miCharsetForm, "miCharsetForm"); + this.miCharsetForm.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); + this.miCharsetForm.Id = 13; + this.miCharsetForm.ImageIndex = 9; + this.miCharsetForm.Name = "miCharsetForm"; + this.miCharsetForm.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miCharset_ItemClick); + // + // miIsoCharSets + // + resources.ApplyResources(this.miIsoCharSets, "miIsoCharSets"); + this.miIsoCharSets.CategoryGuid = new System.Guid("870e935c-f3d9-4202-9c58-87966069155d"); + this.miIsoCharSets.Id = 14; + this.miIsoCharSets.Name = "miIsoCharSets"; + this.miIsoCharSets.ShowNumbers = true; + this.miIsoCharSets.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miIsoCharSets_ListItemClick); + // + // mnuHelp + // + resources.ApplyResources(this.mnuHelp, "mnuHelp"); + this.mnuHelp.CategoryGuid = new System.Guid("0d554574-30e8-4d31-9a70-da702a984260"); + this.mnuHelp.Id = 10; + this.mnuHelp.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { + new DevExpress.XtraBars.LinkPersistInfo(this.miWiki), + new DevExpress.XtraBars.LinkPersistInfo(this.miOpenWebsite), + new DevExpress.XtraBars.LinkPersistInfo(this.miAbout)}); + this.mnuHelp.Name = "mnuHelp"; + // + // miWiki + // + resources.ApplyResources(this.miWiki, "miWiki"); + this.miWiki.Id = 51; + this.miWiki.Name = "miWiki"; + this.miWiki.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miWiki_ItemClick); + // + // miOpenWebsite + // + resources.ApplyResources(this.miOpenWebsite, "miOpenWebsite"); + this.miOpenWebsite.Id = 50; + this.miOpenWebsite.Name = "miOpenWebsite"; + this.miOpenWebsite.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miOpenWebsite_ItemClick); + // + // miAbout + // + resources.ApplyResources(this.miAbout, "miAbout"); + this.miAbout.CategoryGuid = new System.Guid("0d554574-30e8-4d31-9a70-da702a984260"); + this.miAbout.Id = 11; + this.miAbout.ImageIndex = 7; + this.miAbout.Name = "miAbout"; + this.miAbout.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miAbout_ItemClick); + // + // barDockControlTop + // + this.barDockControlTop.CausesValidation = false; + resources.ApplyResources(this.barDockControlTop, "barDockControlTop"); + // + // barDockControlBottom + // + this.barDockControlBottom.CausesValidation = false; + resources.ApplyResources(this.barDockControlBottom, "barDockControlBottom"); + // + // barDockControlLeft + // + this.barDockControlLeft.CausesValidation = false; + resources.ApplyResources(this.barDockControlLeft, "barDockControlLeft"); + // + // barDockControlRight + // + this.barDockControlRight.CausesValidation = false; + resources.ApplyResources(this.barDockControlRight, "barDockControlRight"); + // + // miMoveUp + // + resources.ApplyResources(this.miMoveUp, "miMoveUp"); + this.miMoveUp.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miMoveUp.Id = 45; + this.miMoveUp.ImageIndex = 24; + this.miMoveUp.Name = "miMoveUp"; + this.miMoveUp.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveUp_ItemClick); + // + // miMoveDown + // + resources.ApplyResources(this.miMoveDown, "miMoveDown"); + this.miMoveDown.CategoryGuid = new System.Guid("d7eec464-59c9-4f45-88aa-602e64c81cc0"); + this.miMoveDown.Id = 46; + this.miMoveDown.ImageIndex = 25; + this.miMoveDown.Name = "miMoveDown"; + this.miMoveDown.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveDown_ItemClick); + // + // labelControl2 + // + resources.ApplyResources(this.labelControl2, "labelControl2"); + this.labelControl2.Name = "labelControl2"; + // + // txtSetSlot + // + resources.ApplyResources(this.txtSetSlot, "txtSetSlot"); + this.txtSetSlot.Name = "txtSetSlot"; + 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.EditMask = resources.GetString("txtSetSlot.Properties.Mask.EditMask"); + this.txtSetSlot.Properties.Mask.MaskType = ((DevExpress.XtraEditors.Mask.MaskType)(resources.GetObject("txtSetSlot.Properties.Mask.MaskType"))); + 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); + // + // labelControl11 + // + resources.ApplyResources(this.labelControl11, "labelControl11"); + this.labelControl11.Name = "labelControl11"; + // + // picDonate + // + resources.ApplyResources(this.picDonate, "picDonate"); + this.picDonate.EditValue = global::ChanSort.Ui.Properties.Resources.Donate; + this.picDonate.MenuManager = this.barManager1; + this.picDonate.Name = "picDonate"; + this.picDonate.Properties.Appearance.BackColor = ((System.Drawing.Color)(resources.GetObject("picDonate.Properties.Appearance.BackColor"))); + this.picDonate.Properties.Appearance.Options.UseBackColor = true; + this.picDonate.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + this.picDonate.Properties.PictureAlignment = System.Drawing.ContentAlignment.TopLeft; + this.picDonate.Click += new System.EventHandler(this.picDonate_Click); + // // defaultLookAndFeel1 // this.defaultLookAndFeel1.LookAndFeel.SkinName = "Office 2007 Blue"; // // grpTopPanel // - this.grpTopPanel.Controls.Add(this.comboUnsortedAction); - this.grpTopPanel.Controls.Add(this.labelControl3); - this.grpTopPanel.Controls.Add(this.btnResetChannelData); - this.grpTopPanel.Controls.Add(this.comboChannelList); - this.grpTopPanel.Controls.Add(this.labelControl1); + this.grpTopPanel.Controls.Add(this.rbInsertSwap); + this.grpTopPanel.Controls.Add(this.rbInsertAfter); + this.grpTopPanel.Controls.Add(this.rbInsertBefore); + this.grpTopPanel.Controls.Add(this.cbCloseGap); + this.grpTopPanel.Controls.Add(this.cbAppendUnsortedChannels); + this.grpTopPanel.Controls.Add(this.labelControl2); + this.grpTopPanel.Controls.Add(this.picDonate); + 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; // - // comboUnsortedAction + // rbInsertSwap // - resources.ApplyResources(this.comboUnsortedAction, "comboUnsortedAction"); - this.comboUnsortedAction.MenuManager = this.barManager1; - this.comboUnsortedAction.Name = "comboUnsortedAction"; - this.comboUnsortedAction.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { - new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboUnsortedAction.Properties.Buttons"))))}); - this.comboUnsortedAction.Properties.Items.AddRange(new object[] { - resources.GetString("comboUnsortedAction.Properties.Items"), - resources.GetString("comboUnsortedAction.Properties.Items1"), - resources.GetString("comboUnsortedAction.Properties.Items2")}); - this.comboUnsortedAction.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; + resources.ApplyResources(this.rbInsertSwap, "rbInsertSwap"); + this.rbInsertSwap.MenuManager = this.barManager1; + this.rbInsertSwap.Name = "rbInsertSwap"; + this.rbInsertSwap.Properties.Appearance.Options.UseTextOptions = true; + this.rbInsertSwap.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.rbInsertSwap.Properties.Caption = resources.GetString("rbInsertSwap.Properties.Caption"); + this.rbInsertSwap.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; + this.rbInsertSwap.Properties.GlyphAlignment = ((DevExpress.Utils.HorzAlignment)(resources.GetObject("rbInsertSwap.Properties.GlyphAlignment"))); + this.rbInsertSwap.Properties.RadioGroupIndex = 1; + this.rbInsertSwap.TabStop = false; + this.rbInsertSwap.CheckedChanged += new System.EventHandler(this.rbInsertMode_CheckedChanged); // - // labelControl3 + // rbInsertAfter // - this.labelControl3.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; - resources.ApplyResources(this.labelControl3, "labelControl3"); - this.labelControl3.Name = "labelControl3"; + resources.ApplyResources(this.rbInsertAfter, "rbInsertAfter"); + this.rbInsertAfter.MenuManager = this.barManager1; + this.rbInsertAfter.Name = "rbInsertAfter"; + this.rbInsertAfter.Properties.Caption = resources.GetString("rbInsertAfter.Properties.Caption"); + this.rbInsertAfter.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; + this.rbInsertAfter.Properties.RadioGroupIndex = 1; + this.rbInsertAfter.CheckedChanged += new System.EventHandler(this.rbInsertMode_CheckedChanged); // - // btnResetChannelData + // rbInsertBefore // - resources.ApplyResources(this.btnResetChannelData, "btnResetChannelData"); - this.btnResetChannelData.Name = "btnResetChannelData"; - this.btnResetChannelData.Click += new System.EventHandler(this.btnResetChannelData_Click); + resources.ApplyResources(this.rbInsertBefore, "rbInsertBefore"); + this.rbInsertBefore.MenuManager = this.barManager1; + this.rbInsertBefore.Name = "rbInsertBefore"; + this.rbInsertBefore.Properties.Caption = resources.GetString("rbInsertBefore.Properties.Caption"); + this.rbInsertBefore.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; + this.rbInsertBefore.Properties.RadioGroupIndex = 1; + this.rbInsertBefore.TabStop = false; + this.rbInsertBefore.CheckedChanged += new System.EventHandler(this.rbInsertMode_CheckedChanged); // - // comboChannelList + // cbCloseGap // - resources.ApplyResources(this.comboChannelList, "comboChannelList"); - this.comboChannelList.MenuManager = this.barManager1; - this.comboChannelList.Name = "comboChannelList"; - this.comboChannelList.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { - new DevExpress.XtraEditors.Controls.EditorButton(((DevExpress.XtraEditors.Controls.ButtonPredefines)(resources.GetObject("comboChannelList.Properties.Buttons"))))}); - this.comboChannelList.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; - this.comboChannelList.SelectedIndexChanged += new System.EventHandler(this.comboChannelList_SelectedIndexChanged); + resources.ApplyResources(this.cbCloseGap, "cbCloseGap"); + this.cbCloseGap.MenuManager = this.barManager1; + this.cbCloseGap.Name = "cbCloseGap"; + this.cbCloseGap.Properties.Caption = resources.GetString("cbCloseGap.Properties.Caption"); // - // labelControl1 + // cbAppendUnsortedChannels // - resources.ApplyResources(this.labelControl1, "labelControl1"); - this.labelControl1.Name = "labelControl1"; + resources.ApplyResources(this.cbAppendUnsortedChannels, "cbAppendUnsortedChannels"); + this.cbAppendUnsortedChannels.MenuManager = this.barManager1; + this.cbAppendUnsortedChannels.Name = "cbAppendUnsortedChannels"; + this.cbAppendUnsortedChannels.Properties.Caption = resources.GetString("cbAppendUnsortedChannels.Properties.Caption"); + // + // tabChannelList + // + resources.ApplyResources(this.tabChannelList, "tabChannelList"); + this.tabChannelList.Name = "tabChannelList"; + this.tabChannelList.SelectedTabPage = this.pageEmpty; + this.tabChannelList.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.pageEmpty}); + this.tabChannelList.SelectedPageChanged += new DevExpress.XtraTab.TabPageChangedEventHandler(this.tabChannelList_SelectedPageChanged); + // + // pageEmpty + // + this.pageEmpty.Name = "pageEmpty"; + resources.ApplyResources(this.pageEmpty, "pageEmpty"); // // mnuContext // @@ -1297,7 +1388,6 @@ new DevExpress.XtraBars.LinkPersistInfo(this.miMoveDown), new DevExpress.XtraBars.LinkPersistInfo(this.miAddChannel), new DevExpress.XtraBars.LinkPersistInfo(this.miRemove), - new DevExpress.XtraBars.LinkPersistInfo(this.miReplace), new DevExpress.XtraBars.LinkPersistInfo(this.miSort), new DevExpress.XtraBars.LinkPersistInfo(this.miRenum), new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuFavSet, "", true, true, true, 0, null, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph), @@ -1330,30 +1420,34 @@ ((System.ComponentModel.ISupportInitialize)(this.grpOutputList)).EndInit(); this.grpOutputList.ResumeLayout(false); this.grpOutputList.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.gridOutput)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridLeft)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dsChannels)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.gviewOutput)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gviewLeft)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pnlEditControls)).EndInit(); this.pnlEditControls.ResumeLayout(false); - this.pnlEditControls.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.comboEditMode.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.grpInputList)).EndInit(); this.grpInputList.ResumeLayout(false); this.grpInputList.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.gridInput)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.gviewInput)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridRight)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gviewRight)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.panelControl3)).EndInit(); this.panelControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.grpTopPanel)).EndInit(); this.grpTopPanel.ResumeLayout(false); this.grpTopPanel.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.comboUnsortedAction.Properties)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.comboChannelList.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbInsertSwap.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbInsertAfter.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.rbInsertBefore.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbCloseGap.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbAppendUnsortedChannels.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tabChannelList)).EndInit(); + this.tabChannelList.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.mnuContext)).EndInit(); this.ResumeLayout(false); @@ -1362,8 +1456,8 @@ #endregion private DevExpress.LookAndFeel.DefaultLookAndFeel defaultLookAndFeel1; - private DevExpress.XtraGrid.GridControl gridInput; - private DevExpress.XtraGrid.Views.Grid.GridView gviewInput; + private DevExpress.XtraGrid.GridControl gridRight; + private DevExpress.XtraGrid.Views.Grid.GridView gviewRight; private System.Windows.Forms.BindingSource dsChannels; private DevExpress.XtraGrid.Columns.GridColumn colIndex; private DevExpress.XtraGrid.Columns.GridColumn colSlotOld; @@ -1374,8 +1468,8 @@ private DevExpress.XtraEditors.SimpleButton btnRemove; private DevExpress.XtraEditors.GroupControl grpInputList; private DevExpress.XtraEditors.SimpleButton btnAdd; - private DevExpress.XtraGrid.GridControl gridOutput; - private DevExpress.XtraGrid.Views.Grid.GridView gviewOutput; + private DevExpress.XtraGrid.GridControl gridLeft; + private DevExpress.XtraGrid.Views.Grid.GridView gviewLeft; private DevExpress.XtraGrid.Columns.GridColumn colOutSlot; private DevExpress.XtraGrid.Columns.GridColumn colOutName; private DevExpress.XtraEditors.SimpleButton btnDown; @@ -1385,7 +1479,6 @@ private DevExpress.XtraEditors.ButtonEdit txtSetSlot; private DevExpress.XtraEditors.LabelControl labelControl11; private DevExpress.XtraGrid.Columns.GridColumn colEncrypted; - private DevExpress.XtraEditors.SimpleButton btnSort; private DevExpress.XtraBars.BarManager barManager1; private DevExpress.XtraBars.Bar bar1; private DevExpress.XtraBars.BarSubItem barSubItem1; @@ -1407,8 +1500,6 @@ private DevExpress.XtraBars.BarButtonItem miCharsetForm; private DevExpress.XtraBars.BarListItem miIsoCharSets; private DevExpress.XtraBars.BarSubItem mnuCharset; - private DevExpress.XtraEditors.SimpleButton btnSyncFromRight; - private DevExpress.XtraEditors.SimpleButton btnSyncFromLeft; private DevExpress.XtraEditors.SimpleButton btnClearRightFilter; private DevExpress.XtraEditors.SimpleButton btnClearLeftFilter; private DevExpress.XtraGrid.Columns.GridColumn colAudioPid; @@ -1429,8 +1520,6 @@ private DevExpress.XtraEditors.SplitContainerControl splitContainerControl1; private DevExpress.XtraEditors.PanelControl pnlEditControls; private DevExpress.XtraEditors.GroupControl grpTopPanel; - private DevExpress.XtraEditors.ComboBoxEdit comboChannelList; - private DevExpress.XtraEditors.LabelControl labelControl1; private DevExpress.XtraEditors.PanelControl panelControl3; private DevExpress.XtraEditors.LabelControl labelControl2; private DevExpress.XtraGrid.Columns.GridColumn colOutFav; @@ -1443,7 +1532,6 @@ private DevExpress.XtraBars.BarListItem miFavSet; private DevExpress.XtraBars.BarListItem miFavUnset; private DevExpress.XtraBars.BarButtonItem miRemove; - private DevExpress.XtraBars.BarButtonItem miReplace; private DevExpress.XtraBars.BarButtonItem miLockOn; private DevExpress.XtraBars.BarButtonItem miLockOff; private DevExpress.XtraBars.BarButtonItem miSkipOn; @@ -1462,19 +1550,33 @@ private DevExpress.XtraGrid.Columns.GridColumn colNetworkOperator; private DevExpress.XtraGrid.Columns.GridColumn colDebug; private DevExpress.XtraGrid.Columns.GridColumn colServiceTypeName; - private DevExpress.XtraEditors.SimpleButton btnResetChannelData; private DevExpress.XtraBars.BarButtonItem miRestoreOriginal; - private DevExpress.XtraEditors.ComboBoxEdit comboUnsortedAction; - private DevExpress.XtraEditors.LabelControl labelControl3; private DevExpress.XtraGrid.Columns.GridColumn colLogicalIndex; private DevExpress.XtraBars.BarButtonItem miFileInformation; private DevExpress.XtraBars.BarButtonItem miOpenReferenceFile; - private DevExpress.XtraEditors.SimpleButton btnCloneChannelList; + private DevExpress.XtraEditors.SimpleButton btnAddAll; private DevExpress.XtraBars.BarButtonItem miMoveUp; private DevExpress.XtraBars.BarButtonItem miMoveDown; - private DevExpress.XtraEditors.ComboBoxEdit comboEditMode; private DevExpress.XtraBars.BarSubItem barSubItem2; private DevExpress.XtraBars.BarButtonItem miTvSettings; + private DevExpress.XtraBars.BarButtonItem miEraseChannelData; + private DevExpress.XtraEditors.PictureEdit picDonate; + private DevExpress.XtraBars.BarButtonItem miOpenWebsite; + private DevExpress.XtraBars.BarButtonItem miWiki; + private DevExpress.XtraTab.XtraTabControl tabChannelList; + private DevExpress.XtraTab.XtraTabPage pageEmpty; + private DevExpress.XtraEditors.CheckEdit cbCloseGap; + private DevExpress.XtraEditors.CheckEdit cbAppendUnsortedChannels; + private DevExpress.XtraEditors.CheckEdit rbInsertSwap; + private DevExpress.XtraEditors.CheckEdit rbInsertAfter; + private DevExpress.XtraEditors.CheckEdit rbInsertBefore; + private DevExpress.XtraEditors.SimpleButton btnToggleLock; + private DevExpress.XtraEditors.SimpleButton btnToggleFavE; + private DevExpress.XtraEditors.SimpleButton btnToggleFavD; + private DevExpress.XtraEditors.SimpleButton btnToggleFavC; + private DevExpress.XtraEditors.SimpleButton btnToggleFavB; + private DevExpress.XtraEditors.SimpleButton btnToggleFavA; + private DevExpress.XtraGrid.Columns.GridColumn colOutLock; private DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1; } } diff --git a/ChanSort/MainForm.cs b/ChanSort/MainForm.cs index cc811df..bffa37e 100644 --- a/ChanSort/MainForm.cs +++ b/ChanSort/MainForm.cs @@ -22,7 +22,7 @@ namespace ChanSort.Ui { public partial class MainForm : XtraForm { - private const string Version = "v2013-04-04"; + public const string AppVersion = "v2013-04-05"; #region enum EditMode private enum EditMode @@ -47,6 +47,7 @@ namespace ChanSort.Ui private ChannelList currentChannelList; private GridView lastFocusedGrid; private EditMode curEditMode = EditMode.InsertAfter; + private bool dontOpenEditor; #region ctor() public MainForm() @@ -58,7 +59,7 @@ namespace ChanSort.Ui this.SetControlsEnabled(false); if (!Settings.Default.WindowSize.IsEmpty) this.Size = Settings.Default.WindowSize; - this.title = string.Format(this.Text, Version); + this.title = string.Format(this.Text, AppVersion); this.Text = title; this.plugins = this.LoadSerializerPlugins(); this.FillMenuWithIsoEncodings(); @@ -66,10 +67,12 @@ namespace ChanSort.Ui this.Icon = new Icon(Assembly.GetExecutingAssembly().GetManifestResourceStream("ChanSort.Ui.app.ico")); var bcLeft = new BindingContext(); this.grpOutputList.BindingContext = bcLeft; - this.lastFocusedGrid = this.gviewInput; - this.comboEditMode.SelectedIndex = (int) this.curEditMode; - this.comboUnsortedAction.SelectedIndex = (int)UnsortedChannelMode.Hide; - this.ActiveControl = this.gridInput; + this.lastFocusedGrid = this.gviewRight; + if (this.curEditMode == EditMode.InsertAfter) this.rbInsertAfter.Checked = true; + else if (this.curEditMode == EditMode.InsertBefore) this.rbInsertBefore.Checked = true; + else this.rbInsertSwap.Checked = true; + this.cbAppendUnsortedChannels.Checked = true; + this.ActiveControl = this.gridRight; } #endregion @@ -80,7 +83,7 @@ namespace ChanSort.Ui control.Enabled = enabled; foreach (Control control in this.pnlEditControls.Controls) { - if (control != this.btnClearLeftFilter && control != this.btnSyncFromLeft) + if (control != this.btnClearLeftFilter) control.Enabled = enabled; } @@ -158,6 +161,15 @@ namespace ChanSort.Ui } #endregion + #region ReLoadFiles() + private void ReLoadFiles(ISerializerPlugin plugin) + { + int listIndex = this.tabChannelList.SelectedTabPageIndex; + this.LoadFiles(plugin); + this.tabChannelList.SelectedTabPageIndex = listIndex; + } + #endregion + #region LoadFiles() private void LoadFiles(ISerializerPlugin plugin) @@ -180,13 +192,13 @@ namespace ChanSort.Ui return; dataUpdated = true; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); this.currentPlugin = plugin; this.currentTvSerializer = newSerializer; this.currentTvSerializer.DefaultEncoding = this.defaultEncoding; - this.btnResetChannelData.Visible = newSerializer.Features.EraseChannelData; + this.miEraseChannelData.Enabled = newSerializer.Features.EraseChannelData; if (!this.LoadTvDataFile()) return; this.LoadCsvFile(); @@ -196,12 +208,9 @@ namespace ChanSort.Ui this.currentChannelList = null; this.editor.ChannelList = null; - this.gridInput.DataSource = null; - this.gridOutput.DataSource = null; - this.comboChannelList.Properties.Items.Clear(); - foreach (var list in this.dataRoot.ChannelLists) - this.comboChannelList.Properties.Items.Add(list); - this.comboChannelList.SelectedIndex = this.dataRoot.IsEmpty ? -1 : 0; + this.gridRight.DataSource = null; + this.gridLeft.DataSource = null; + this.FillChannelListCombo(); this.SetControlsEnabled(!this.dataRoot.IsEmpty); this.UpdateFavoritesEditor(this.dataRoot.SupportedFavorites); @@ -220,7 +229,7 @@ namespace ChanSort.Ui } catch (Exception ex) { - if (ex.GetType() != typeof(Exception) && !(ex is IOException)) + if (!(ex is IOException)) throw; string name = newSerializer != null ? newSerializer.DisplayName : plugin.PluginName; XtraMessageBox.Show(this, name + "\n\n" + ex.Message, Resources.MainForm_LoadFiles_IOException, @@ -234,11 +243,28 @@ namespace ChanSort.Ui { if (dataUpdated) { - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } } } + + private void FillChannelListCombo() + { + this.tabChannelList.TabPages.Clear(); + bool firstNonEmpty = true; + foreach (var list in this.dataRoot.ChannelLists) + { + var tab = this.tabChannelList.TabPages.Add(list.Caption); + tab.Tag = list; + if (firstNonEmpty && list.Count > 0) + { + tabChannelList.SelectedTabPage = tab; + firstNonEmpty = false; + } + } + } + #endregion #region UpdateFavoritesEditor() @@ -265,6 +291,7 @@ namespace ChanSort.Ui } } regex += "]*"; + this.btnToggleFavE.Enabled = (favorites & Favorites.E) != 0; this.repositoryItemCheckedComboBoxEdit1.Mask.EditMask = regex; this.repositoryItemCheckedComboBoxEdit2.Mask.EditMask = regex; } @@ -353,8 +380,8 @@ namespace ChanSort.Ui dlg.RestoreDirectory = true; if (dlg.ShowDialog(this) == DialogResult.OK) { - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); string ext = (Path.GetExtension(dlg.FileName) ?? "").ToLower(); if (ext == ".csv") @@ -369,8 +396,8 @@ namespace ChanSort.Ui InfoBox.Show(this, warnings, Path.GetFileName(dlg.FileName)); } - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } } } @@ -385,27 +412,23 @@ namespace ChanSort.Ui if (channelList != null) { this.LoadInputGridLayout(channelList.SignalSource); - this.gridInput.DataSource = channelList.Channels; - this.gridOutput.DataSource = channelList.Channels; + this.gridRight.DataSource = channelList.Channels; + this.gridLeft.DataSource = channelList.Channels; } else { - this.gridInput.DataSource = null; - this.gridOutput.DataSource = null; + this.gridRight.DataSource = null; + this.gridLeft.DataSource = null; } this.currentChannelList = channelList; this.editor.ChannelList = channelList; - if (gviewInput.IsValidRowHandle(0)) - { - this.gviewInput.FocusedRowHandle = 0; - this.gviewInput.SelectRow(0); - } - if (gviewOutput.IsValidRowHandle(0)) - { - this.gviewOutput.FocusedRowHandle = 0; - this.gviewOutput.SelectRow(0); - } + if (gviewRight.IsValidRowHandle(0)) + this.SelectFocusedRow(this.gviewRight, 0); + + if (gviewLeft.IsValidRowHandle(0)) + this.SelectFocusedRow(this.gviewLeft, 0); + this.UpdateInsertSlotTextBox(); } #endregion @@ -439,13 +462,14 @@ namespace ChanSort.Ui private void SaveFiles() { - this.gviewInput.PostEditor(); - this.gviewOutput.PostEditor(); + this.gviewRight.PostEditor(); + this.gviewLeft.PostEditor(); try { - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); - this.editor.AutoNumberingForUnassignedChannels((UnsortedChannelMode)this.comboUnsortedAction.SelectedIndex); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); + this.editor.AutoNumberingForUnassignedChannels( + this.cbAppendUnsortedChannels.Checked ? UnsortedChannelMode.AppendInOrder : UnsortedChannelMode.MarkDeleted); this.SaveReferenceFile(); this.SaveTvDataFile(); this.dataRoot.NeedsSaving = false; @@ -460,8 +484,8 @@ namespace ChanSort.Ui } finally { - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } } @@ -503,12 +527,15 @@ namespace ChanSort.Ui #region AddChannels() private void AddChannels() { - var selectedChannels = this.GetSelectedChannels(gviewInput); + var selectedChannels = this.GetSelectedChannels(gviewRight); if (selectedChannels.Count == 0) return; + if (this.rbInsertSwap.Checked) + this.RemoveChannels(this.gviewLeft, this.cbCloseGap.Checked); + ChannelInfo lastInsertedChannel; - this.gviewOutput.BeginDataUpdate(); - this.gviewInput.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); try { lastInsertedChannel = this.editor.AddChannels(selectedChannels); @@ -516,77 +543,77 @@ namespace ChanSort.Ui } finally { - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } if (lastInsertedChannel == null) { - this.NavigateToChannel(selectedChannels[0], this.gviewOutput); + this.NavigateToChannel(selectedChannels[0], this.gviewLeft); return; } - this.gviewOutput.BeginSelection(); - try - { - this.gviewOutput.ClearSelection(); - int index = this.currentChannelList.Channels.IndexOf(lastInsertedChannel); - int rowHandle = this.gviewOutput.GetRowHandle(index); - if (this.comboEditMode.SelectedIndex == (int)EditMode.InsertBefore) - ++rowHandle; - this.gviewOutput.FocusedRowHandle = rowHandle; - this.gviewOutput.SelectRow(rowHandle); - } - finally - { - this.gviewOutput.EndSelection(); - } + int index = this.currentChannelList.Channels.IndexOf(lastInsertedChannel); + int rowHandle = this.gviewLeft.GetRowHandle(index); + if (this.rbInsertBefore.Checked) + ++rowHandle; + this.SelectFocusedRow(this.gviewLeft, rowHandle); } #endregion #region RemoveChannels() - private void RemoveChannels() + private void RemoveChannels(GridView grid, bool closeGap) { - var selectedChannels = this.GetSelectedChannels(this.lastFocusedGrid); + var selectedChannels = this.GetSelectedChannels(grid); if (selectedChannels.Count == 0) return; - int focusedRow = Math.Max(0, this.gviewOutput.FocusedRowHandle - selectedChannels.Count); - if (!gviewOutput.IsLastRow) + int focusedRow = Math.Max(0, this.gviewLeft.FocusedRowHandle - selectedChannels.Count); + if (!gviewLeft.IsLastRow) ++focusedRow; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); try { - this.editor.RemoveChannels(selectedChannels); + this.editor.RemoveChannels(selectedChannels, closeGap); } finally { - this.gviewOutput.EndDataUpdate(); - this.gviewInput.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); } - this.gviewOutput.FocusedRowHandle = focusedRow; - this.gviewOutput.SelectRow(focusedRow); + this.SelectFocusedRow(this.gviewLeft, focusedRow); this.UpdateInsertSlotTextBox(); } #endregion + #region SelectFocusedRow() + private void SelectFocusedRow(GridView grid, int rowHandle) + { + grid.BeginSelection(); + grid.ClearSelection(); + grid.FocusedRowHandle = rowHandle; + grid.SelectRow(rowHandle); + grid.EndSelection(); + } + #endregion + #region MoveChannels() private void MoveChannels(bool up) { - var selectedChannels = this.GetSelectedChannels(this.gviewOutput); + var selectedChannels = this.GetSelectedChannels(this.gviewLeft); if (selectedChannels.Count == 0) return; - this.gviewOutput.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); try { this.editor.MoveChannels(selectedChannels, up); } finally { - this.gviewOutput.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } this.UpdateInsertSlotTextBox(); } @@ -594,23 +621,23 @@ namespace ChanSort.Ui #endregion #region SetSlotNumber() - private bool SetSlotNumber(string slotNr) + private bool SetSlotNumber(string progNr) { - int slot; - if (!int.TryParse(slotNr, out slot) || slot < 0) + int prog; + if (!int.TryParse(progNr, out prog) || prog < 0) return false; var selectedChannels = this.GetSelectedChannels(this.lastFocusedGrid); if (selectedChannels.Count == 0) return true; - this.gviewOutput.BeginDataUpdate(); - this.gviewInput.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); try { - this.editor.SetSlotNumber(selectedChannels, slot, this.comboEditMode.SelectedIndex == (int)EditMode.Swap); + this.editor.SetSlotNumber(selectedChannels, prog, this.rbInsertSwap.Checked, this.cbCloseGap.Checked); } finally { - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } return true; } @@ -619,56 +646,51 @@ namespace ChanSort.Ui #region SortSelectedChannels() private void SortSelectedChannels() { - var selectedChannels = this.GetSelectedChannels(this.gviewOutput); + var selectedChannels = this.GetSelectedChannels(this.gviewLeft); if (selectedChannels.Count == 0) return; - this.gviewOutput.BeginDataUpdate(); - this.gviewInput.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); try { this.editor.SortSelectedChannels(selectedChannels); } finally { - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } } #endregion - #region CloneChannelList() - private void CloneChannelList() + #region AddAllUnsortedChannels() + private void AddAllUnsortedChannels() { if (this.currentChannelList == null) return; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); + int maxNr = this.currentChannelList.InsertProgramNumber; foreach (var channel in this.currentChannelList.Channels) - channel.NewProgramNr = channel.OldProgramNr; - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + maxNr = Math.Max(maxNr, channel.NewProgramNr); + foreach (var channel in this.currentChannelList.Channels) + { + if (channel.NewProgramNr == 0 && !channel.IsDeleted) + channel.NewProgramNr = maxNr++; + } + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } #endregion #region RenumberSelectedChannels() private void RenumberSelectedChannels() { - var list = this.GetSelectedChannels(this.gviewOutput); + var list = this.GetSelectedChannels(this.gviewLeft); if (list.Count == 0) return; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); this.editor.RenumberChannels(list); - this.gviewOutput.EndDataUpdate(); - this.gviewInput.EndDataUpdate(); - } - #endregion - - #region SwapChannels() - private void SwapChannels() - { - int oldMode = this.comboEditMode.SelectedIndex; - this.comboEditMode.SelectedIndex = (int)EditMode.Swap; - this.RemoveChannels(); - this.AddChannels(); - this.comboEditMode.SelectedIndex = oldMode; + this.gviewLeft.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); } #endregion @@ -676,8 +698,6 @@ namespace ChanSort.Ui private List GetSelectedChannels(GridView gview) { var channels = new List(); - if (gview.IsDataRow(gview.FocusedRowHandle)) - gview.SelectRow(gview.FocusedRowHandle); foreach (int rowHandle in gview.GetSelectedRows()) { if (gview.IsDataRow(rowHandle)) @@ -716,10 +736,7 @@ namespace ChanSort.Ui this.splitContainerControl1.SplitterPosition = width; this.SelectLanguageMenuItem(); - this.SetGridLayout(this.gviewOutput, Settings.Default.OutputListLayout); - this.gviewOutput.ClearSelection(); - if (this.gviewOutput.IsValidRowHandle(this.gviewOutput.FocusedRowHandle)) - this.gviewOutput.SelectRow(Settings.Default.OutputListRowHandle); + this.SetGridLayout(this.gviewLeft, Settings.Default.OutputListLayout); this.ClearLeftFilter(); } @@ -752,7 +769,11 @@ namespace ChanSort.Ui wrt.Write(layout); wrt.Flush(); stream.Seek(0, SeekOrigin.Begin); - grid.RestoreLayoutFromStream(stream); + OptionsLayoutGrid options = new OptionsLayoutGrid(); + options.StoreDataSettings = true; + options.StoreAppearance = false; + options.StoreVisualOptions = false; + grid.RestoreLayoutFromStream(stream, options); } // put the filter text back into the auto-filter-row @@ -760,7 +781,7 @@ namespace ChanSort.Ui { string[] parts = (col.FilterInfo.FilterString ?? "").Split('\''); if (parts.Length >= 2) - this.gviewInput.SetRowCellValue(GridControl.AutoFilterRowHandle, col, parts[1]); + this.gviewRight.SetRowCellValue(GridControl.AutoFilterRowHandle, col, parts[1]); } } #endregion @@ -768,15 +789,15 @@ namespace ChanSort.Ui #region SaveSettings(), GetGridLayout() private void SaveSettings() { - this.gviewInput.PostEditor(); - this.gviewOutput.PostEditor(); + this.gviewRight.PostEditor(); + this.gviewLeft.PostEditor(); Settings.Default.WindowSize = this.WindowState == FormWindowState.Normal ? this.Size : this.RestoreBounds.Size; Settings.Default.Encoding = this.defaultEncoding.WebName; Settings.Default.Language = Thread.CurrentThread.CurrentUICulture.Name; Settings.Default.InputTLL = this.currentTvFile; Settings.Default.LeftPanelWidth = this.splitContainerControl1.SplitterPosition; - Settings.Default.OutputListLayout = GetGridLayout(this.gviewOutput); + Settings.Default.OutputListLayout = GetGridLayout(this.gviewLeft); if (this.currentChannelList != null) SaveInputGridLayout(this.currentChannelList.SignalSource); Settings.Default.Save(); @@ -834,46 +855,29 @@ namespace ChanSort.Ui this.defaultEncoding = encoding; if (this.currentTvSerializer == null) return; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); this.currentTvSerializer.DefaultEncoding = encoding; - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } #endregion #region ClearLeftFilter(), ClearRightFilter() private void ClearLeftFilter() { - this.gviewOutput.BeginSort(); - this.gviewOutput.ClearColumnsFilter(); + this.gviewLeft.BeginSort(); + this.gviewLeft.ClearColumnsFilter(); this.colOutSlot.FilterInfo = new ColumnFilterInfo("[NewProgramNr]<>0"); - this.gviewOutput.EndSort(); + this.gviewLeft.EndSort(); } private void ClearRightFilter() { - this.gviewInput.BeginSort(); - this.gviewInput.ClearColumnsFilter(); + this.gviewRight.BeginSort(); + this.gviewRight.ClearColumnsFilter(); this.colSlotOld.FilterInfo = new ColumnFilterInfo("[OldProgramNr]<>0"); - this.gviewInput.EndSort(); - } - #endregion - - #region SyncLists() - private void SyncLists(GridView source, GridView target) - { - var channel = (ChannelInfo)source.GetFocusedRow(); - if (channel == null) - return; - target.SetRowCellValue(GridControl.AutoFilterRowHandle, colName, channel.Name); - target.BeginSelection(); - target.ClearSelection(); - int rowIndex = ((IList) target.DataSource).IndexOf(channel); - int rowHandle = target.GetRowHandle(rowIndex); - target.FocusedRowHandle = rowHandle; - target.SelectRow(rowHandle); - target.EndSelection(); + this.gviewRight.EndSort(); } #endregion @@ -888,15 +892,11 @@ namespace ChanSort.Ui else newLayout = Settings.Default.InputGridLayoutDvbCT; if (!string.IsNullOrEmpty(newLayout)) - this.SetGridLayout(this.gviewInput, newLayout); + this.SetGridLayout(this.gviewRight, newLayout); - foreach (GridColumn col in this.gviewInput.Columns) + foreach (GridColumn col in this.gviewRight.Columns) col.Visible = GetGridColumnVisibility(col, newSource); - this.gviewInput.ClearSelection(); - if (this.gviewInput.IsValidRowHandle(this.gviewInput.FocusedRowHandle)) - this.gviewInput.SelectRow(Settings.Default.InputListRowHandle); - this.ClearRightFilter(); } #endregion @@ -904,7 +904,7 @@ namespace ChanSort.Ui #region SaveInputGridLayout() private void SaveInputGridLayout(SignalSource signalSource) { - string currentLayout = GetGridLayout(this.gviewInput); + string currentLayout = GetGridLayout(this.gviewRight); switch (signalSource) { case SignalSource.Analog: Settings.Default.InputGridLayoutAnalog = currentLayout; break; @@ -952,8 +952,8 @@ namespace ChanSort.Ui var list = this.GetSelectedChannels(this.lastFocusedGrid); if (list.Count == 0) return; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); Favorites mask = (Favorites)(1 << (ch - 'A')); foreach(var channel in list) { @@ -962,8 +962,8 @@ namespace ChanSort.Ui else channel.Favorites &= ~mask; } - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); } #endregion @@ -973,12 +973,12 @@ namespace ChanSort.Ui var list = this.GetSelectedChannels(this.lastFocusedGrid); if (list.Count == 0) return; - this.gviewInput.BeginDataUpdate(); - this.gviewOutput.BeginDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewLeft.BeginDataUpdate(); foreach (var channel in list) setFlag(channel); - this.gviewInput.EndDataUpdate(); - this.gviewOutput.EndDataUpdate(); + this.gviewRight.EndDataUpdate(); + this.gviewLeft.EndDataUpdate(); this.dataRoot.NeedsSaving = true; } #endregion @@ -987,21 +987,40 @@ namespace ChanSort.Ui private void NavigateToChannel(ChannelInfo channel, GridView view) { if (channel == null) return; - int rowHandle = this.gviewInput.GetRowHandle(this.currentChannelList.Channels.IndexOf(channel)); + int rowHandle = this.gviewRight.GetRowHandle(this.currentChannelList.Channels.IndexOf(channel)); if (view.IsValidRowHandle(rowHandle)) { - view.ClearSelection(); - view.FocusedRowHandle = rowHandle; - view.SelectRow(rowHandle); + this.SelectFocusedRow(view, rowHandle); view.MakeRowVisible(rowHandle); } } #endregion + #region SetActiveGrid() + private void SetActiveGrid(GridView grid) + { + if (grid == this.gviewLeft) + { + this.grpOutputList.AppearanceCaption.ForeColor = Color.DodgerBlue; + this.grpOutputList.AppearanceCaption.Options.UseForeColor = true; + this.grpInputList.AppearanceCaption.Options.UseForeColor = false; + this.lastFocusedGrid = this.gviewLeft; + } + else + { + this.grpInputList.AppearanceCaption.ForeColor = Color.DodgerBlue; + this.grpInputList.AppearanceCaption.Options.UseForeColor = true; + this.grpOutputList.AppearanceCaption.Options.UseForeColor = false; + this.lastFocusedGrid = this.gviewRight; + } + this.UpdateMenu(); + } + #endregion + #region UpdateMenu private void UpdateMenu() { - bool isRight = this.lastFocusedGrid == this.gviewInput; + bool isRight = this.lastFocusedGrid == this.gviewRight; this.miAddChannel.Enabled = isRight; var visRight = isRight ? BarItemVisibility.Always : BarItemVisibility.Never; @@ -1014,8 +1033,8 @@ namespace ChanSort.Ui this.miRemove.Visibility = visLeft; this.miAddChannel.Visibility = visRight; - var sel = this.gviewOutput.GetSelectedRows(); - var channel = sel.Length == 0 ? null : (ChannelInfo) this.gviewInput.GetRow(sel[0]); + var sel = this.gviewLeft.GetSelectedRows(); + var channel = sel.Length == 0 ? null : (ChannelInfo) this.gviewRight.GetRow(sel[0]); this.miMoveUp.Enabled = channel != null && channel.NewProgramNr > 1; this.miTvSettings.Enabled = this.currentTvSerializer != null; @@ -1077,10 +1096,13 @@ namespace ChanSort.Ui #endregion #region RefreshGrid() - private void RefreshGrid(GridView grid) + private void RefreshGrid(params GridView[] grids) { - grid.BeginDataUpdate(); - grid.EndDataUpdate(); + foreach (var grid in grids) + { + grid.BeginDataUpdate(); + grid.EndDataUpdate(); + } } #endregion @@ -1092,6 +1114,29 @@ namespace ChanSort.Ui } #endregion + #region ToggleFavorite() + private void ToggleFavorite(string fav) + { + var list = this.GetSelectedChannels(this.gviewLeft); + if (list.Count == 0) return; + var value = (Favorites)Enum.Parse(typeof (Favorites), fav); + this.SetFavorite(fav, (list[0].Favorites&value) == 0); + this.RefreshGrid(gviewLeft, gviewRight); + } + #endregion + + #region ToggleLock() + private void ToggleLock() + { + var list = this.GetSelectedChannels(this.gviewLeft); + if (list.Count == 0) return; + bool setLock = !list[0].Lock; + foreach (var channel in list) + channel.Lock = setLock; + this.RefreshGrid(gviewLeft, gviewRight); + } + #endregion + // UI events #region MainForm_Load @@ -1129,7 +1174,7 @@ namespace ChanSort.Ui private void miReload_ItemClick(object sender, ItemClickEventArgs e) { - TryExecute(() => this.LoadFiles(this.currentPlugin)); + TryExecute(() => this.ReLoadFiles(this.currentPlugin)); } private void miRestoreOriginal_ItemClick(object sender, ItemClickEventArgs e) @@ -1173,12 +1218,17 @@ namespace ChanSort.Ui private void miRemove_ItemClick(object sender, ItemClickEventArgs e) { - this.TryExecute(this.RemoveChannels); + this.TryExecute(() => this.RemoveChannels(this.lastFocusedGrid, this.cbCloseGap.Checked)); } - private void miReplace_ItemClick(object sender, ItemClickEventArgs e) + private void miSort_ItemClick(object sender, ItemClickEventArgs e) { - this.TryExecute(this.SwapChannels); + this.TryExecute(this.SortSelectedChannels); + } + + private void miRenum_ItemClick(object sender, ItemClickEventArgs e) + { + this.TryExecute(this.RenumberSelectedChannels); } private void miFavSet_ListItemClick(object sender, ListItemClickEventArgs e) @@ -1248,6 +1298,29 @@ namespace ChanSort.Ui { this.TryExecute(this.ShowTvCountrySettings); } + + private void miEraseChannelData_ItemClick(object sender, ItemClickEventArgs e) + { + if (this.currentTvSerializer == null) + return; + + if (XtraMessageBox.Show(this, + Resources.MainForm_btnResetChannelData_Click_Message, + Resources.MainForm_btnResetChannelData_Click_Caption, + MessageBoxButtons.YesNo, + MessageBoxIcon.Warning, + MessageBoxDefaultButton.Button2) != DialogResult.Yes) + { + return; + } + + TryExecute(() => + { + this.currentTvSerializer.EraseChannelData(); + this.LoadFiles(this.currentPlugin); + }); + } + #endregion #region Character set menu @@ -1268,7 +1341,18 @@ namespace ChanSort.Ui } #endregion - #region miAbout_ItemClick + #region Help menu + + private void miWiki_ItemClick(object sender, ItemClickEventArgs e) + { + BrowserHelper.OpenUrl("http://sourceforge.net/p/chansort/wiki/Home/"); + } + + private void miOpenWebsite_ItemClick(object sender, ItemClickEventArgs e) + { + BrowserHelper.OpenUrl("http://sourceforge.net/p/chansort/"); + } + private void miAbout_ItemClick(object sender, ItemClickEventArgs e) { TryExecute(() => new AboutForm(this.plugins).ShowDialog()); @@ -1277,67 +1361,89 @@ namespace ChanSort.Ui // -- controls - #region comboChannelList_SelectedIndexChanged - private void comboChannelList_SelectedIndexChanged(object sender, EventArgs e) + #region picDonate_Click + private void picDonate_Click(object sender, EventArgs e) { - this.TryExecute(() => ShowChannelList((ChannelList) this.comboChannelList.SelectedItem)); + BrowserHelper.OpenHtml(Resources.paypal_button); } #endregion - #region gview_MouseDown + #region tabChannelList_SelectedPageChanged + private void tabChannelList_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e) + { + this.TryExecute(() => ShowChannelList(e.Page == null ? null : (ChannelList)e.Page.Tag)); + } + #endregion + + #region gview_MouseDown, gview_MouseUp, gview_ShowingEditor + + // these 3 event handler in combination override the default row-selection and editor-opening + // behavior of the grid control. + private void gview_MouseDown(object sender, MouseEventArgs e) { - if (e.Button == MouseButtons.Right) + GridView view = (GridView)sender; + var hit = view.CalcHitInfo(e.Location); + if (!view.IsDataRow(hit.RowHandle)) + return; + if (e.Button == MouseButtons.Left) { - GridView view = (GridView)sender; - var hit = view.CalcHitInfo(e.Location); - if (view.IsDataRow(hit.RowHandle) && !view.IsRowSelected(hit.RowHandle)) + if (ModifierKeys == Keys.None) { - view.ClearSelection(); - view.SelectRow(hit.RowHandle); + if (hit.RowHandle != view.FocusedRowHandle) + { + SelectFocusedRow(view, hit.RowHandle); + this.dontOpenEditor = true; + } + else if (e.Clicks > 1) + this.dontOpenEditor = true; } + else if (ModifierKeys == Keys.Control && !view.IsRowSelected(hit.RowHandle)) + this.BeginInvoke((Action)(()=>view.SelectRow(hit.RowHandle))); + } + else if (e.Button == MouseButtons.Right) + { + if (!view.IsRowSelected(hit.RowHandle)) + SelectFocusedRow(view, hit.RowHandle); } } - #endregion - #region gviewOutput_LayoutUpgrade, gviewInput_LayoutUpgrade - private void gviewOutput_LayoutUpgrade(object sender, LayoutUpgadeEventArgs e) + private void gview_MouseUp(object sender, MouseEventArgs e) { - this.gviewOutput.ClearGrouping(); - this.gviewOutput.OptionsCustomization.AllowGroup = false; + this.BeginInvoke((Action) (() => this.dontOpenEditor = false)); } - private void gviewInput_LayoutUpgrade(object sender, LayoutUpgadeEventArgs e) + private void gview_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e) { - this.gviewInput.ClearGrouping(); - this.gviewInput.OptionsCustomization.AllowGroup = false; + var field = ((GridView) sender).FocusedColumn.FieldName; + if (this.dontOpenEditor && (field == this.colSlotNew.FieldName || field == this.colName.FieldName)) + e.Cancel = true; } #endregion - #region gridInput_Enter, gridOutput_Enter - private void gridInput_Enter(object sender, EventArgs e) + #region gviewLeft_LayoutUpgrade, gviewRight_LayoutUpgrade + private void gviewLeft_LayoutUpgrade(object sender, LayoutUpgadeEventArgs e) { - this.lastFocusedGrid = this.gviewInput; - this.UpdateMenu(); + this.gviewLeft.ClearGrouping(); + this.gviewLeft.OptionsCustomization.AllowGroup = false; } - private void gridOutput_Enter(object sender, EventArgs e) + private void gviewRight_LayoutUpgrade(object sender, LayoutUpgadeEventArgs e) { - this.lastFocusedGrid = this.gviewOutput; - this.UpdateMenu(); + this.gviewRight.ClearGrouping(); + this.gviewRight.OptionsCustomization.AllowGroup = false; } #endregion - #region gviewInput_FocusedRowChanged - private void gviewInput_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) + #region gviewRight_FocusedRowChanged + private void gviewRight_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) { - if (!this.gviewInput.IsRowSelected(e.FocusedRowHandle)) - this.gviewInput.SelectRow(e.FocusedRowHandle); + this.gviewRight.SelectRow(e.FocusedRowHandle); } #endregion - #region gviewInput_CustomColumnDisplayText - private void gviewInput_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e) + #region gviewRight_CustomColumnDisplayText + private void gviewRight_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e) { if (e.Column == this.colSlotNew) { @@ -1354,10 +1460,10 @@ namespace ChanSort.Ui } #endregion - #region gviewInput_RowCellStyle - private void gviewInput_RowCellStyle(object sender, RowCellStyleEventArgs e) + #region gviewRight_RowCellStyle + private void gviewRight_RowCellStyle(object sender, RowCellStyleEventArgs e) { - ChannelInfo channel = (ChannelInfo)this.gviewInput.GetRow(e.RowHandle); + ChannelInfo channel = (ChannelInfo)this.gviewRight.GetRow(e.RowHandle); if (channel == null) return; if (channel.OldProgramNr == 0) { @@ -1372,18 +1478,18 @@ namespace ChanSort.Ui } #endregion - #region gviewInput_RowClick - private void gviewInput_RowClick(object sender, RowClickEventArgs e) + #region gviewRight_RowClick + private void gviewRight_RowClick(object sender, RowClickEventArgs e) { - if (e.Clicks == 2 && e.Button == MouseButtons.Left && this.gviewInput.IsDataRow(e.RowHandle)) + if (e.Clicks == 2 && e.Button == MouseButtons.Left && this.gviewRight.IsDataRow(e.RowHandle)) TryExecute(this.AddChannels); } #endregion - #region gridInput_ProcessGridKey - private void gridInput_ProcessGridKey(object sender, KeyEventArgs e) + #region gridRight_ProcessGridKey + private void gridRight_ProcessGridKey(object sender, KeyEventArgs e) { - if (this.gviewInput.ActiveEditor != null) + if (this.gviewRight.ActiveEditor != null) return; if (e.KeyCode == Keys.Enter) { @@ -1394,59 +1500,73 @@ namespace ChanSort.Ui #endregion - #region gviewInput_ValidatingEditor - private void gviewInput_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e) + #region gviewRight_ValidatingEditor + private void gviewRight_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e) { try { - if (gviewInput.FocusedRowHandle == GridControl.AutoFilterRowHandle) + if (gviewRight.FocusedRowHandle == GridControl.AutoFilterRowHandle) return; - if (this.gviewInput.FocusedColumn == this.colSlotNew && e.Value is string) + if (this.gviewRight.FocusedColumn == this.colSlotNew && e.Value is string) e.Valid = this.SetSlotNumber((string)e.Value); - else if (this.gviewInput.FocusedColumn == this.colFavorites && e.Value is string) + else if (this.gviewRight.FocusedColumn == this.colFavorites && e.Value is string) e.Value = ChannelInfo.ParseFavString((string)e.Value); - else if (gviewInput.FocusedColumn == this.colName) + else if (gviewRight.FocusedColumn == this.colName) { - var ci = this.gviewInput.GetFocusedRow() as ChannelInfo; + var ci = this.gviewRight.GetFocusedRow() as ChannelInfo; this.VerifyChannelNameModified(ci, e.Value as string); - this.BeginInvoke((Action) (() => RefreshGrid(this.gviewOutput))); + //this.BeginInvoke((Action) (() => RefreshGrid(this.gviewLeft))); } dataRoot.NeedsSaving = true; } catch(Exception ex) { HandleException(ex); } } #endregion - #region gviewInput_PopupMenuShowing - private void gviewInput_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) + #region gviewRight_CellValueChanged + private void gviewRight_CellValueChanged(object sender, CellValueChangedEventArgs e) { - this.lastFocusedGrid = this.gviewInput; - this.UpdateMenu(); - if (e.MenuType == GridMenuType.Row) - this.mnuContext.ShowPopup(this.gridInput.PointToScreen(e.Point)); + TryExecute(() => RefreshGrid(this.gviewLeft)); } #endregion - #region gviewOutput_FocusedRowChanged - - private void gviewOutput_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) + #region gviewRight_PopupMenuShowing + private void gviewRight_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) { - var channel = (ChannelInfo)this.gviewOutput.GetRow(e.FocusedRowHandle); + this.lastFocusedGrid = this.gviewRight; + this.UpdateMenu(); + if (e.MenuType == GridMenuType.Row) + this.mnuContext.ShowPopup(this.gridRight.PointToScreen(e.Point)); + } + #endregion + + + #region gviewLeft_FocusedRowChanged + + private void gviewLeft_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e) + { + var channel = (ChannelInfo)this.gviewLeft.GetRow(e.FocusedRowHandle); if (channel == null) return; int programNr = channel.NewProgramNr; - if (this.comboEditMode.SelectedIndex == (int)EditMode.InsertAfter) + if (this.rbInsertAfter.Checked) ++programNr; if (this.currentChannelList != null) this.currentChannelList.InsertProgramNumber = programNr; this.UpdateInsertSlotTextBox(); - if (!this.gviewOutput.IsRowSelected(e.FocusedRowHandle)) - this.gviewOutput.SelectRow(e.FocusedRowHandle); + this.gviewLeft.SelectRow(e.FocusedRowHandle); } #endregion - #region gviewOutput_CustomColumnDisplayText - private void gviewOutput_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e) + #region gviewLeft_SelectionChanged + private void gviewLeft_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e) + { + this.UpdateMenu(); + } + #endregion + + #region gviewLeft_CustomColumnDisplayText + private void gviewLeft_CustomColumnDisplayText(object sender, CustomColumnDisplayTextEventArgs e) { if (e.Column == this.colOutFav) { @@ -1457,10 +1577,10 @@ namespace ChanSort.Ui } #endregion - #region gviewOutput_RowCellStyle - private void gviewOutput_RowCellStyle(object sender, RowCellStyleEventArgs e) + #region gviewLeft_RowCellStyle + private void gviewLeft_RowCellStyle(object sender, RowCellStyleEventArgs e) { - var channel = (ChannelInfo)this.gviewOutput.GetRow(e.RowHandle); + var channel = (ChannelInfo)this.gviewLeft.GetRow(e.RowHandle); if (channel == null) return; if (channel.OldProgramNr == 0) { @@ -1470,21 +1590,21 @@ namespace ChanSort.Ui } #endregion - #region gviewOutput_ValidatingEditor - private void gviewOutput_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e) + #region gviewLeft_ValidatingEditor + private void gviewLeft_ValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e) { try { - if (gviewOutput.FocusedRowHandle == GridControl.AutoFilterRowHandle) + if (gviewLeft.FocusedRowHandle == GridControl.AutoFilterRowHandle) return; - if (this.gviewOutput.FocusedColumn == this.colOutSlot && e.Value is string) + if (this.gviewLeft.FocusedColumn == this.colOutSlot && e.Value is string) e.Valid = this.SetSlotNumber((string)e.Value); - else if (this.gviewOutput.FocusedColumn == this.colOutFav && e.Value is string) + else if (this.gviewLeft.FocusedColumn == this.colOutFav && e.Value is string) e.Value = ChannelInfo.ParseFavString((string) e.Value); - else if (gviewOutput.FocusedColumn == this.colOutName) + else if (gviewLeft.FocusedColumn == this.colOutName) { - this.VerifyChannelNameModified(this.gviewOutput.GetFocusedRow() as ChannelInfo, e.Value as string); - this.BeginInvoke((Action) (() => RefreshGrid(this.gviewOutput))); + this.VerifyChannelNameModified(this.gviewLeft.GetFocusedRow() as ChannelInfo, e.Value as string); + this.BeginInvoke((Action) (() => RefreshGrid(this.gviewLeft))); } dataRoot.NeedsSaving = true; } @@ -1492,42 +1612,42 @@ namespace ChanSort.Ui } #endregion - #region gviewOutput_CellValueChanged - private void gviewOutput_CellValueChanged(object sender, CellValueChangedEventArgs e) + #region gviewLeft_CellValueChanged + private void gviewLeft_CellValueChanged(object sender, CellValueChangedEventArgs e) { - this.gviewInput.BeginDataUpdate(); - this.gviewInput.EndDataUpdate(); + this.gviewRight.BeginDataUpdate(); + this.gviewRight.EndDataUpdate(); } #endregion - #region gviewOutput_PopupMenuShowing - private void gviewOutput_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) + #region gviewLeft_PopupMenuShowing + private void gviewLeft_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) { - this.lastFocusedGrid = this.gviewOutput; + this.lastFocusedGrid = this.gviewLeft; this.UpdateMenu(); - if (e.MenuType == GridMenuType.Row) - this.mnuContext.ShowPopup(this.gridOutput.PointToScreen(e.Point)); + if (e.MenuType == GridMenuType.Row && e.HitInfo.InRow && this.gviewLeft.IsDataRow(e.HitInfo.RowHandle)) + this.mnuContext.ShowPopup(this.gridLeft.PointToScreen(e.Point)); } #endregion - #region gviewOutput_RowClick - private void gviewOutput_RowClick(object sender, RowClickEventArgs e) + #region gviewLeft_RowClick + private void gviewLeft_RowClick(object sender, RowClickEventArgs e) { - if (e.Clicks == 2 && e.Button == MouseButtons.Left && this.gviewOutput.IsDataRow(e.RowHandle)) + if (e.Clicks == 2 && e.Button == MouseButtons.Left && this.gviewLeft.IsDataRow(e.RowHandle)) { - ChannelInfo channel = (ChannelInfo) this.gviewOutput.GetRow(e.RowHandle); - this.NavigateToChannel(channel, this.gviewInput); + ChannelInfo channel = (ChannelInfo) this.gviewLeft.GetRow(e.RowHandle); + this.NavigateToChannel(channel, this.gviewRight); } } #endregion - #region gridOutput_ProcessGridKey - private void gridOutput_ProcessGridKey(object sender, KeyEventArgs e) + #region gridLeft_ProcessGridKey + private void gridLeft_ProcessGridKey(object sender, KeyEventArgs e) { - if (gviewOutput.ActiveEditor != null) + if (gviewLeft.ActiveEditor != null) return; if (e.KeyCode == Keys.Delete) - TryExecute(this.RemoveChannels); + TryExecute(() => this.RemoveChannels(this.gviewLeft, this.cbCloseGap.Checked)); else if (e.KeyCode == Keys.Add) TryExecute(() => this.MoveChannels(false)); else if (e.KeyCode == Keys.Subtract) @@ -1538,18 +1658,22 @@ namespace ChanSort.Ui } #endregion - #region comboEditMode_SelectedIndexChanged - private void comboEditMode_SelectedIndexChanged(object sender, EventArgs e) + #region rbInsertMode_CheckedChanged + private void rbInsertMode_CheckedChanged(object sender, EventArgs e) { + if (!((CheckEdit)sender).Checked) + return; try { if (this.currentChannelList == null) return; int delta = this.curEditMode == EditMode.InsertAfter ? -1 : - (EditMode)this.comboEditMode.SelectedIndex == EditMode.InsertAfter ? +1 : 0; + this.rbInsertAfter.Checked ? +1 : 0; this.currentChannelList.InsertProgramNumber += delta; this.UpdateInsertSlotTextBox(); - this.curEditMode = (EditMode) this.comboEditMode.SelectedIndex; + this.curEditMode = this.rbInsertBefore.Checked ? EditMode.InsertBefore + : this.rbInsertAfter.Checked ? EditMode.InsertAfter + : EditMode.Swap; } catch(Exception ex) { HandleException(ex); } } #endregion @@ -1566,18 +1690,6 @@ namespace ChanSort.Ui } #endregion - #region btnSyncFromLeft_Click, btnSyncFromRight_Click - private void btnSyncFromLeft_Click(object sender, EventArgs e) - { - TryExecute(() => this.SyncLists(this.gviewOutput, this.gviewInput)); - } - - private void btnSyncFromRight_Click(object sender, EventArgs e) - { - TryExecute(() => this.SyncLists(this.gviewInput, this.gviewOutput)); - } - #endregion - #region btnAdd_Click private void btnAdd_Click(object sender, EventArgs e) @@ -1590,7 +1702,7 @@ namespace ChanSort.Ui private void btnRemove_Click(object sender, EventArgs e) { - TryExecute(this.RemoveChannels); + TryExecute(() => this.RemoveChannels(this.gviewLeft, this.cbCloseGap.Checked)); } #endregion @@ -1637,13 +1749,6 @@ namespace ChanSort.Ui } #endregion - #region btnSort_Click - private void btnSort_Click(object sender, EventArgs e) - { - TryExecute(this.SortSelectedChannels); - } - #endregion - #region btnRenum_Click private void btnRenum_Click(object sender, EventArgs e) { @@ -1658,27 +1763,27 @@ namespace ChanSort.Ui switch (keyData) { case Keys.F3: - this.gviewOutput.FocusedRowHandle = GridControl.AutoFilterRowHandle; - this.gviewOutput.FocusedColumn = this.colOutName; - this.gridOutput.Focus(); + this.gviewLeft.FocusedRowHandle = GridControl.AutoFilterRowHandle; + this.gviewLeft.FocusedColumn = this.colOutName; + this.gridLeft.Focus(); return true; case Keys.F4: - if (this.gviewOutput.SelectedRowsCount > 0) + if (this.gviewLeft.SelectedRowsCount > 0) { - this.gviewOutput.FocusedRowHandle = this.gviewOutput.GetSelectedRows()[0]; - this.gridOutput.Focus(); + this.gviewLeft.FocusedRowHandle = this.gviewLeft.GetSelectedRows()[0]; + this.gridLeft.Focus(); } return true; case Keys.F5: - this.gviewInput.FocusedRowHandle = GridControl.AutoFilterRowHandle; - this.gviewInput.FocusedColumn = this.colName; - this.gridInput.Focus(); + this.gviewRight.FocusedRowHandle = GridControl.AutoFilterRowHandle; + this.gviewRight.FocusedColumn = this.colName; + this.gridRight.Focus(); return true; case Keys.F6: - if (this.gviewInput.SelectedRowsCount > 0) + if (this.gviewRight.SelectedRowsCount > 0) { - this.gviewInput.FocusedRowHandle = this.gviewInput.GetSelectedRows()[0]; - this.gridInput.Focus(); + this.gviewRight.FocusedRowHandle = this.gviewRight.GetSelectedRows()[0]; + this.gridRight.Focus(); } return true; } @@ -1697,46 +1802,36 @@ namespace ChanSort.Ui } #endregion - #region btnResetChannelData_Click - private void btnResetChannelData_Click(object sender, EventArgs e) + #region btnAddAll_Click + private void btnAddAll_Click(object sender, EventArgs e) { - if (this.currentTvSerializer == null) - return; + this.TryExecute(this.AddAllUnsortedChannels); + } + #endregion - if (XtraMessageBox.Show(this, - Resources.MainForm_btnResetChannelData_Click_Message, - Resources.MainForm_btnResetChannelData_Click_Caption, - MessageBoxButtons.YesNo, - MessageBoxIcon.Warning, - MessageBoxDefaultButton.Button2) != DialogResult.Yes) - { - return; - } + #region btnToggleFav_Click, btnToggleLock_Click + private void btnToggleFav_Click(object sender, EventArgs e) + { + string fav = ((Control) sender).Text.Substring(1); + this.TryExecute(() => this.ToggleFavorite(fav)); + } - TryExecute(() => - { - this.currentTvSerializer.EraseChannelData(); - this.LoadFiles(this.currentPlugin); - }); + private void btnToggleLock_Click(object sender, EventArgs e) + { + this.TryExecute(this.ToggleLock); } #endregion - #region btnCloneChannelList_Click - private void btnCloneChannelList_Click(object sender, EventArgs e) + #region grpOutputList_Enter, grpInputList_Enter + private void grpOutputList_Enter(object sender, EventArgs e) { - this.TryExecute(this.CloneChannelList); + this.SetActiveGrid(this.gviewLeft); + } + + private void grpInputList_Enter(object sender, EventArgs e) + { + this.SetActiveGrid(this.gviewRight); } #endregion - - private void gviewOutput_SelectionChanged(object sender, DevExpress.Data.SelectionChangedEventArgs e) - { - this.UpdateMenu(); - } - - private void gviewInput_CellValueChanged(object sender, CellValueChangedEventArgs e) - { - - } - } } diff --git a/ChanSort/MainForm.de.resx b/ChanSort/MainForm.de.resx index d00db8b..6f02837 100644 --- a/ChanSort/MainForm.de.resx +++ b/ChanSort/MainForm.de.resx @@ -118,48 +118,48 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + - + - + Default - + Top, Left - + - + Tile - + Inherit - + Center - + - + None - + - + Horizontal - + @@ -196,14 +196,342 @@ False + + Ge- sperrt + + + Kindersicherung + 333, 17 F3: Filter | F4: Liste | -: nach oben | +: nach unten | Entf: entfernen - - Dahinter einfügen + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxMi4yLCBWZXJzaW9uPTEyLjIu + Ni4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT + eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv + a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0 + cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P// + /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABAAAAAQAAAACQUAAAAP + BQAAAMBJAAACDgMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAACukAAArpAf11ztMAAAAqdEVYdENyZWF0aW9uIFRpbWUATWkgMSBNcnogMjAwNiAx + NToxMDo1MSArMDEwMP/NqUUAAAAHdElNRQfWAwEODCaDia/cAAACZ0lEQVQ4T82S7UsTUBSH75eCCAx6 + oTAqg7BMRKjoQ6S9Oa1I10gzU8PUZmYpKEamy8gCX8iS2YxqiRmREMrUltEoLdSMps458wXUEiW0UToN + bdTTpaLtP6gDlwuXe57zO79zxP8RC1M7CCzqRSR0IZI7EepOvLO7CI4qRRGpxTejGRHTioiVd+RrAmMq + 8FA+4k+6EGHJlfA4H+MoiMJviKtO7nbPQcJqOLaSNtsHxKUpxMUpzmobQX+aYI2E/Y3kftJ1LVClwfxF + Qgp+cL3DKQG+ErAek2UUoZmloMwEFeco75hEhJrcAElWRD6ElA3CzVR6ZkDXA5zwgzgfntrsFGnroVLD + leYZRKoEKp+5AP457TR0j/PA4uB9v4QMmGHWAepNcNyPuSEbziYDw2MT3GkcpuZVHz6JT1wA5dESiF0p + q22ERH+ZuPn3ObVNqtgK0RsgfA0cWA57PWC3QLkz0wVQHSmGqCXy41qI8ZZ9S1CclK/eAvFSRYR8D10B + +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 + ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tl + dCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1s + bnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0 + MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw + Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiBy + ZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4 + bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9u + cy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRv + YmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjQ1QTVE + QzE1NTY1MTFFMTlEMzlGQkM3NTZEQTg5QjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjQ1QTVE + QzI1NTY1MTFFMTlEMzlGQkM3NTZEQTg5QjAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFu + Y2VJRD0ieG1wLmlpZDo2NDVBNURCRjU1NjUxMUUxOUQzOUZCQzc1NkRBODlCMCIgc3RSZWY6ZG9jdW1l + bnRJRD0ieG1wLmRpZDo2NDVBNURDMDU1NjUxMUUxOUQzOUZCQzc1NkRBODlCMCIvPiA8L3JkZjpEZXNj + cmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqSWWTYAAAJY + SURBVDhPbVJLaxNhFP2gexdCacxrEpIWUbJI2qSPpKn4iNZYGsGkWqFPRaGFaA1qYjOmaqFkEVQIFXWn + G+vOhVatxsdGdKOif8K1aNNqj/dMJ7EWLxzunMc9k8CozeN2u8uapv10Op1wOBzgJqduRuoDwHyS8Xg8 + MYaTySTy+TyKxWId5NTpM2ee/C0Q8bjH04zzFy4id0nH6PhpHB0cqYOcOn3maiX1AqvdjTMZHacms0gk + R5E4Mo744RPoTZw0dr/wRGrM8JljnndGgdPlLff2D2N5sQGP0gpX9yrMCLCk8HtR9nOFwh6FazGF24MK + 1acNYJ53RoHF1rL8eL4TeKFwr1xG5eM3TGemsCoF35/IwTOFpaUF6PpN3J+/BbxUYN5ia142Chq3tQAf + FNZey9tWKshOzCAzuA+/3ir8qCisiH5u+Biyk1eA1VdYeyO59wqNlma55y+wevDw7jjW3onxSfBF8FXw + 2eTc5NSFM7dwZwwt2/3rBXaHC7NzNxAIxdDafhBtHXHBIUGf8D7zmVrc8JmbnbsOm11bL9A0V1XXCziw + P45I1y5EI7sR7f4PRKfPnK5f5sdVNQrka3uQSqUwdXYKHcF2hDu70B0OCyIbEDZ0+swxzzujQEY+MCdy + uRxGhkYQ8AcQbAsiFAwhFBLIJqdOnznmeVcrUFarddrr9RpmOp1GT7QHvh0++HYKZJNTp89cU1PTBO/q + BTJbKbJ5YGAAhUIBpVKpDnLq9M3jLTzaWMCh2Cr/bcHlclUZroGcOn0zZ8zmgto4BX4BwzWQU/9nAKg/ + yGOuHJCHKfQAAAAASUVORK5CYILHAQAAiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA + AXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAFcSURBVDhPpVIt + k8MgFOzfqaw8GxkZGRsZiYxFIiOxyEgkFomMxCKRkXv70nTm2ml7c9ed4WMS9uM9OAlAbNuGnAtCTHBL + gLELFh9R64b90DuUUuFD5EgIaUVYMyzJanYYpxm5lNci4i7kEFdUpigbkLkmOvu1QFuPtp/2hAflHhJb + ohYSyN0Ht1g5hbzBpYJRW0SWdlDuIWTPn0L6KZA5RQosqWJyEd0wPRdQeubBsscWYqWAlHFNUPcE2iV8 + deq5gHUejs2TmoUkzrJGqvi1wsbCZnoolnFQ7hHZPGmU1CskGbL3N/dlRadmDOOLBEyMQRmYJWKhowzH + usXZ+IxBOzSM7+bhuYCg1op+NDxs2bCwu0rsns5NN2LWLWrW70XkniMfkebjkXtveoWJ7iklNJcz4nz+ + XeQRUp6shS+x7dr/idzwkchjEm8uUEPz9xQCabgxBiJ2fPoEp9M3PYCuJ83FFLAAAAAASUVORK5CYILR + AgAAiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0 + U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJjSURBVDhPlVP9S1phGL1/6gzXbMsiolE/hBWI + +ENtOvsySwuD5leaOsNyS0VcqDms6Z1au3X7IhFELA2U0/s+w0D6ZV04cO/Le85znuc8V6hUZFxf/0Wx + eIxkMga7fQPT01OYnJyEVquFyWSCzWZDPB7DyckviGIOslzG3d0FGFcQzs4K8Hrd0Ov1MBqNcLvdiEQi + iMViODo6wuXlJZrNJur1OhOJw2q1siLryGSSuLo6hbC+bsXKygp2d3fh8XiYmJfew+EwUqkUzs/PcX9/ + j3a7jVqthnK5jM3NTczNzSKR+A6BW+WXQ6EQnE4nIRAIkItsNsuqXOHx8REPDw/kJpfLkTuNRoPV1SUI + Ozse6tPn8xEcDgdcLheJptNpSJKERqOBarWKfD6PaDRKrU5NaTA//xk0A5vNgpmZGSwsLMBisZAgb4u7 + 4U4ymQwRFxcXMT4+zvCRyH6/GzwFoVQ6ZoOxYnl5mWbAiVzAYDCQGBfl7yMjI1Cr37NCBuzvf6PkSIBD + kkRsbKyy/qLgT6fToRSCwSDMZjPGxsYwPKxmgp/YnT3Wmvgvxq4AB49lbc2Mg4MfNPlSqcSc2TE6OoqB + gXesBSMj77Nk/hD5hQCHLJewtGRiFvdQKBQwMTGBvr437OwL24MILi6Kz2SOHnIX4XCAEhFFEQqFAoOD + A2yI4Z7KXfR8dHF4GGe74MfNzQ2USiWGhj6wnfj5gszx4oAjmz2kraxUKlCpVDT5VwnwPecCrVaLfiqV + 6u3rBG5vJWxt2aHT6dDfr2SbN8u2MvH/Ahynp7+xvf2VNi4U8j3n3gtZeALAUv0zVsZhhAAAAABJRU5E + rkJggmABAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAABc1JHQgCuzhzpAAAABGdB + TUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAAAPVJREFUOE/FkiFzxCAUhPMzzlaePImNRCKx + yMjI2MiTlbWVSCQWiURikUjklscknXYmySXqdiYiJN++ZaF7i6QR4JahlIJl6bxmO0EYBmF7PPV8zSCm + CGk5pOPNYFk+J1QpLyB9hQOj12sGKlTQM6jIEWO8BhtvGjgkgVlP16OPRWLMEkMW+3DOefMjQQSTScpp + 22CNRz/9LYdaXyePZtifrp3GtMScIH8vyFAEVOJQmf8z3lSIoSWgJDTxy39Cxh4y9HDeHcOrUkqtbYLo + yLh/oHePc/AqH1yDmL3X5wN75R7qWe/7Xd8gvw+O7ZVoOy+L67ruB5WO0+O4CdrNAAAAAElFTkSuQmCC + 6gEAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAA + sY8L/GEFAAABlElEQVQ4T2NABv7VpyQ8CvZ/tUpYLAYVwgb+Q2lM4Fl0cJVr9vb/VhHTS6FC2ABuA9xy + d95zTlv/0Di45yVUCBvAboB7wQEnoO3fbWLnahgHdP63ipwRAJVCB9gNAGo+7ZS67pZZ2KRpJkHdX8zD + Jh+ESqEDTAOAmplds7Z/BNISIL5l1ExfY/+O/+ZR07TAClABpgEuWduOmYdO/GEZPjnFKmwGl7F/53uQ + Acb+7RehSpAB7kAkEmA3YGpE/tqpoZk7p0cXzZ0aVbBrorvvxR5jzRSoNDLAbsBkz8BtIHp2ZIr4VE+f + F7V6qvfAEpgAuwHT3dzAqW9mUPzMOn3V/w366mFgCQRoBGJvIAYZ4ArEXUCMCuZEZDtPcvf9X6evtgoq + hAyMgRikGYadgBgVTI0uetBlovmi1VxHHMSf4uioDZZAgC1ADNJ8DMxDBjPCs3v77e3+dxhppIL4kzxt + RbuMNZaCJREA5gpU26e4+2p3GGt+KddR+lqrpza72VBtRaWuyqtqXZW5UCXIoBpKUwMwMAAA1uqHbWt/ + 5s0AAAAASUVORK5CYILoAAAAiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IA + rs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAB9SURBVDhPvY5RDsAgCEO5 + 1g6/szEb7EBUTPaxl9QZSjvl5RZtZ1RmN2/MYe2zCL1EDOf7WEIvwUUP/F0AdgUjRQHIBTOHgjPHAi6s + ng/KghiMd+CzUR2G8P1csAr7DLhnClRhmwP3TYEqbB5ZhB0vocYwoLch/VkvLZaJyAO1fLRJwmwK3AAA + AABJRU5ErkJggkUBAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAABc1JHQgCuzhzp + AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAAANpJREFUOE/VUCESgzAQjOwT+EJl + JRYZGYmNRCJjkcjIWGQlEovkCbGVlZXXy5HQQBN0uzM7d5O53dsL+x9cNQBrXysD+PDpc5B3FLrBI8W4 + 1jOMNiOOeQoXF4cofoB/2xn0PYfR3MCYEjjn9Bi2U40Rogd2nYCnvQA8GFU7F2CXAioDoCag3kvXTzuy + 7ziJwSKDyVRQbDLDXgixTxFjM/DiAc8wiifZNvW3UWyg8S8mXcKC/5GiajMGbrMTp0SOs0ZxU6XPUKqm + 2Kebc2IHKSXd5uLl6Ed/Eoy9AcV8Gi8V4zpDAAAAAElFTkSuQmCCOAEAAIlQTkcNChoKAAAADUlIRFIA + AAAQAAAAEAgGAAAAH/P/YQAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAO + vAGVvHJJAAAAzUlEQVQ4T6WQIRKDMBBFOUKvUMk1egQkFhkZGYuMRNZGIiNrK5GRsStXIrfZFGgEUAg7 + 8yeZzLw3P1vsjUdPD3MjCOf0dHxm+Ok1VfZ+TrLAoEm6hiya45If3EVY+YZaEGRHQ/Wr3JekMIPKiwi3 + IElhQ/343JZsw4I6VNRiuIdsSsygoyANwxrlUj9N77r1r9A0URDgRWDL/wtMhwUMc+18wTgv74JAYv1d + XI6A60us8gVcX0AQYKZAQn1NwKCZclrg4B2hOQ6GFUFRfAC3eSsPJ8swNwAAAABJRU5ErkJggkABAACJ + UE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAABc1JHQgCuzhzpAAAABGdBTUEAALGPC/xh + BQAAAAlwSFlzAAAOvAAADrwBlbxySQAAANVJREFUOE+lkqsSwyAQRfMJ/YXKfkJtZCUSGxmJjI1EIrHI + yMjaykgkFrmycsvSbNrMdDIJvTNXwTk8Zqtf8fGBtTst9XHCeWlfCLKgcw10KO+X44IeFHbQ4vC0ZQKd + BU25oE+nK5DlAjr9T4HMAlcqIFiBQAemTNAmuI07BW7Sq8HJggRT7Sz47uDNWhggoBjTQnov/f4bvmET + bqiCRBvTQAWNQ3RZENP+Gf2EJXRlAqnS17lium7DHJaYmMb3KMxhiQ7dAovxvA/msGQsgTks2Yar6gWi + aB5TNw92LAAAAABJRU5ErkJgggEEAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAAB + c1JHQgCuzhzpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAAABp0RVh0U29mdHdh + cmUAUGFpbnQuTkVUIHYzLjUuMTAw9HKhAAADcElEQVQ4T22TfUzUdRzHf0cixdOhcqGWQYN8ILVyjoqt + cCqZohMk6Q6PxzgRROGgLj2OIwQlFSQTNSAYAYcHiBJJwGCjIkhE/qA2yD+I0ZU6HmKw8Tx49ePnprn1 + x/v73+v1+X4/370F4HH+HB74rbyjDGPtSaLLIwkp/pDDpREYb+ipbq/C8tDC7Oys1X8Z6Zifn7fq+qOL + jIYUzjSncrYljYxmA6mNOvT1iSTUxBBVFkpKhZ7ue91fz8zMyJ4SdPbdIa1ez+W2bAwNScTeCCf6egia + qkN8VKEi0qwiyhyMqjiAmHwNHd0dTE9P50iCofHBZzKbTpHbloWu7hhHrodKYFRlMJEiHF4ehLosEGWJ + PweL97H3ki/JRSe5/+C+yKMQKm+bSW80oK9L4HCVWgLDRKi5t4GFhQU+b0wnsMiP/QW78MvbiW/uu/gY + vGn6uYm5uTmZkH7LyOnmFGlypFlJ2LUg8ar+fP/rd5IgtSaZvSK468o2dlx6B58v3mKLYROn89MZGxsT + hOiSCHF6IqHlB9FUqLn403mymjO5298pCcp/KSO93oiuJpE3z73BlszNvGpcR4hBzcjIiExQXQlEK275 + UOkB4swaCfq//P3PX3imrmVD2it4pLix+9j7DA0NyQRl7gccqYzgQOEegq4GUHfnFrXttfQ/6JfAjp7b + 3Gy9SVFTIS99/AJrTqxmpVaBv3Y/w8PDgqD5KgL1N0Hsubodn/Nvs/kTT9bGuWNqKZMEETlhuEQqUGic + cUlU4Jy0HLnGkdiMGEZHRwUhq+ocuy/sZNtFb7yzt7L17Gts/Gw919pNjwR5YazUPc+KRBGMd8Q+zg4n + lZzCykLGx8cF4ce7P/CecTte4oJeP7MRz1PrcE92xTdtByGZajYkrWdZghyH4/bYHn0OG81SvDRedHZ1 + PvrGqakpQ0F1QcsmrSfuBldc9S+yWueC8/FlOEY7YB9rh22cCMbaYK2xxiPcg7zSPAYHB6VOLPZAGLAM + CCe+/FTmFrUGRfwKlmudcIx3wC7OlmeP2rA0xpolYUtYpVyF4YKB3t97ZeLznnRhMRMTE4LpW5OVn9aP + l0PdcAqWY6O0Qa6U46ZyIyAhgBJzCX19fY+L9JRgMZOTk0LPvR7MtWZyinLIyM0gOz8bU7WJ1rZWLBbL + w8UbP2EQ/gUmBYNGMnqJRAAAAABJRU5ErkJggrUDAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAA + AB/z/2EAAAABc1JHQgCuzhzpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAAAAd0 + SU1FB9oLGQsqD9YxgrUAAAAHdEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAA + CnRFWHRDb3B5cmlnaHQArA/MOgAAAA50RVh0Q3JlYXRpb24gdGltZQA19w8JAAAACXRFWHRTb2Z0d2Fy + ZQBdcP86AAAAC3RFWHREaXNjbGFpbWVyALfAtI8AAAAIdEVYdFdhcm5pbmcAwBvmhwAAAAd0RVh0U291 + cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syWvwAAAAZ0RVh0VGl0bGUAqO7SJwAAAmNJREFUOE+Nkt1L + k2EYxncc/QMddNhhf0BQgdCBebDUjPkxnZtNdFPXNk3aV/rq/IjNLFtlzin4kaERczYSxdIKTVp2YAZR + aCB5kBmdKEX663k2FqYTOrjel+e5r+u67+e+bxXwX3AoPi46Bsm/1E2mrlpcJe73EVPB7W2jovkJocg7 + Csqc3H8wLK4TsX3kVNDae5j7CEarEhcvvp2L/2UlKQV7kVNxl6dLCYOkWFaisXSnFuxGsLefrPIAkRgM + TyzFTSRcgZdoa/pSi5Lo6AzFxc09C/Q+A38ElMENHMFV9J4INe7W1EKJpHj0NdhuLFCqTJGu85FhuI66 + 9CYmW52gHdDEpPjOwAtyz2dRlJuNPi8bU+E5jPlqekNdgpbgHigOji3jNJ6EX4uwNQk/Z2HzMTsbIVyW + El7NTgv6HoPdZecUmPg0rsDXWvhez85aFSxnQOw4bzqO4q13JQy8vltUNoxguxbFLToru210DtFo04us + wmnjKorHhEZrpM2jgwU1PDxMg4hPjo+ikmK5JHLOUtw3gyCXszo/KDI3srniEueK+PxtZjO/18JinsdY + 7zqNz1uHqrC6h3xrkBb/bapqvQTFczMKruCqKoYffrY/azAVqSmtdHHPrYVvIsNIGq01eiaij1BlFVr+ + rqc08Q584ayhHWNJCSvTHnh/iu3YGbZWhtlZF8sQTifsSKOl3pnogfxISBNZiT3wAa29m+hYmLycTGKR + C+Jth0TZR0TmE0w1pVNnNfB8ZupfA42hmqLL/ZiVEZr8gXiwM9COtUyHvVxHrbkYZ2UxbvG00aHkHqD6 + A6hW1582hiNtAAAAAElFTkSuQmCCYAMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAA + AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAGnRFWHRTb2Z0 + d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAALPSURBVDhPdY9bSFNxHMd9sMSkRHMrTDFjplmZilHg + tbzg9RTeyPCyWd6WoqVWCBkZDnFGpRS6zBR1Zbq01CKdYurwtpm31Cb9HqPAh/Po27f/2dZDLD/w5fw4 + fL+fndl4F3eLzlR9rLqk1A5Jn01QUcvUjlw1jSLVFApNmTQ985snd7IaJ4hTavuF/olitchGQFLaq6hU + zyKwdhQeD8bhVjMFr/p5+DcuI1i1icCmVfg0LMD94TQ8a8bhXzuGwjYdjpf1NZgEnkVdyoYpQvngOko0 + S7jR+xW33q2i8v0G7g4ZUT6wwd6tQNq5iKtt80hTzSKvQw9JsVppEhyTdymVkwTpB4JsiFD4iXBtkJCp + IaSojUho/4aLLSsIadIj6NEsfBXTSG2egXdJz2OTwDX+ZpS03cCPrRGapgmNOkLdBKFimJCnMSKtcw1R + zUsIblyAX50OpWo9whSf+SPx5dEmAcNOFCblUl4Y+PtjhBz264VsnN1PSH9tBNexjmiVINAjr2sRIQot + fyhCxgk789yMSZKsMvBVWkIR+xv5TJTV9wOp3ZuIa11FrnoFofVfeHFErtX4L3ZiJklqMfAVowQ5k+QO + EK70bEH69juCn8xvO0YW7Dr+C5PkcEnsS0pGCAXsK6RMkqYcwUB02K+17ESs5HDQRwaMjXgd9LFsrGCS + bK6yR4+M3i2UvtJhJiEEJIsDnRWbI0vAIhf6U3XUycmyseJAWdcckt8Yob5TDZLGgoJc2FhkjnDnJmJE + 4nzb0rfCIa9jDqk9RnTIy0CJ/iCif5MYgGGJS72lb4VD6nMdn9FrhEJ+DxR7GhRzEhTla45wx/lDIxFV + W/pW2IrDZUlRT2f484oJGILcflN6OCgtzBx2z5+TbMc42ntZ+v/F7vCF65x7fuvLTGf7y9pAj8XlSD8I + Ee4C0f5Y1tljru6OLcs+lr0sriynLBFuNrax+QM2YLHCx6xDMQAAAABJRU5ErkJgggs= + &Datei @@ -277,8 +605,8 @@ TV-Gerät - - Geräteeinstellungen... + + Alle Senderdaten löschen &Einstellungen @@ -292,6 +620,9 @@ &Hilfe + + ChanSort Webseite... + &Über ChanSort... @@ -360,143 +691,152 @@ - - In bestehender Reihenfolge am Ende anhängen - - - - - - - - - True - - - In bestehender Reihenfolge am Ende anhängen - - - In alphabetischer Reihenfolge am Ende anhängen - - - Löschen - - - - - - False - - - 262, 20 - - - - - - Horizontal - - - - - - - - - - - - Nicht explizit sortierte Sender: - - - Senderlisten vollständig löschen - - - - - - - - - True - - - - - - False - - - 57, 13 - - - Senderliste: - - - ChanSort {0} - Senderlisten Editor für LG und Samsung TV - Nach oben Nach unten - + - + - - True - - - Davor einfügen - - - Dahinter einfügen - - - Austauschen - - - - - - False - - - Nach aktuellem Sender in rechtem Fenster filtern - - - 35, 13 - - - Modus: - - + Horizontal - + - - Filter zurücksetzen + + True - - Markierte Sender neu nummerieren + + tauschen - - Markierte Sender alphabetisch sortieren + + - - Markierte Sender nach unten verschieben + + - - Markierte Sender nach oben verschieben + + - - Markierte Sender entfernen + + + + + + + + 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 + + + Setze Pr#: + + + Programplatz für Einfügen und Festlegen @@ -534,52 +874,73 @@ False - - Setze Pr#: + + ChanSort {0} - Senderlisten Editor für LG und Samsung TV - - Programplatz für Einfügen und Festlegen + + Kindersicherung + + + Horizontal + + + + + + Filter entfernen + + + Markierte Sender neu nummerieren + + + Markierte Sender nach unten verschieben + + + Markierte Sender nach oben verschieben + + + Markierte Sender entfernen Sortierte Sender (.csv) - + - + - + Default - + Top, Left - + - + Tile - + Inherit - + Center - + - + None - + - + Horizontal - + @@ -669,9 +1030,6 @@ F5: Filter | F6: Liste | Eingabe: übernehmen - - << Alle hinzufügen (aktuelle Senderliste kopieren) - Horizontal @@ -679,10 +1037,7 @@ - Filter zurücksetzen - - - Nach aktuellem Sender in linkem Fenster filtern + Filter entfernen Markierte Sender übernehmen diff --git a/ChanSort/MainForm.resx b/ChanSort/MainForm.resx index 1b1021e..30526fa 100644 --- a/ChanSort/MainForm.resx +++ b/ChanSort/MainForm.resx @@ -123,16 +123,16 @@ - 0, 59 + 0, 109 361, 17 - + Fill - - 2, 85 + + 2, 54 Pr. index @@ -163,7 +163,7 @@ 1 - 180 + 158 Favorites @@ -195,29 +195,44 @@ UID - - 332, 436 + + Lock - + + Parental lock + + + True + + + 3 + + + 35 + + + 339, 417 + + 1 - - gridOutput + + gridLeft - + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + grpOutputList - + 0 Bottom - 2, 521 + 2, 471 2, 2, 2, 2 @@ -243,920 +258,6 @@ 1 - - Insert after - - - 213, 7 - - - 475, 17 - - - &File - - - &Open TV data file... - - - &Reload - - - Restore backup - - - File &information... - - - &Save - - - Save &as... - - - Import reference list... - - - &Quit - - - &Edit - - - &Add channels - - - &Remove channels - - - Re&place 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... - - - &Settings - - - &Language - - - &English - - - &Deutsch - - - &Character set - - - Alle &Zeichensätze... - - - ISO Zeichensätze - - - &Help - - - &About ChanSort... - - - Tools - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy - LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA - ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li - bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC - X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe - Xxl+0wEL - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy - LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA - ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li - bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC - X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw - KphCYAEL - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy - LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA - ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li - bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC - X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu - ZMgcwAEL - - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy - LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA - ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li - bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC - X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc - WIeWYGkVXQEL - - - - Top - - - 0, 0 - - - 1474, 25 - - - barDockControlTop - - - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - - 5 - - - Bottom - - - 0, 599 - - - 1474, 0 - - - barDockControlBottom - - - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - - 4 - - - Left - - - 0, 25 - - - 0, 574 - - - barDockControlLeft - - - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - - 2 - - - Right - - - 1474, 25 - - - 0, 574 - - - barDockControlRight - - - DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - - 3 - - - True - - - 6, 13 - - - 1474, 599 - - - Delete - - - 511, 7 - - - Combo - - - Append at end in current order - - - Append at end in alphabetical order - - - Delete (=set to Pr# 0) - - - 250, 20 - - - 4 - - - comboUnsortedAction - - - DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - grpTopPanel - - - 0 - - - Vertical - - - 316, 10 - - - 189, 13 - - - 3 - - - Channels not sorted explicitly: - - - labelControl3 - - - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - grpTopPanel - - - 1 - - - 784, 6 - - - 170, 23 - - - 2 - - - Erase all channel data - - - btnResetChannelData - - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - grpTopPanel - - - 2 - - - 92, 7 - - - Combo - - - 218, 20 - - - 1 - - - comboChannelList - - - DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - grpTopPanel - - - 3 - - - 12, 10 - - - 59, 13 - - - 0 - - - Channel list: - - - labelControl1 - - - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - grpTopPanel - - - 4 - - - Top - - - 0, 25 - - - 1474, 34 - - - 0 - - - groupControl1 - - - grpTopPanel - - - DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - $this - - - 1 - - - CenterScreen - - - ChanSort {0} - Channel List Editor for LG and Samsung TVs - - - dsChannels - - - System.Windows.Forms.BindingSource, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - gviewOutput - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colIndex1 - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colOutSlot - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colOutName - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colOutFav - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - repositoryItemCheckedComboBoxEdit1 - - - DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colUid1 - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - barManager1 - - - DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - bar1 - - - DevExpress.XtraBars.Bar, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miFile - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miOpen - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miReload - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miRestoreOriginal - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miFileInformation - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miSave - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miSaveAs - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miOpenReferenceFile - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miQuit - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miEdit - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miAddChannel - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miRemove - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miReplace - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miSort - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miRenum - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - mnuFavSet - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miFavSet - - - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - mnuFavUnset - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miFavUnset - - - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miLockOn - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miLockOff - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miSkipOn - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miSkipOff - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miHideOn - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miHideOff - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - barSubItem2 - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miTvSettings - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - mnuOptions - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - barSubItem1 - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miEnglish - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miGerman - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - mnuCharset - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miCharsetForm - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miIsoCharSets - - - DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - mnuHelp - - - DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miAbout - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - sharedImageCollection1 - - - DevExpress.Utils.SharedImageCollection, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miMoveUp - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - miMoveDown - - - DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - gviewInput - - - DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colIndex - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colSlotOld - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colSlotNew - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colName - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colShortName - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colFavorites - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - repositoryItemCheckedComboBoxEdit2 - - - DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colLock - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colSkip - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colHidden - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colEncrypted - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colChannelOrTransponder - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colFreqInMhz - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colServiceId - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colVideoPid - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colAudioPid - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colServiceType - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colServiceTypeName - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colSatellite - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colNetworkId - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colTransportStreamId - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colSymbolRate - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colPolarity - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colUid - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colNetworkName - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colNetworkOperator - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colDebug - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - colLogicalIndex - - - DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - defaultLookAndFeel1 - - - DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - splashScreenManager1 - - - DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - mnuContext - - - DevExpress.XtraBars.PopupMenu, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - MainForm - - - DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - 600, 17 @@ -1168,7 +269,7 @@ a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0 cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P// /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABAAAAAQAAAACQUAAAAP - BQAAABRDAAACDgMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8 + BQAAAMBJAAACDgMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAACukAAArpAf11ztMAAAAqdEVYdENyZWF0aW9uIFRpbWUATWkgMSBNcnogMjAwNiAx NToxMDo1MSArMDEwMP/NqUUAAAAHdElNRQfWAwEODCaDia/cAAACZ0lEQVQ4T82S7UsTUBSH75eCCAx6 oTAqg7BMRKjoQ6S9Oa1I10gzU8PUZmYpKEamy8gCX8iS2YxqiRmREMrUltEoLdSMps458wXUEiW0UToN @@ -1435,11 +536,25 @@ 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 @@ -1454,14 +569,279 @@ 7zqNz1uHqrC6h3xrkBb/bapqvQTFczMKruCqKoYffrY/azAVqSmtdHHPrYVvIsNIGq01eiaij1BlFVr+ rqc08Q584ayhHWNJCSvTHnh/iu3YGbZWhtlZF8sQTifsSKOl3pnogfxISBNZiT3wAa29m+hYmLycTGKR C+Jth0TZR0TmE0w1pVNnNfB8ZupfA42hmqLL/ZiVEZr8gXiwM9COtUyHvVxHrbkYZ2UxbvG00aHkHqD6 - A6hW1582hiNtAAAAAElFTkSuQmCCCw== + A6hW1582hiNtAAAAAElFTkSuQmCCYAMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAA + AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAGnRFWHRTb2Z0 + d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAALPSURBVDhPdY9bSFNxHMd9sMSkRHMrTDFjplmZilHg + tbzg9RTeyPCyWd6WoqVWCBkZDnFGpRS6zBR1Zbq01CKdYurwtpm31Cb9HqPAh/Po27f/2dZDLD/w5fw4 + fL+fndl4F3eLzlR9rLqk1A5Jn01QUcvUjlw1jSLVFApNmTQ985snd7IaJ4hTavuF/olitchGQFLaq6hU + zyKwdhQeD8bhVjMFr/p5+DcuI1i1icCmVfg0LMD94TQ8a8bhXzuGwjYdjpf1NZgEnkVdyoYpQvngOko0 + S7jR+xW33q2i8v0G7g4ZUT6wwd6tQNq5iKtt80hTzSKvQw9JsVppEhyTdymVkwTpB4JsiFD4iXBtkJCp + IaSojUho/4aLLSsIadIj6NEsfBXTSG2egXdJz2OTwDX+ZpS03cCPrRGapgmNOkLdBKFimJCnMSKtcw1R + zUsIblyAX50OpWo9whSf+SPx5dEmAcNOFCblUl4Y+PtjhBz264VsnN1PSH9tBNexjmiVINAjr2sRIQot + fyhCxgk789yMSZKsMvBVWkIR+xv5TJTV9wOp3ZuIa11FrnoFofVfeHFErtX4L3ZiJklqMfAVowQ5k+QO + EK70bEH69juCn8xvO0YW7Dr+C5PkcEnsS0pGCAXsK6RMkqYcwUB02K+17ESs5HDQRwaMjXgd9LFsrGCS + bK6yR4+M3i2UvtJhJiEEJIsDnRWbI0vAIhf6U3XUycmyseJAWdcckt8Yob5TDZLGgoJc2FhkjnDnJmJE + 4nzb0rfCIa9jDqk9RnTIy0CJ/iCif5MYgGGJS72lb4VD6nMdn9FrhEJ+DxR7GhRzEhTla45wx/lDIxFV + W/pW2IrDZUlRT2f484oJGILcflN6OCgtzBx2z5+TbMc42ntZ+v/F7vCF65x7fuvLTGf7y9pAj8XlSD8I + Ee4C0f5Y1tljru6OLcs+lr0sriynLBFuNrax+QM2YLHCx6xDMQAAAABJRU5ErkJgggs= - - 03/28/2013 23:00:31 + + True + + + 6, 13 - - 16, 16 + + 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 + + + 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 + + + &Help + + + Wiki + + + ChanSort website... + + + &About ChanSort... + + + Tools + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC + X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe + Xxl+0wEL + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC + X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw + KphCYAEL + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC + X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu + ZMgcwAEL + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMi4yLCBWZXJzaW9uPTEy + LjIuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA + ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li + bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC + X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc + WIeWYGkVXQEL + + + + Top + + + 0, 0 + + + 1474, 31 + + + barDockControlTop + + + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + + 5 + + + Bottom + + + 0, 599 + + + 1474, 0 + + + barDockControlBottom + + + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + + 4 + + + Left + + + 0, 31 + + + 0, 568 + + + barDockControlLeft + + + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + + 2 + + + Right + + + 1474, 31 + + + 0, 568 + + + barDockControlRight + + + DevExpress.XtraBars.BarDockControl, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + $this + + + 3 Move up @@ -1469,74 +849,150 @@ Move down - - Combo + + swap - - Insert before + + + Far - - Insert after + + 77, 19 - - Swap - - - 114, 20 - - - 11 - - - comboEditMode - - - DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - pnlEditControls - - - 0 - - - 273, 34 - - - 54, 23 - - + 10 - - Filter > + + rbInsertSwap - - Filter for current channel in right list + + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - btnSyncFromLeft + + grpTopPanel - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + 0 - - pnlEditControls + + True - + + 88, 24 + + + after + + + 75, 19 + + + 9 + + + rbInsertAfter + + + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + grpTopPanel + + 1 + + 88, 5 + + + before + + + 75, 19 + + + 8 + + + rbInsertBefore + + + DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + grpTopPanel + + + 2 + + + True + + + 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.6.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.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + grpTopPanel + + + 4 + - 165, 10 + 7, 8 - 30, 13 + 62, 13 2 - Mode: + Insert mode: labelControl2 @@ -1545,178 +1001,112 @@ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - pnlEditControls + grpTopPanel - 2 - - - Tahoma, 8.25pt, style=Strikeout - - - 213, 34 - - - 54, 23 - - - 9 - - - Filter - - - Reset filter - - - btnClearLeftFilter - - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - pnlEditControls - - - 3 - - - 147, 35 - - - 23, 23 - - - 8 - - - 1-999 - - - Renumber selected channels - - - btnRenum - - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - pnlEditControls - - - 4 - - - 118, 34 - - - 23, 23 - - - 7 - - - A-Z - - - Sort selected channels alphabetically - - - btnSort - - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - pnlEditControls - - 5 - - 34, 34 + + Top, Right - - 23, 23 + + 1296, 8 - + + Transparent + + + 166, 54 + + + 0 + + + picDonate + + + DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + grpTopPanel + + 6 - - v + + Bottom, Left - - Move selected channels down + + 0, 54 - - btnDown + + 632, 0 - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + No file loaded - - pnlEditControls + + pageEmpty - - 6 + + DevExpress.XtraTab.XtraTabPage, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - 5, 34 + + tabChannelList - - 23, 23 + + 0 - + + 638, 22 + + 5 - - ^ + + tabChannelList - - Move selected channels up + + DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - btnUp + + grpTopPanel - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - pnlEditControls - - + 7 - - 75, 34 + + Vertical - - 23, 23 + + 169, 8 - - 2 + + 80, 13 - - >> + + 0 - - Remove selected channels + + Set Pr#: - - btnRemove + + Program number for insert and set operations - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + labelControl11 - - pnlEditControls + + DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + + grpTopPanel + + 8 - 90, 8 + 169, 24 OK @@ -1740,39 +1130,834 @@ DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - pnlEditControls + grpTopPanel 9 - - Vertical + + Top - - 4, 11 + + 0, 31 - - 80, 13 + + 1474, 78 - + 0 - - Set Pr#: + + groupControl1 - - Program number for insert and set operations + + grpTopPanel - - labelControl11 + + DevExpress.XtraEditors.GroupControl, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + $this - + + 1 + + + CenterScreen + + + ChanSort {0} - Channel List Editor for LG and Samsung 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.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colIndex1 + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colOutSlot + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colOutName + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colOutFav + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + repositoryItemCheckedComboBoxEdit1 + + + DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colUid1 + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colOutLock + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + sharedImageCollection1 + + + DevExpress.Utils.SharedImageCollection, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + gviewRight + + + DevExpress.XtraGrid.Views.Grid.GridView, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colIndex + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colSlotOld + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colSlotNew + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colName + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colShortName + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colFavorites + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + repositoryItemCheckedComboBoxEdit2 + + + DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colLock + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colSkip + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colHidden + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colEncrypted + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colChannelOrTransponder + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colFreqInMhz + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colServiceId + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colVideoPid + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colAudioPid + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colServiceType + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colServiceTypeName + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colSatellite + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colNetworkId + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colTransportStreamId + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colSymbolRate + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colPolarity + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colUid + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colNetworkName + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colNetworkOperator + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colDebug + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + colLogicalIndex + + + DevExpress.XtraGrid.Columns.GridColumn, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + barManager1 + + + DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + bar1 + + + DevExpress.XtraBars.Bar, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miFile + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miOpen + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miReload + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miRestoreOriginal + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miFileInformation + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miSave + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miSaveAs + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miOpenReferenceFile + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miQuit + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miEdit + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miAddChannel + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miRemove + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miSort + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miRenum + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + mnuFavSet + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miFavSet + + + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + mnuFavUnset + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miFavUnset + + + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miLockOn + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miLockOff + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miSkipOn + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miSkipOff + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miHideOn + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miHideOff + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + barSubItem2 + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miTvSettings + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miEraseChannelData + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + mnuOptions + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + barSubItem1 + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miEnglish + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miGerman + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + mnuCharset + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miCharsetForm + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miIsoCharSets + + + DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + mnuHelp + + + DevExpress.XtraBars.BarSubItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miWiki + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miOpenWebsite + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miAbout + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miMoveUp + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + miMoveDown + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + defaultLookAndFeel1 + + + DevExpress.LookAndFeel.DefaultLookAndFeel, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + splashScreenManager1 + + + DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + mnuContext + + + DevExpress.XtraBars.PopupMenu, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + MainForm + + + DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + 04/06/2013 01:32:12 + + + 16, 16 + + + 257, 5 + + + 23, 23 + + + 15 + + + btnToggleLock + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + pnlEditControls - + + 0 + + + 232, 5 + + + 23, 23 + + + 14 + + + ±E + + + btnToggleFavE + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + + 1 + + + 207, 5 + + + 23, 23 + + + 13 + + + ±D + + + btnToggleFavD + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + + 2 + + + 182, 5 + + + 23, 23 + + + 12 + + + ±C + + + btnToggleFavC + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + + 3 + + + 157, 5 + + + 23, 23 + + + 11 + + + ±B + + + btnToggleFavB + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + + 4 + + + 132, 5 + + + 23, 23 + + + 10 + + + ±A + + + btnToggleFavA + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + + 5 + + + Tahoma, 8.25pt, style=Strikeout + + + 304, 5 + + + 23, 23 + + + 9 + + + Reset filter + + + btnClearLeftFilter + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.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.6.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.6.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.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + + 9 + + + 63, 5 + + + 23, 23 + + + 2 + + + >> + + + Remove selected channels + + + btnRemove + + + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + + pnlEditControls + + 10 @@ -1782,7 +1967,7 @@ 2, 21 - 332, 64 + 339, 33 0 @@ -1806,7 +1991,7 @@ 0, 0 - 336, 540 + 343, 490 0 @@ -1829,11 +2014,11 @@ Panel1 - + Fill - - 2, 85 + + 2, 54 Pr. index @@ -2132,29 +2317,29 @@ Order - - 1130, 436 + + 1122, 417 - + 1 - - gridInput + + gridRight - + DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + grpInputList - + 0 Bottom - 2, 521 + 2, 471 2, 2, 2, 2 @@ -2180,41 +2365,41 @@ 1 - - 5, 5 + + 44, 5 - - 263, 23 + + 121, 23 - + 5 - - << Add all (copy current channel setup) + + << Add all - - Filter for current channel in left list + + Append all currently unsorted channels at the end of the list - - btnCloneChannelList + + btnAddAll - + DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - + panelControl3 - + 0 Tahoma, 8.25pt, style=Strikeout - 65, 34 + 171, 5 - 54, 23 + 66, 23 2 @@ -2237,35 +2422,8 @@ 1 - - 5, 34 - - - 54, 23 - - - 1 - - - < Filter - - - Filter for current channel in left list - - - btnSyncFromRight - - - DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a - - - panelControl3 - - - 2 - - 136, 36 + 5, 5 23, 23 @@ -2289,7 +2447,7 @@ panelControl3 - 3 + 2 Top @@ -2298,7 +2456,7 @@ 2, 21 - 1130, 64 + 1122, 33 0 @@ -2322,7 +2480,7 @@ 0, 0 - 1134, 540 + 1126, 490 0 @@ -2346,7 +2504,7 @@ Panel2 - 1474, 540 + 1474, 490 5 diff --git a/ChanSort/Properties/AssemblyInfo.cs b/ChanSort/Properties/AssemblyInfo.cs index d723c41..48e693f 100644 --- a/ChanSort/Properties/AssemblyInfo.cs +++ b/ChanSort/Properties/AssemblyInfo.cs @@ -6,8 +6,8 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("ChanSortUI")] -[assembly: AssemblyDescription("TV Channel Sort Utility")] +[assembly: AssemblyTitle("ChanSort")] +[assembly: AssemblyDescription("ChanSort TV Channel Sort Utility")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("ChanSort")] diff --git a/ChanSort/Properties/Resources.Designer.cs b/ChanSort/Properties/Resources.Designer.cs index 97bccaa..cee968d 100644 --- a/ChanSort/Properties/Resources.Designer.cs +++ b/ChanSort/Properties/Resources.Designer.cs @@ -68,7 +68,7 @@ namespace ChanSort.Ui.Properties { } /// - /// Looks up a localized string similar to Delete all channel data. + /// Looks up a localized string similar to Erase all channel data. /// internal static string MainForm_btnResetChannelData_Click_Caption { get { diff --git a/ChanSort/Properties/Resources.resx b/ChanSort/Properties/Resources.resx index 0d7abfc..1c4df20 100644 --- a/ChanSort/Properties/Resources.resx +++ b/ChanSort/Properties/Resources.resx @@ -189,7 +189,7 @@ You will have to run a full channel scan after loading this file into your TV. Proceed? - Delete all channel data + Erase all channel data Unable to copy .bak file to {0} @@ -207,7 +207,7 @@ Do you want to continue? ChanSort Reference List|*.csv|SamToolBox Reference List|*.chl|All Reference Lists|*.csv;*.chl - + ..\Resources\btn_donateCC_LG.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/ChanSort/Properties/licenses.licx b/ChanSort/Properties/licenses.licx index e9727a2..7d6b108 100644 --- a/ChanSort/Properties/licenses.licx +++ b/ChanSort/Properties/licenses.licx @@ -1,7 +1,8 @@ -DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraTab.XtraTabControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraSplashScreen.SplashScreenManager, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v12.2, Version=12.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/ChanSort/app.config b/ChanSort/app.config index 24048ff..eb4cf3d 100644 --- a/ChanSort/app.config +++ b/ChanSort/app.config @@ -11,12 +11,6 @@ - - 0 - - - 0 - diff --git a/readme.txt b/readme.txt index 5f866b9..04a5005 100644 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,16 @@ -Version v2013-04-04 ======================================================== +Version v2013-04-05 ======================================================== -This is a bugfix release for major version v2013-04-03 +New: +- Redesigned user interface +- Editing option to close or keep gaps when moving/deleting channels +- Support for LG LMxxxT models, which export an invalid DVB-S data block +- Opening a file automatically shows the first non-empty channel list +- Reloading a TV-file will show the last opened list -Bug fixes: -- Deleting channels for Samsung TVs now stores the files correctly (no longer - showing them all on Pr #0 on your TV) +Fixed: +- Deleting rows caused incorrect selections in the left list. Successive + deletes resulted in the loss of the first channel. +- Duplicate Pr# was assigned to channels when they were added out of order The complete change log can be found at the end of this document @@ -88,11 +94,20 @@ OTHER DEALINGS IN THE SOFTWARE. Change log ==================================================================== +2013-04-05 +- Redesigned user interface +- Editing option to close or keep gaps when moving/deleting channels +- Support for LG LMxxxT models, which export an invalid DVB-S data block +- Opening a file automatically shows the first non-empty channel list +- Reloading a TV-file will show the last opened list +- FIX: Deleting rows caused incorrect selections in the left list. Successive + deletes resulted in the loss of the first channel. +- FIX: Duplicate Pr# was assigned to channels when they were added out of order + 2013-04-04 - Deleting channels for Samsung TVs now stores the files correctly (no longer showing them all on Pr #0 on your TV) - 2013-04-03 (major release) - complete re-write of the code for loading/saving TV-data files (SCM, TLL) and reference lists (CSV).