mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-02-27 08:40:42 +01:00
- TV data files can be used as reference lists (without exporting .csv)
- added "File / Export Excel list" function - added hotkeys to many menu items - added most recently used files to menu - added support to enable Hotel Mode for LH3000 and LN models - fixed: saved incorrect DVB-S transponder symbol rate for LG's LK950S, LV, LW and LN models - re-added "TV-Set / Clean channel data" function for LG TV's.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace ChanSort.Api
|
||||
{
|
||||
@@ -175,6 +176,49 @@ namespace ChanSort.Api
|
||||
#endregion
|
||||
|
||||
|
||||
#region ApplyReferenceList()
|
||||
public void ApplyReferenceList(DataRoot refDataRoot)
|
||||
{
|
||||
|
||||
foreach (var channelList in this.DataRoot.ChannelLists)
|
||||
{
|
||||
foreach (var channel in channelList.Channels)
|
||||
channel.NewProgramNr = -1;
|
||||
}
|
||||
|
||||
StringBuilder log = new StringBuilder();
|
||||
foreach (var refList in refDataRoot.ChannelLists)
|
||||
{
|
||||
var tvList = this.DataRoot.GetChannelList(refList.SignalSource);
|
||||
if (tvList == null)
|
||||
{
|
||||
log.AppendFormat("Skipped reference list {0}\r\n", refList.ShortCaption);
|
||||
continue;
|
||||
}
|
||||
foreach (var refChannel in refList.Channels)
|
||||
{
|
||||
var tvChannels = tvList.GetChannelByUid(refChannel.Uid);
|
||||
ChannelInfo tvChannel = tvChannels.FirstOrDefault(c => c.NewProgramNr == -1);
|
||||
if (tvChannel != null)
|
||||
{
|
||||
tvChannel.NewProgramNr = refChannel.OldProgramNr;
|
||||
tvChannel.Favorites = refChannel.Favorites;
|
||||
tvChannel.Skip = refChannel.Skip;
|
||||
tvChannel.Lock = refChannel.Lock;
|
||||
tvChannel.Hidden = refChannel.Hidden;
|
||||
tvChannel.IsDeleted = refChannel.IsDeleted;
|
||||
}
|
||||
else
|
||||
{
|
||||
tvChannel = new ChannelInfo(refChannel.SignalSource, refChannel.Uid, refChannel.OldProgramNr, refChannel.Name);
|
||||
tvList.AddChannel(tvChannel);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region AutoNumberingForUnassignedChannels()
|
||||
|
||||
public void AutoNumberingForUnassignedChannels(UnsortedChannelMode mode)
|
||||
|
||||
@@ -6,7 +6,6 @@ namespace ChanSort.Api
|
||||
{
|
||||
public class SupportedFeatures
|
||||
{
|
||||
public bool EraseChannelData { get; set; }
|
||||
public bool ChannelNameEdit { get; set; }
|
||||
public bool FileInformation { get; set; }
|
||||
public bool CleanUpChannelData { get; set; }
|
||||
@@ -19,7 +18,6 @@ namespace ChanSort.Api
|
||||
public string FileName { get; set; }
|
||||
public DataRoot DataRoot { get; protected set; }
|
||||
public SupportedFeatures Features { get; private set; }
|
||||
public bool EraseDuplicateChannels { get; set; }
|
||||
|
||||
protected SerializerBase(string inputFile)
|
||||
{
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
offAudioPid2 = 154
|
||||
|
||||
[DvbsBlock:687880]
|
||||
; everything before LM series + LM611S and LM340S
|
||||
; everything before LM series + LM340S, LM611S, LS560S
|
||||
satCount = 64
|
||||
satLength = 44
|
||||
transponderCount = 2400
|
||||
@@ -283,7 +283,7 @@
|
||||
|
||||
|
||||
[DvbsBlock:717960]
|
||||
; LM and PM series except LM611S and LM340S
|
||||
; LM, LS and PM series except LM611S, LM340S LS560S
|
||||
satCount = 64
|
||||
satLength = 44
|
||||
transponderCount = 2400
|
||||
@@ -304,6 +304,7 @@
|
||||
lnbCount = 40
|
||||
lnbLength = 52
|
||||
|
||||
|
||||
[TransponderDataMapping:40]
|
||||
; everything up to LM
|
||||
offFirstChannelIndex = 0
|
||||
@@ -315,7 +316,6 @@
|
||||
offTransportStreamId = 20
|
||||
offSymbolRate = 25
|
||||
offSatIndex = 36
|
||||
symbolRateFactor = 1
|
||||
|
||||
[TransponderDataMapping:44]
|
||||
; LN
|
||||
@@ -328,7 +328,6 @@
|
||||
offTransportStreamId = 24
|
||||
offSymbolRate = 29
|
||||
offSatIndex = 40
|
||||
symbolRateFactor = 0.5
|
||||
|
||||
[TransponderDataMapping:56]
|
||||
; LA
|
||||
@@ -341,7 +340,6 @@
|
||||
offTransportStreamId = 24
|
||||
offSymbolRate = 29
|
||||
offSatIndex = 40
|
||||
symbolRateFactor = 0.5
|
||||
|
||||
[SatChannelDataMapping:68]
|
||||
; everything before LM + LM340S and LM611S
|
||||
@@ -455,6 +453,12 @@
|
||||
offVideoPid = 72
|
||||
offAudioPid = 74
|
||||
|
||||
[FirmwareData:6936]
|
||||
; LH3000
|
||||
offSize = 0
|
||||
offHotelModeEnabled=6539
|
||||
offHotelModeDtvUpdate=6549
|
||||
|
||||
[FirmwareData:6944]
|
||||
; LH series
|
||||
offSize = 0
|
||||
@@ -485,6 +489,12 @@
|
||||
offHotelModeEnabled=12639
|
||||
offHotelModeDtvUpdate=12649
|
||||
|
||||
[FirmwareData:17136]
|
||||
; LN
|
||||
offSize = 0
|
||||
offHotelModeEnabled=13627
|
||||
offHotelModeDtvUpdate=13629
|
||||
|
||||
[FirmwareData:23072]
|
||||
; LD420, LD450, LD550
|
||||
offSize = 0
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace ChanSort.Loader.LG
|
||||
this.FrequencyInMhz = mapping.GetWord(_Frequency);
|
||||
this.OriginalNetworkId = mapping.GetWord(_OriginalNetworkId);
|
||||
this.TransportStreamId = mapping.GetWord(_TransportStreamId);
|
||||
this.symbolRate = mapping.GetWord(_SymbolRate) & 0x7FFF;
|
||||
this.symbolRate = mapping.GetWord(_SymbolRate);
|
||||
|
||||
#if SYMBOL_RATE_ROUNDING
|
||||
if (this.symbolRate%100 >= 95)
|
||||
@@ -44,11 +44,8 @@ namespace ChanSort.Loader.LG
|
||||
mapping.SetWord(_SymbolRate, (mapping.GetWord(_SymbolRate) & 0x8000) + this.symbolRate);
|
||||
}
|
||||
#endif
|
||||
// note: a correction factor is applied later after all transponders were loaded (*0.5, *1, *2)
|
||||
|
||||
string strFactor = mapping.Settings.GetString("symbolRateFactor");
|
||||
decimal factor;
|
||||
if (!string.IsNullOrEmpty(strFactor) && decimal.TryParse(strFactor, NumberStyles.AllowDecimalPoint, NumberFormatInfo.InvariantInfo, out factor))
|
||||
this.symbolRate = (int)(this.symbolRate * factor);
|
||||
this.Satellite = dataRoot.Satellites.TryGet(mapping.GetByte(_SatIndex)/2);
|
||||
}
|
||||
|
||||
@@ -88,8 +85,10 @@ namespace ChanSort.Loader.LG
|
||||
get { return symbolRate; }
|
||||
set
|
||||
{
|
||||
#if false
|
||||
mapping.SetDataPtr(this.data, this.offset);
|
||||
mapping.SetWord(_SymbolRate, value);
|
||||
#endif
|
||||
this.symbolRate = value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
//#define STORE_DVBS_CHANNELS_IN_DATABASE
|
||||
//#define TESTING_LM640T_HACK
|
||||
|
||||
//#define LM640T_EXPERIMENT
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
@@ -64,12 +63,12 @@ namespace ChanSort.Loader.LG
|
||||
private int presetChannels;
|
||||
|
||||
private bool removeDeletedActChannels = false;
|
||||
private decimal dvbsSymbolRateFactor;
|
||||
|
||||
#region ctor()
|
||||
public TllFileSerializer(string inputFile) : base(inputFile)
|
||||
{
|
||||
this.Features.ChannelNameEdit = true;
|
||||
this.Features.EraseChannelData = true;
|
||||
this.Features.FileInformation = true;
|
||||
this.Features.DeviceSettings = true;
|
||||
this.Features.CleanUpChannelData = true;
|
||||
@@ -136,8 +135,10 @@ namespace ChanSort.Loader.LG
|
||||
this.ReadFirmwareDataBlock(ref off);
|
||||
this.ReadDvbCtChannels(ref off);
|
||||
this.ReadDvbSBlock(ref off);
|
||||
this.ReadSettingsBlock(ref off);
|
||||
this.CleanUpChannelData();
|
||||
this.ReadSettingsBlock(ref off);
|
||||
|
||||
if (this.presetChannels > 0 && !IsTesting)
|
||||
new PresetProgramNrDialog().ShowDialog();
|
||||
|
||||
#if STORE_DVBS_CHANNELS_IN_DATABASE
|
||||
this.StoreToDatabase();
|
||||
@@ -295,17 +296,18 @@ namespace ChanSort.Loader.LG
|
||||
long blockId = BitConverter.ToInt64(fileContent, off + 8);
|
||||
if (blockId == DVBS_S2)
|
||||
return true;
|
||||
|
||||
#if LM640T_EXPERIMENT
|
||||
if (blockId == -1)
|
||||
{
|
||||
this.satConfig = satConfigs.TryGet(blockSize);
|
||||
if (this.satConfig != null)
|
||||
{
|
||||
this.EraseDvbsBlock(off);
|
||||
this.UpdateDvbsChecksums();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
#endregion
|
||||
@@ -378,6 +380,8 @@ namespace ChanSort.Loader.LG
|
||||
#region ReadTransponderData()
|
||||
private void ReadTransponderData(ref int off)
|
||||
{
|
||||
dvbsSymbolRateFactor = 1;
|
||||
var dvbsSymbolRateMask = 0x7FFFF;
|
||||
var mapping = this.dvbsTransponderMappings.GetMapping(this.satConfig.transponderLength);
|
||||
for (int i=0; i<satConfig.transponderCount; i++)
|
||||
{
|
||||
@@ -385,17 +389,26 @@ namespace ChanSort.Loader.LG
|
||||
SatTransponder transponder = new SatTransponder(i, mapping, this.DataRoot);
|
||||
if (transponder.Satellite == null)
|
||||
continue;
|
||||
if (transponder.SymbolRate == 11000)
|
||||
this.isDvbsSymbolRateDiv2 = true;
|
||||
|
||||
if ((transponder.SymbolRate & 0x7FFF) == 11000)
|
||||
dvbsSymbolRateFactor = 2;
|
||||
else if (transponder.SymbolRate == 44000)
|
||||
{
|
||||
dvbsSymbolRateMask = 0xFFFF;
|
||||
dvbsSymbolRateFactor = 0.5m;
|
||||
}
|
||||
|
||||
var sat = transponder.Satellite;
|
||||
this.DataRoot.AddTransponder(sat, transponder);
|
||||
}
|
||||
|
||||
if (this.isDvbsSymbolRateDiv2)
|
||||
if (dvbsSymbolRateFactor != 1)
|
||||
{
|
||||
foreach (var transponder in this.DataRoot.Transponder.Values)
|
||||
transponder.SymbolRate *= 2;
|
||||
{
|
||||
int symbolRate = transponder.SymbolRate & dvbsSymbolRateMask;
|
||||
transponder.SymbolRate = (int) (symbolRate*dvbsSymbolRateFactor);
|
||||
}
|
||||
}
|
||||
|
||||
off += this.satConfig.transponderCount * this.satConfig.transponderLength;
|
||||
@@ -477,7 +490,7 @@ namespace ChanSort.Loader.LG
|
||||
// Test code for fixing broken DVB-S block of xxLM640T ==========
|
||||
|
||||
#region EraseDvbsBlock()
|
||||
|
||||
#if LM640T_EXPERIMENT
|
||||
/// <summary>
|
||||
/// 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.
|
||||
@@ -500,16 +513,10 @@ namespace ChanSort.Loader.LG
|
||||
// header
|
||||
this.dvbsSubblockCrcOffset[0] = (int)stream.Position;
|
||||
stream.Seek(4, SeekOrigin.Current); // skip CRC32
|
||||
#if TESTING_LM640T_HACK
|
||||
stream.Write(Encoding.ASCII.GetBytes("DVBS-S2\0"), 0, 8);
|
||||
//stream.Write(new byte[] { 255, 255, 255, 255, 255, 255, 255, 255 }, 0, 8);
|
||||
wrt.Write((ushort)0);
|
||||
wrt.Write((ushort)0);
|
||||
#else
|
||||
stream.Write(Encoding.ASCII.GetBytes("DVBS-S2\0"), 0, 8);
|
||||
wrt.Write((ushort) 7);
|
||||
wrt.Write((ushort) 4);
|
||||
#endif
|
||||
|
||||
// satellite
|
||||
this.dvbsSubblockCrcOffset[1] = (int)stream.Position;
|
||||
stream.Seek(4, SeekOrigin.Current); // skip CRC32
|
||||
@@ -545,7 +552,7 @@ namespace ChanSort.Loader.LG
|
||||
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);
|
||||
stream.Seek(4 + (satConfig.dvbsMaxChannelCount - 1)*8 + satConfig.linkedListExtraDataLength, SeekOrigin.Current);
|
||||
for (int i = 0; i < satConfig.dvbsMaxChannelCount*satConfig.dvbsChannelLength; i++)
|
||||
wrt.Write((byte) 0xFF);
|
||||
|
||||
@@ -556,7 +563,10 @@ namespace ChanSort.Loader.LG
|
||||
wrt.Write((byte) 1);
|
||||
stream.Seek(satConfig.lnbCount/8 - 1, SeekOrigin.Current);
|
||||
}
|
||||
|
||||
this.UpdateDvbsChecksums();
|
||||
}
|
||||
#endif
|
||||
#endregion
|
||||
|
||||
// Sat channel list cleanup ==================
|
||||
@@ -567,21 +577,14 @@ namespace ChanSort.Loader.LG
|
||||
if (this.satConfig == null)
|
||||
return "";
|
||||
|
||||
if (!this.EraseDuplicateChannels || this.satConfig.dvbsChannelLength >= 92 /* LA series */)
|
||||
{
|
||||
if (this.presetChannels > 0 && !IsTesting)
|
||||
{
|
||||
new PresetProgramNrDialog().ShowDialog();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
this.DataRoot.NeedsSaving = true;
|
||||
this.ResetChannelInformationInTransponderData();
|
||||
|
||||
byte[] sortedChannels = new byte[this.satConfig.dvbsMaxChannelCount*this.satConfig.dvbsChannelLength];
|
||||
|
||||
var channelsByTransponder =
|
||||
this.satTvChannels.Channels.Union(this.satRadioChannels.Channels).OrderBy(PhysicalChannelOrder).ToList();
|
||||
int originalChannelCount = this.dvbsChannelCount;
|
||||
int prevChannelOrderId = -1;
|
||||
int prevTransponderIndex = -1;
|
||||
int channelCounter = 0;
|
||||
@@ -602,15 +605,19 @@ namespace ChanSort.Loader.LG
|
||||
}
|
||||
|
||||
// copy temp data back to fileContent and clear remainder
|
||||
Tools.MemCopy(sortedChannels, 0,
|
||||
this.fileContent, this.dvbsBlockOffset + satConfig.ChannelListOffset,
|
||||
channelCounter*satConfig.dvbsChannelLength);
|
||||
Tools.MemSet(this.fileContent,
|
||||
this.dvbsBlockOffset + satConfig.ChannelListOffset + channelCounter*satConfig.dvbsChannelLength, 0xFF,
|
||||
(satConfig.dvbsMaxChannelCount - channelCounter)*satConfig.dvbsChannelLength);
|
||||
|
||||
if (originalChannelCount != 0) // even if there's 0 channels, channel[0] must contain valid data
|
||||
{
|
||||
Tools.MemCopy(sortedChannels, 0,
|
||||
this.fileContent, this.dvbsBlockOffset + satConfig.ChannelListOffset,
|
||||
channelCounter*satConfig.dvbsChannelLength);
|
||||
Tools.MemSet(this.fileContent,
|
||||
this.dvbsBlockOffset + satConfig.ChannelListOffset + channelCounter*satConfig.dvbsChannelLength,
|
||||
0xFF,
|
||||
(satConfig.dvbsMaxChannelCount - channelCounter)*satConfig.dvbsChannelLength);
|
||||
}
|
||||
UpdateChannelAllocationBitmap(channelCounter);
|
||||
UpdateChannelLinkedList(channelCounter);
|
||||
UpdateChannelLinkedList(channelCounter);
|
||||
UpdateDvbsChecksums();
|
||||
|
||||
return string.Format("{0} duplicate channels were detected and removed", removedCounter);
|
||||
}
|
||||
@@ -993,7 +1000,7 @@ namespace ChanSort.Loader.LG
|
||||
internal int ACTChannelLength { get { return this.actChannelSize; } }
|
||||
internal bool HasDvbs { get { return dvbsBlockOffset != 0; } }
|
||||
internal int SatChannelLength { get { return satConfig != null ? satConfig.dvbsChannelLength : 0; } }
|
||||
internal bool SatSymbolRateDiv2 { get { return this.isDvbsSymbolRateDiv2; } }
|
||||
internal decimal DvbsSymbolRateCorrectionFactor { get { return this.dvbsSymbolRateFactor; } }
|
||||
internal int FirmwareBlockSize { get { return this.firmwareBlockSize; } }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,40 @@ namespace ChanSort.Ui
|
||||
//
|
||||
//
|
||||
this.sharedImageCollection1.ImageSource.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("sharedImageCollection1.ImageSource.ImageStream")));
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(0, "0000.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(1, "0001.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(2, "0002.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(3, "0003.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(4, "0004.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(5, "0005.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(6, "0006.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(7, "0007.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(8, "0008.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(9, "0009.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(10, "0010.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(11, "0011.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(12, "0012.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(13, "0013.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(14, "0014.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(15, "0015.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(16, "0016.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(17, "0017.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(18, "0018.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(19, "0019.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(20, "0020.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(21, "0021.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(22, "0022.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(23, "0023.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(24, "0024.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(25, "0025.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(26, "0026.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(27, "0027.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(28, "0028.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(29, "0029.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(30, "0030.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(31, "0031.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(32, "0032.png");
|
||||
this.sharedImageCollection1.ImageSource.Images.SetKeyName(33, "0033.png");
|
||||
this.sharedImageCollection1.ParentControl = null;
|
||||
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1)).EndInit();
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
|
||||
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
|
||||
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABAAAAAQAAAACQUAAAAP
|
||||
BQAAAIdfAAACDgMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8
|
||||
BQAAAEJlAAACDgMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAACukAAArpAf11ztMAAAAqdEVYdENyZWF0aW9uIFRpbWUATWkgMSBNcnogMjAwNiAx
|
||||
NToxMDo1MSArMDEwMP/NqUUAAAAHdElNRQfWAwEODCaDia/cAAACZ0lEQVQ4T82S7UsTUBSH75eCCAx6
|
||||
oTAqg7BMRKjoQ6S9Oa1I10gzU8PUZmYpKEamy8gCX8iS2YxqiRmREMrUltEoLdSMps458wXUEiW0UToN
|
||||
@@ -175,373 +175,398 @@
|
||||
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
|
||||
W6K0xGkJZ8n2Ja1LhpbMyy2Vc5TjyBXJtcndlnsnT5d3k0+W3yXfKf9QAaWgpxCokKWwX+GiwsxS6lLb
|
||||
paylRUuPL72nCCvqKQYprlU8qNivOKekrOShlK5UpXRBaUaZpuyonKRcrnxGeVqFomKvwlUpVzmr8pQu
|
||||
S3eip9Ar6b30WVVFVU9VoWq96oDqgpq2Wqhavlqb2kN1gjpDPV69XL1HfVZDRcNPI0+jReOeJl6ToZmo
|
||||
uVezT3NeS1srXGurVqfWlLactpd2rnaL9gMdso6DzhqdBp1buhhdhm6y7j7dG3qwnoVeol6N3nV9WN9S
|
||||
n6u/T3/QAG1gbcAzaDAYMSQZOhlmGrYYjhnRjHyN8o06jZ4baxhHGe8y7jP+aGJhkmLSaHLfVMbU2zTf
|
||||
tNv0dzM9M5ZZjdktc7K5u/kG8y7zF8v0l3GW7V92x4Ji4Wex1aLH4oOllSXfstVy2krDKtaq1mqEQWUE
|
||||
MEoYl63R1s7WG6xPWb+1sbQR2By3+c3W0DbZ9ojt1HLt5ZzljcvH7dTsmHb1dqP2dPtY+wP2ow6qDkyH
|
||||
BofHjuqObMcmx0knXackp6NOz51NnPnO7c7zLjYu61zOuSKuHq5FrgNuMm6hbtVuj9zV3BPcW9xnPSw8
|
||||
1nqc80R7+nju8hzxUvJieTV7zXpbea/z7vUh+QT7VPs89tXz5ft2+8F+3n67/R6s0FzBW9HpD/y9/Hf7
|
||||
PwzQDlgT8GMgJjAgsCbwSZBpUF5QXzAlOCb4SPDrEOeQ0pD7oTqhwtCeMMmw6LDmsPlw1/Cy8NEI44h1
|
||||
EdciFSK5kV1R2KiwqKaouZVuK/esnIi2iC6MHl6lvSp71ZXVCqtTVp+OkYxhxpyIRceGxx6Jfc/0ZzYw
|
||||
5+K84mrjZlkurL2sZ2xHdjl7mmPHKeNMxtvFl8VPJdgl7E6YTnRIrEic4bpwq7kvkjyT6pLmk/2TDyV/
|
||||
SglPaUvFpcamnuTJ8JJ5vWnKadlpg+n66YXpo2ts1uxZM8v34TdlQBmrMroEVNHPVL9QR7hFOJZpn1mT
|
||||
+SYrLOtEtnQ2L7s/Ry9ne85krnvut2tRa1lre/JU8zblja1zWle/Hloft75ng/qGgg0TGz02Ht5E2JS8
|
||||
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
|
||||
ggEGAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAABc1JHQgCuzhzpAAAABGdBTUEA
|
||||
ALGPC/xhBQAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAMiaVRYdFhNTDpjb20u
|
||||
YWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6
|
||||
a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBY
|
||||
TVAgQ29yZSA1LjAtYzA2MSA2NC4xNDA5NDksIDIwMTAvMTIvMDctMTA6NTc6MDEgICAgICAgICI+IDxy
|
||||
ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5z
|
||||
IyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2Jl
|
||||
LmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8i
|
||||
IHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYj
|
||||
IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBXaW5kb3dzIiB4bXBNTTpJbnN0
|
||||
YW5jZUlEPSJ4bXAuaWlkOjY0NUE1REMxNTU2NTExRTE5RDM5RkJDNzU2REE4OUIwIiB4bXBNTTpEb2N1
|
||||
bWVudElEPSJ4bXAuZGlkOjY0NUE1REMyNTU2NTExRTE5RDM5RkJDNzU2REE4OUIwIj4gPHhtcE1NOkRl
|
||||
cml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjQ1QTVEQkY1NTY1MTFFMTlEMzlGQkM3
|
||||
NTZEQTg5QjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjQ1QTVEQzA1NTY1MTFFMTlEMzlGQkM3
|
||||
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
|
||||
KMPq9SIsNp2Go+MpXEM9Auy8dFMt7Jw3SmE5nKgRNX/6D0jT7efzfc7LBbA3X4XHuQKfzxfg58Y6Vh/W
|
||||
g+2dl2inKs+nS+HSRZ0Q85HE9oWqDPC1Kqw5luD1erf54cKKpgYLFWmYu1YkdFjXpIxvF3X6+Udjeb40
|
||||
BvyLNrjd7gBrjkV8v1MOvjQW1holHDNWocOXxMCiiuFFnZDxHJnPmheJ+V4tHA6HwPLXeczVlcGqjMSE
|
||||
Ohf85IQwZ50vtMscUSdEnyXbnMyNxHSPFna7Hd+mrbDWloDNRktyYBsbEeaMGdphc+aIOiG6g5zNmC3D
|
||||
1LM2TNObpi6eBHv+VJwNy6AONpstAOsYc2RgjqgT8iFV+mQ0SwbjWRXM1cUYzZSh/0QmDN1amM3mABMm
|
||||
E8bLC8G6zBF1Ql4lSBJ0GZx3hIoGSu/xDPS/e4vh4WEBvV4PA8V4v1HY09u9zBF1f14nSa4MpHFbQwoO
|
||||
I5XFMHY8x/jggB96HrtwCmynU3Bbb2hX1P7KnsfR4ZquZOmmTk6LScFIwWZdcunmo+jwZtrd61e2s4si
|
||||
oRxShIbcexAVNvYyPmLjfaLkN6MjLsLTEhVmSg0NYXIBhROdHWG/bRglmqLYTV9IyWNnyj5KOCXo1ybk
|
||||
D9uSslHkXI87AAAAAElFTkSuQmCCAQYAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAA
|
||||
AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5
|
||||
ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0i
|
||||
VzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0
|
||||
YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0x
|
||||
MDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
|
||||
LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6
|
||||
eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFk
|
||||
b2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
|
||||
MC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4x
|
||||
IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjQ1QTVEQzE1NTY1MTFFMTlEMzlGQkM3
|
||||
NTZEQTg5QjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjQ1QTVEQzI1NTY1MTFFMTlEMzlGQkM3
|
||||
NTZEQTg5QjAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NDVB
|
||||
NURCRjU1NjUxMUUxOUQzOUZCQzc1NkRBODlCMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2NDVB
|
||||
NURDMDU1NjUxMUUxOUQzOUZCQzc1NkRBODlCMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRG
|
||||
PiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqSWWTYAAAJYSURBVDhPbVJLaxNhFP2gexdC
|
||||
acxrEpIWUbJI2qSPpKn4iNZYGsGkWqFPRaGFaA1qYjOmaqFkEVQIFXWnG+vOhVatxsdGdKOif8K1aNNq
|
||||
j/dMJ7EWLxzunMc9k8CozeN2u8uapv10Op1wOBzgJqduRuoDwHyS8Xg8MYaTySTy+TyKxWId5NTpM2ee
|
||||
/C0Q8bjH04zzFy4id0nH6PhpHB0cqYOcOn3maiX1AqvdjTMZHacms0gkR5E4Mo744RPoTZw0dr/wRGrM
|
||||
8JljnndGgdPlLff2D2N5sQGP0gpX9yrMCLCk8HtR9nOFwh6FazGF24MK1acNYJ53RoHF1rL8eL4TeKFw
|
||||
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
|
||||
zYnVrNQp8dPtZ3h4WBC0X4Wj+SaQvVd34H3hLbZ84sG6WDdMLWWSIDwnFOcIJUqtE84JSpwSl6PQOhCT
|
||||
Ec3o6KggZFWdZ8/FXWy/5IVX9ja2nXuVTZ9t4Fq76ZEgL5SVSc+zIkEE4xywi7XFUa2gsLKQ8fFxQfjx
|
||||
7g+8a9yBp7ig185swuPUetySXfBJ20lwpoaNiRtYFq/A/rgdNkefQ65diqfWk86uzkffODU1ZSioLmjZ
|
||||
rPPAzeCCi/5FVic543R8GQ5R9tjF2GITK4Ixcqy11riHuZNXmsfg4KDUicUeCAOWAeHEF5/KXCPXoIxb
|
||||
wXKdIw5x9tjG2vDsUTlLo61ZErqEVapVGC4a6P29VyY+70kXFjMxMSGYvjVZ+ep8eSnEFccgBXKVHIVK
|
||||
gavaFf94/4cl5pLavr6+x0V6SrCYyclJoedej8xca5blFOXYZORmrM3Oz5aZqk1Ca1urYLFYpBs/YRD+
|
||||
BRXUeyy/JnzhAAAAAElFTkSuQmCCtQMAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAA
|
||||
AAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAB3RJTUUH2gsZ
|
||||
CyoP1jGCtQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENv
|
||||
cHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoA
|
||||
AAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D
|
||||
6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAACY0lEQVQ4T42S3UuTYRjGdxz9
|
||||
Ax102GF/QFCB0IF5sNSM+TGdm010U9c2TdpX+ur8iM0sW2XOKfiRoRFzNhLF0gpNWnZgBlFoIHmQGZ0o
|
||||
RfrreTYWphM6uN6X57mv67rv575vFfBfcCg+LjoGyb/UTaauWlwl7vcRU8HtbaOi+QmhyDsKypzcfzAs
|
||||
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
|
||||
AAAASUVORK5CYIIL
|
||||
</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
|
||||
<value>05/05/2013 19:32:18</value>
|
||||
<value>05/11/2013 11:24:15</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
|
||||
|
||||
79
ChanSort/MainForm.Designer.cs
generated
79
ChanSort/MainForm.Designer.cs
generated
@@ -106,7 +106,9 @@
|
||||
this.miSaveAs = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miOpenReferenceFile = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miSaveReferenceFile = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miExcelExport = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miQuit = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miRecentFiles = new DevExpress.XtraBars.BarListItem();
|
||||
this.miEdit = new DevExpress.XtraBars.BarSubItem();
|
||||
this.miAddChannel = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miRemove = new DevExpress.XtraBars.BarButtonItem();
|
||||
@@ -125,7 +127,7 @@
|
||||
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.miCleanupChannels = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.mnuOptions = new DevExpress.XtraBars.BarSubItem();
|
||||
this.barSubItem1 = new DevExpress.XtraBars.BarSubItem();
|
||||
this.miEnglish = new DevExpress.XtraBars.BarButtonItem();
|
||||
@@ -134,7 +136,6 @@
|
||||
this.miCharsetForm = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miIsoCharSets = new DevExpress.XtraBars.BarListItem();
|
||||
this.miShowWarningsAfterLoad = new DevExpress.XtraBars.BarCheckItem();
|
||||
this.miEraseDuplicateChannels = new DevExpress.XtraBars.BarCheckItem();
|
||||
this.mnuHelp = new DevExpress.XtraBars.BarSubItem();
|
||||
this.miWiki = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miOpenWebsite = new DevExpress.XtraBars.BarButtonItem();
|
||||
@@ -145,7 +146,6 @@
|
||||
this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
|
||||
this.miMoveUp = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miMoveDown = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.miCleanupChannels = new DevExpress.XtraBars.BarButtonItem();
|
||||
this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.txtSetSlot = new DevExpress.XtraEditors.ButtonEdit();
|
||||
this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
|
||||
@@ -828,14 +828,14 @@
|
||||
this.miHideOff,
|
||||
this.barSubItem2,
|
||||
this.miTvSettings,
|
||||
this.miEraseChannelData,
|
||||
this.miOpenWebsite,
|
||||
this.miWiki,
|
||||
this.miEraseDuplicateChannels,
|
||||
this.miShowWarningsAfterLoad,
|
||||
this.miCleanupChannels,
|
||||
this.miSaveReferenceFile});
|
||||
this.barManager1.MaxItemId = 58;
|
||||
this.miSaveReferenceFile,
|
||||
this.miRecentFiles,
|
||||
this.miExcelExport});
|
||||
this.barManager1.MaxItemId = 60;
|
||||
//
|
||||
// bar1
|
||||
//
|
||||
@@ -848,7 +848,7 @@
|
||||
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.miSave, true),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miSaveReferenceFile),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miEdit, true),
|
||||
@@ -878,7 +878,9 @@
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miSaveAs),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miOpenReferenceFile, true),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miSaveReferenceFile),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miQuit, true)});
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miExcelExport),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miQuit, true),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miRecentFiles, true)});
|
||||
this.miFile.Name = "miFile";
|
||||
//
|
||||
// miOpen
|
||||
@@ -898,6 +900,7 @@
|
||||
this.miReload.Enabled = false;
|
||||
this.miReload.Id = 7;
|
||||
this.miReload.ImageIndex = 5;
|
||||
this.miReload.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R));
|
||||
this.miReload.Name = "miReload";
|
||||
this.miReload.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miReload_ItemClick);
|
||||
//
|
||||
@@ -907,6 +910,8 @@
|
||||
this.miRestoreOriginal.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3");
|
||||
this.miRestoreOriginal.Id = 42;
|
||||
this.miRestoreOriginal.ImageIndex = 31;
|
||||
this.miRestoreOriginal.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.R));
|
||||
this.miRestoreOriginal.Name = "miRestoreOriginal";
|
||||
this.miRestoreOriginal.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miRestoreOriginal_ItemClick);
|
||||
//
|
||||
@@ -916,6 +921,7 @@
|
||||
this.miFileInformation.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3");
|
||||
this.miFileInformation.Id = 43;
|
||||
this.miFileInformation.ImageIndex = 30;
|
||||
this.miFileInformation.ItemShortcut = new DevExpress.XtraBars.BarShortcut((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I));
|
||||
this.miFileInformation.Name = "miFileInformation";
|
||||
this.miFileInformation.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miFileInformation_ItemClick);
|
||||
//
|
||||
@@ -936,6 +942,7 @@
|
||||
this.miSaveAs.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3");
|
||||
this.miSaveAs.Enabled = false;
|
||||
this.miSaveAs.Id = 8;
|
||||
this.miSaveAs.ImageIndex = 33;
|
||||
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";
|
||||
@@ -947,6 +954,8 @@
|
||||
this.miOpenReferenceFile.CategoryGuid = new System.Guid("e6c9a329-010b-4d79-8d4d-215e5f197ed3");
|
||||
this.miOpenReferenceFile.Id = 44;
|
||||
this.miOpenReferenceFile.ImageIndex = 23;
|
||||
this.miOpenReferenceFile.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.O));
|
||||
this.miOpenReferenceFile.Name = "miOpenReferenceFile";
|
||||
this.miOpenReferenceFile.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miOpenReferenceFile_ItemClick);
|
||||
//
|
||||
@@ -958,6 +967,16 @@
|
||||
this.miSaveReferenceFile.Name = "miSaveReferenceFile";
|
||||
this.miSaveReferenceFile.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miSaveReferenceFile_ItemClick);
|
||||
//
|
||||
// miExcelExport
|
||||
//
|
||||
resources.ApplyResources(this.miExcelExport, "miExcelExport");
|
||||
this.miExcelExport.Id = 59;
|
||||
this.miExcelExport.ImageIndex = 32;
|
||||
this.miExcelExport.ItemShortcut = new DevExpress.XtraBars.BarShortcut(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.C));
|
||||
this.miExcelExport.Name = "miExcelExport";
|
||||
this.miExcelExport.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miExcelExport_ItemClick);
|
||||
//
|
||||
// miQuit
|
||||
//
|
||||
resources.ApplyResources(this.miQuit, "miQuit");
|
||||
@@ -967,6 +986,13 @@
|
||||
this.miQuit.Name = "miQuit";
|
||||
this.miQuit.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miQuit_ItemClick);
|
||||
//
|
||||
// miRecentFiles
|
||||
//
|
||||
resources.ApplyResources(this.miRecentFiles, "miRecentFiles");
|
||||
this.miRecentFiles.Id = 58;
|
||||
this.miRecentFiles.Name = "miRecentFiles";
|
||||
this.miRecentFiles.ListItemClick += new DevExpress.XtraBars.ListItemClickEventHandler(this.miRecentFiles_ListItemClick);
|
||||
//
|
||||
// miEdit
|
||||
//
|
||||
resources.ApplyResources(this.miEdit, "miEdit");
|
||||
@@ -1150,7 +1176,6 @@
|
||||
this.barSubItem2.Id = 47;
|
||||
this.barSubItem2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miTvSettings),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miEraseChannelData),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miCleanupChannels)});
|
||||
this.barSubItem2.Name = "barSubItem2";
|
||||
//
|
||||
@@ -1162,12 +1187,12 @@
|
||||
this.miTvSettings.Name = "miTvSettings";
|
||||
this.miTvSettings.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miTvCountrySetup_ItemClick);
|
||||
//
|
||||
// miEraseChannelData
|
||||
// miCleanupChannels
|
||||
//
|
||||
resources.ApplyResources(this.miEraseChannelData, "miEraseChannelData");
|
||||
this.miEraseChannelData.Id = 49;
|
||||
this.miEraseChannelData.Name = "miEraseChannelData";
|
||||
this.miEraseChannelData.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miEraseChannelData_ItemClick);
|
||||
resources.ApplyResources(this.miCleanupChannels, "miCleanupChannels");
|
||||
this.miCleanupChannels.Id = 56;
|
||||
this.miCleanupChannels.Name = "miCleanupChannels";
|
||||
this.miCleanupChannels.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miCleanupChannels_ItemClick);
|
||||
//
|
||||
// mnuOptions
|
||||
//
|
||||
@@ -1177,8 +1202,7 @@
|
||||
this.mnuOptions.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
|
||||
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.barSubItem1, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.mnuCharset, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miShowWarningsAfterLoad),
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miEraseDuplicateChannels)});
|
||||
new DevExpress.XtraBars.LinkPersistInfo(this.miShowWarningsAfterLoad)});
|
||||
this.mnuOptions.Name = "mnuOptions";
|
||||
//
|
||||
// barSubItem1
|
||||
@@ -1251,13 +1275,6 @@
|
||||
this.miShowWarningsAfterLoad.Id = 54;
|
||||
this.miShowWarningsAfterLoad.Name = "miShowWarningsAfterLoad";
|
||||
//
|
||||
// miEraseDuplicateChannels
|
||||
//
|
||||
resources.ApplyResources(this.miEraseDuplicateChannels, "miEraseDuplicateChannels");
|
||||
this.miEraseDuplicateChannels.Checked = true;
|
||||
this.miEraseDuplicateChannels.Id = 53;
|
||||
this.miEraseDuplicateChannels.Name = "miEraseDuplicateChannels";
|
||||
//
|
||||
// mnuHelp
|
||||
//
|
||||
resources.ApplyResources(this.mnuHelp, "mnuHelp");
|
||||
@@ -1330,13 +1347,6 @@
|
||||
this.miMoveDown.Name = "miMoveDown";
|
||||
this.miMoveDown.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miMoveDown_ItemClick);
|
||||
//
|
||||
// miCleanupChannels
|
||||
//
|
||||
resources.ApplyResources(this.miCleanupChannels, "miCleanupChannels");
|
||||
this.miCleanupChannels.Id = 56;
|
||||
this.miCleanupChannels.Name = "miCleanupChannels";
|
||||
this.miCleanupChannels.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.miCleanupChannels_ItemClick);
|
||||
//
|
||||
// labelControl2
|
||||
//
|
||||
resources.ApplyResources(this.labelControl2, "labelControl2");
|
||||
@@ -1356,6 +1366,7 @@
|
||||
//
|
||||
// labelControl11
|
||||
//
|
||||
this.labelControl11.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
|
||||
resources.ApplyResources(this.labelControl11, "labelControl11");
|
||||
this.labelControl11.Name = "labelControl11";
|
||||
//
|
||||
@@ -1395,8 +1406,6 @@
|
||||
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")));
|
||||
@@ -1628,7 +1637,6 @@
|
||||
private DevExpress.XtraBars.BarButtonItem miMoveDown;
|
||||
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;
|
||||
@@ -1650,10 +1658,11 @@
|
||||
private DevExpress.XtraEditors.SimpleButton btnRemoveRight;
|
||||
private System.Windows.Forms.Timer timerEditDelay;
|
||||
private DevExpress.XtraBars.BarButtonItem miRenameChannel;
|
||||
private DevExpress.XtraBars.BarCheckItem miEraseDuplicateChannels;
|
||||
private DevExpress.XtraBars.BarCheckItem miShowWarningsAfterLoad;
|
||||
private DevExpress.XtraBars.BarButtonItem miCleanupChannels;
|
||||
private DevExpress.XtraBars.BarButtonItem miSaveReferenceFile;
|
||||
private DevExpress.XtraBars.BarListItem miRecentFiles;
|
||||
private DevExpress.XtraBars.BarButtonItem miExcelExport;
|
||||
private DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
//#define ENABLE_TV_FILE_CLEANUP
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
@@ -7,6 +6,7 @@ using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using ChanSort.Api;
|
||||
using ChanSort.Ui.Properties;
|
||||
@@ -24,7 +24,9 @@ namespace ChanSort.Ui
|
||||
{
|
||||
public partial class MainForm : XtraForm
|
||||
{
|
||||
public const string AppVersion = "v2013-05-07";
|
||||
public const string AppVersion = "v2013-05-11";
|
||||
|
||||
private const int MaxMruEntries = 5;
|
||||
|
||||
#region enum EditMode
|
||||
private enum EditMode
|
||||
@@ -50,6 +52,7 @@ namespace ChanSort.Ui
|
||||
private GridView lastFocusedGrid;
|
||||
private EditMode curEditMode = EditMode.InsertAfter;
|
||||
private bool dontOpenEditor;
|
||||
private readonly List<string> mruFiles = new List<string>();
|
||||
|
||||
#region ctor()
|
||||
public MainForm()
|
||||
@@ -126,34 +129,47 @@ namespace ChanSort.Ui
|
||||
#region ShowOpenFileDialog()
|
||||
private void ShowOpenFileDialog()
|
||||
{
|
||||
string supportedExtensions;
|
||||
int numberOfFilters;
|
||||
var filter = GetTvDataFileFilter(out supportedExtensions, out numberOfFilters);
|
||||
|
||||
using (OpenFileDialog dlg = new OpenFileDialog())
|
||||
{
|
||||
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
|
||||
dlg.AddExtension = true;
|
||||
dlg.Filter = filter + string.Format(Resources.MainForm_FileDialog_OpenFileFilter, supportedExtensions);
|
||||
dlg.FilterIndex = numberOfFilters + 1;
|
||||
dlg.CheckFileExists = true;
|
||||
dlg.RestoreDirectory = true;
|
||||
if (dlg.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var plugin = dlg.FilterIndex <= this.plugins.Count ? this.plugins[dlg.FilterIndex - 1] : null;
|
||||
this.LoadFiles(plugin, dlg.FileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetTvDataFileFilter()
|
||||
private string GetTvDataFileFilter(out string supportedExtensions, out int numberOfFilters)
|
||||
{
|
||||
numberOfFilters = 0;
|
||||
StringBuilder filter = new StringBuilder();
|
||||
StringBuilder extension = new StringBuilder();
|
||||
var extension = new StringBuilder();
|
||||
foreach (var plugin in this.plugins)
|
||||
{
|
||||
filter.Append(plugin.PluginName).Append("|").Append(plugin.FileFilter);
|
||||
extension.Append(plugin.FileFilter);
|
||||
filter.Append("|");
|
||||
extension.Append(";");
|
||||
++numberOfFilters;
|
||||
}
|
||||
if (extension.Length > 0)
|
||||
extension.Remove(extension.Length - 1, 1);
|
||||
|
||||
using (OpenFileDialog dlg = new OpenFileDialog())
|
||||
{
|
||||
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
|
||||
dlg.AddExtension = true;
|
||||
dlg.Filter = filter + string.Format(Resources.MainForm_FileDialog_OpenFileFilter, extension);
|
||||
dlg.FilterIndex = this.plugins.Count + 1;
|
||||
dlg.CheckFileExists = true;
|
||||
dlg.RestoreDirectory = true;
|
||||
if (dlg.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
this.SetFileName(dlg.FileName);
|
||||
var plugin = dlg.FilterIndex <= this.plugins.Count ? this.plugins[dlg.FilterIndex - 1] : null;
|
||||
this.LoadFiles(plugin);
|
||||
}
|
||||
}
|
||||
supportedExtensions = extension.ToString();
|
||||
return filter.ToString();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SetFileName()
|
||||
@@ -173,43 +189,25 @@ namespace ChanSort.Ui
|
||||
private void ReLoadFiles(ISerializerPlugin plugin)
|
||||
{
|
||||
int listIndex = this.tabChannelList.SelectedTabPageIndex;
|
||||
this.LoadFiles(plugin);
|
||||
this.LoadFiles(plugin, this.currentTvFile);
|
||||
this.tabChannelList.SelectedTabPageIndex = listIndex;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region LoadFiles()
|
||||
|
||||
private void LoadFiles(ISerializerPlugin plugin)
|
||||
private void LoadFiles(ISerializerPlugin plugin, string tvDataFile)
|
||||
{
|
||||
SerializerBase newSerializer = null;
|
||||
bool dataUpdated = false;
|
||||
try
|
||||
{
|
||||
if (plugin == null)
|
||||
plugin = this.GetPluginForFile(this.currentTvFile);
|
||||
// abort action if there is no currentTvSerializer for the input file
|
||||
newSerializer = plugin == null ? null : plugin.CreateSerializer(this.currentTvFile);
|
||||
if (newSerializer == null)
|
||||
{
|
||||
this.currentTvFile = this.currentTvSerializer == null ? string.Empty : this.currentTvSerializer.FileName;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.PromptSaveAndContinue())
|
||||
if (!this.LoadTvDataFile(plugin, tvDataFile))
|
||||
return;
|
||||
|
||||
dataUpdated = true;
|
||||
this.gviewRight.BeginDataUpdate();
|
||||
this.gviewLeft.BeginDataUpdate();
|
||||
|
||||
this.currentPlugin = plugin;
|
||||
this.currentTvSerializer = newSerializer;
|
||||
this.currentTvSerializer.DefaultEncoding = this.defaultEncoding;
|
||||
this.miEraseChannelData.Enabled = newSerializer.Features.EraseChannelData;
|
||||
if (!this.LoadTvDataFile())
|
||||
return;
|
||||
|
||||
this.editor = new Editor();
|
||||
this.editor.DataRoot = this.dataRoot;
|
||||
|
||||
@@ -233,7 +231,7 @@ namespace ChanSort.Ui
|
||||
{
|
||||
if (!(ex is IOException))
|
||||
throw;
|
||||
string name = newSerializer != null ? newSerializer.DisplayName : plugin != null ? plugin.PluginName : "Loader";
|
||||
string name = plugin != null ? plugin.PluginName : "Loader";
|
||||
XtraMessageBox.Show(this, name + "\n\n" + ex.Message, Resources.MainForm_LoadFiles_IOException,
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
this.currentPlugin = null;
|
||||
@@ -328,19 +326,51 @@ namespace ChanSort.Ui
|
||||
#endregion
|
||||
|
||||
#region LoadTvDataFile()
|
||||
private bool LoadTvDataFile()
|
||||
private bool LoadTvDataFile(ISerializerPlugin plugin, string tvDataFile)
|
||||
{
|
||||
#if ENABLE_TV_FILE_CLEANUP
|
||||
this.currentTvSerializer.EraseDuplicateChannels = this.miEraseDuplicateChannels.Checked;
|
||||
#else
|
||||
this.currentTvSerializer.EraseDuplicateChannels = false;
|
||||
#endif
|
||||
this.currentTvSerializer.Load();
|
||||
if (!File.Exists(tvDataFile))
|
||||
{
|
||||
XtraMessageBox.Show(this, Resources.MainForm_LoadTvDataFile_FileNotFound_Caption,
|
||||
string.Format(Resources.MainForm_LoadTvDataFile_FileNotFound_Message, tvDataFile),
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (plugin == null)
|
||||
plugin = this.GetPluginForFile(tvDataFile);
|
||||
// abort action if there is no currentTvSerializer for the input file
|
||||
var serializer = plugin == null ? null : plugin.CreateSerializer(tvDataFile);
|
||||
if (serializer == null)
|
||||
return false;
|
||||
|
||||
if (!this.PromptSaveAndContinue())
|
||||
return false;
|
||||
|
||||
serializer.DefaultEncoding = this.defaultEncoding;
|
||||
serializer.Load();
|
||||
this.SetFileName(tvDataFile);
|
||||
this.currentPlugin = plugin;
|
||||
this.currentTvSerializer = serializer;
|
||||
this.dataRoot = this.currentTvSerializer.DataRoot;
|
||||
this.AddFileToMruList(this.currentTvFile);
|
||||
this.UpdateMruMenu();
|
||||
|
||||
return true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region AddFileToMruList()
|
||||
private void AddFileToMruList(string file)
|
||||
{
|
||||
if (string.IsNullOrEmpty(file))
|
||||
return;
|
||||
this.mruFiles.Remove(file);
|
||||
if (this.mruFiles.Count >= MaxMruEntries)
|
||||
this.mruFiles.RemoveAt(this.mruFiles.Count-1);
|
||||
this.mruFiles.Insert(0, file);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region PromptSaveAndContinue()
|
||||
private bool PromptSaveAndContinue()
|
||||
{
|
||||
@@ -405,42 +435,70 @@ namespace ChanSort.Ui
|
||||
{
|
||||
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
|
||||
}
|
||||
string supportedExtensions;
|
||||
int numberOfFilters;
|
||||
string filter = this.GetTvDataFileFilter(out supportedExtensions, out numberOfFilters);
|
||||
filter = "ChanSort|*.csv|SamToolBox|*.chl|" + filter;
|
||||
supportedExtensions = "*.csv;*.chl;" + supportedExtensions;
|
||||
dlg.AddExtension = true;
|
||||
dlg.AutoUpgradeEnabled = true;
|
||||
dlg.CheckFileExists = true;
|
||||
dlg.DefaultExt = ".csv";
|
||||
dlg.DereferenceLinks = true;
|
||||
dlg.Filter = Resources.MainForm_ShowOpenReferenceFileDialog_Filter;
|
||||
dlg.FilterIndex = 3;
|
||||
dlg.Filter = filter + string.Format(Resources.MainForm_FileDialog_OpenFileFilter, supportedExtensions);
|
||||
dlg.FilterIndex = numberOfFilters + 3;
|
||||
dlg.RestoreDirectory = true;
|
||||
dlg.SupportMultiDottedExtensions = false;
|
||||
dlg.ValidateNames = true;
|
||||
dlg.Title = this.miOpenReferenceFile.Caption;
|
||||
if (dlg.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
this.gviewRight.BeginDataUpdate();
|
||||
this.gviewLeft.BeginDataUpdate();
|
||||
|
||||
string ext = (Path.GetExtension(dlg.FileName) ?? "").ToLower();
|
||||
if (ext == ".csv")
|
||||
{
|
||||
var csvSerializer = new CsvFileSerializer(dlg.FileName, this.dataRoot);
|
||||
csvSerializer.Load();
|
||||
}
|
||||
else if (ext == ".chl")
|
||||
{
|
||||
ChlFileSerializer loader = new ChlFileSerializer();
|
||||
string warnings = loader.Load(dlg.FileName, this.dataRoot, this.currentChannelList);
|
||||
InfoBox.Show(this, warnings, Path.GetFileName(dlg.FileName));
|
||||
}
|
||||
|
||||
this.gviewRight.EndDataUpdate();
|
||||
this.gviewLeft.EndDataUpdate();
|
||||
this.LoadReferenceFile(dlg.FileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region LoadReferenceFile()
|
||||
private void LoadReferenceFile(string fileName)
|
||||
{
|
||||
this.gviewRight.BeginDataUpdate();
|
||||
this.gviewLeft.BeginDataUpdate();
|
||||
|
||||
string ext = (Path.GetExtension(fileName) ?? "").ToLower();
|
||||
if (ext == ".csv")
|
||||
{
|
||||
var csvSerializer = new CsvFileSerializer(fileName, this.dataRoot);
|
||||
csvSerializer.Load();
|
||||
}
|
||||
else if (ext == ".chl")
|
||||
{
|
||||
ChlFileSerializer loader = new ChlFileSerializer();
|
||||
string warnings = loader.Load(fileName, this.dataRoot, this.currentChannelList);
|
||||
InfoBox.Show(this, warnings, Path.GetFileName(fileName));
|
||||
}
|
||||
else
|
||||
{
|
||||
var plugin = this.GetPluginForFile(fileName);
|
||||
if (plugin == null)
|
||||
{
|
||||
XtraMessageBox.Show(this, "Unsupported type of file");
|
||||
}
|
||||
else
|
||||
{
|
||||
var refFile = plugin.CreateSerializer(fileName);
|
||||
refFile.Load();
|
||||
editor.ApplyReferenceList(refFile.DataRoot);
|
||||
}
|
||||
}
|
||||
|
||||
this.gviewRight.EndDataUpdate();
|
||||
this.gviewLeft.EndDataUpdate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region ShowChannelList()
|
||||
private void ShowChannelList(ChannelList channelList)
|
||||
@@ -512,6 +570,7 @@ namespace ChanSort.Ui
|
||||
this.SaveTvDataFile();
|
||||
this.dataRoot.NeedsSaving = false;
|
||||
this.RefreshGrid(this.gviewLeft, this.gviewRight);
|
||||
this.UpdateMenu();
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
@@ -796,12 +855,13 @@ namespace ChanSort.Ui
|
||||
#endregion
|
||||
|
||||
#region LoadSettings()
|
||||
|
||||
private void LoadSettings()
|
||||
{
|
||||
// note: WindowSize must be restored in ctor in order to make WindowStartPosition.CenterScreen work
|
||||
if (!string.IsNullOrEmpty(Settings.Default.Encoding))
|
||||
this.defaultEncoding = Encoding.GetEncoding(Settings.Default.Encoding);
|
||||
this.SetFileName(Settings.Default.InputTLL);
|
||||
|
||||
int width = Settings.Default.LeftPanelWidth;
|
||||
if (width > 0)
|
||||
this.splitContainerControl1.SplitterPosition = width;
|
||||
@@ -809,10 +869,15 @@ namespace ChanSort.Ui
|
||||
|
||||
this.SetGridLayout(this.gviewLeft, Settings.Default.OutputListLayout);
|
||||
|
||||
this.miEraseDuplicateChannels.Checked = Settings.Default.EraseDuplicateChannels;
|
||||
this.miShowWarningsAfterLoad.Checked = Settings.Default.ShowWarningsAfterLoading;
|
||||
this.cbCloseGap.Checked = Settings.Default.CloseGaps;
|
||||
this.ClearLeftFilter();
|
||||
|
||||
for (int i = MaxMruEntries-1; i >= 0; i--)
|
||||
{
|
||||
this.AddFileToMruList((string)Settings.Default.GetType().GetProperty("MruFile" + i).GetValue(Settings.Default, null));
|
||||
}
|
||||
this.UpdateMruMenu();
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -869,14 +934,15 @@ namespace ChanSort.Ui
|
||||
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.gviewLeft);
|
||||
if (this.currentChannelList != null)
|
||||
SaveInputGridLayout(this.currentChannelList.SignalSource);
|
||||
Settings.Default.EraseDuplicateChannels = this.miEraseDuplicateChannels.Checked;
|
||||
Settings.Default.ShowWarningsAfterLoading = this.miShowWarningsAfterLoad.Checked;
|
||||
Settings.Default.CloseGaps = this.cbCloseGap.Checked;
|
||||
for (int i = 0; i < this.mruFiles.Count; i++)
|
||||
Settings.Default.GetType().GetProperty("MruFile" + i).SetValue(Settings.Default, this.mruFiles[i], null);
|
||||
|
||||
Settings.Default.Save();
|
||||
}
|
||||
|
||||
@@ -1098,7 +1164,18 @@ namespace ChanSort.Ui
|
||||
#region UpdateMenu
|
||||
private void UpdateMenu()
|
||||
{
|
||||
bool fileLoaded = this.dataRoot != null;
|
||||
bool isRight = this.lastFocusedGrid == this.gviewRight;
|
||||
|
||||
this.miReload.Enabled = fileLoaded;
|
||||
this.miFileInformation.Enabled = fileLoaded;
|
||||
this.miRestoreOriginal.Enabled = fileLoaded && File.Exists(this.currentTvFile + ".bak");
|
||||
this.miSave.Enabled = fileLoaded;
|
||||
this.miSaveAs.Enabled = fileLoaded;
|
||||
this.miOpenReferenceFile.Enabled = fileLoaded;
|
||||
this.miSaveReferenceFile.Enabled = fileLoaded;
|
||||
this.miExcelExport.Enabled = fileLoaded;
|
||||
|
||||
this.miAddChannel.Enabled = isRight;
|
||||
|
||||
var visRight = isRight ? BarItemVisibility.Always : BarItemVisibility.Never;
|
||||
@@ -1115,15 +1192,22 @@ namespace ChanSort.Ui
|
||||
this.miMoveUp.Enabled = channel != null && channel.NewProgramNr > 1;
|
||||
|
||||
this.miTvSettings.Enabled = this.currentTvSerializer != null;
|
||||
#if ENABLE_TV_FILE_CLEANUP
|
||||
this.miCleanupChannels.Visibility = this.currentTvSerializer != null &&
|
||||
this.currentTvSerializer.Features.CleanUpChannelData ? BarItemVisibility.Always : BarItemVisibility.Never;
|
||||
this.miEraseDuplicateChannels.Visibility = BarItemVisibility.Always;
|
||||
#else
|
||||
this.miCleanupChannels.Visibility = BarItemVisibility.Never;
|
||||
this.miEraseDuplicateChannels.Visibility = BarItemVisibility.Never;
|
||||
this.miEraseDuplicateChannels.Checked = false;
|
||||
#endif
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region UpdateMruMenu()
|
||||
private void UpdateMruMenu()
|
||||
{
|
||||
this.miRecentFiles.Strings.Clear();
|
||||
foreach (var file in this.mruFiles)
|
||||
{
|
||||
var key = Path.GetFileName(Path.GetDirectoryName(file)) + "\\" + Path.GetFileName(file);
|
||||
if (key != file)
|
||||
key = "...\\" + key;
|
||||
this.miRecentFiles.Strings.Add(key);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -1152,7 +1236,7 @@ namespace ChanSort.Ui
|
||||
{
|
||||
File.Copy(bakFile, this.currentTvFile, true);
|
||||
if (this.currentPlugin != null)
|
||||
this.LoadFiles(this.currentPlugin);
|
||||
this.LoadFiles(this.currentPlugin, this.currentTvFile);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@@ -1251,7 +1335,6 @@ namespace ChanSort.Ui
|
||||
{
|
||||
if (this.currentTvSerializer != null && this.currentTvSerializer.Features.CleanUpChannelData)
|
||||
{
|
||||
this.currentTvSerializer.EraseDuplicateChannels = true;
|
||||
var msg = this.currentTvSerializer.CleanUpChannelData();
|
||||
this.FillChannelListCombo();
|
||||
InfoBox.Show(this, msg, this.miCleanupChannels.Caption);
|
||||
@@ -1260,6 +1343,50 @@ namespace ChanSort.Ui
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ExportExcelList()
|
||||
private void ExportExcelList()
|
||||
{
|
||||
const string header = "List;Pr#;Channel Name;Favorites;Lock;Skip;Hide;Encrypted;Satellite;Ch/Tp;Freq;ONID;TSID;SymRate;SID;VPID;APID";
|
||||
const char sep = '\t';
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendLine(header.Replace(';', sep));
|
||||
foreach (var list in this.dataRoot.ChannelLists)
|
||||
{
|
||||
foreach (var channel in list.Channels.OrderBy(c => c.NewProgramNr))
|
||||
{
|
||||
if (channel.IsDeleted || channel.OldProgramNr == -1)
|
||||
continue;
|
||||
sb.Append(list.ShortCaption).Append(sep);
|
||||
sb.Append(channel.NewProgramNr).Append(sep);
|
||||
sb.Append('"').Append(channel.Name).Append('"').Append(sep);
|
||||
sb.Append(channel.Favorites).Append(sep);
|
||||
sb.Append(channel.Lock ? "L" : "").Append(sep);
|
||||
sb.Append(channel.Skip ? "S" : "").Append(sep);
|
||||
sb.Append(channel.Hidden ? "H" : "").Append(sep);
|
||||
sb.Append(channel.Encrypted == null ? "?" : channel.Encrypted.Value ? "C" : "").Append(sep);
|
||||
sb.Append('"').Append(channel.Satellite).Append('"').Append(sep);
|
||||
sb.Append(channel.ChannelOrTransponder).Append(sep);
|
||||
sb.Append(channel.FreqInMhz).Append(sep);
|
||||
sb.Append(channel.OriginalNetworkId).Append(sep);
|
||||
sb.Append(channel.TransportStreamId).Append(sep);
|
||||
sb.Append(channel.SymbolRate).Append(sep);
|
||||
sb.Append(channel.ServiceId).Append(sep);
|
||||
sb.Append(channel.VideoPid).Append(sep);
|
||||
sb.Append(channel.AudioPid);
|
||||
|
||||
sb.AppendLine();
|
||||
}
|
||||
}
|
||||
|
||||
Clipboard.Clear();
|
||||
Clipboard.SetData(DataFormats.Text, sb.ToString());
|
||||
XtraMessageBox.Show(this,
|
||||
Resources.MainForm_ExportExcelList_Message,
|
||||
this.miExcelExport.Caption,
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
#endregion
|
||||
|
||||
// UI events
|
||||
|
||||
#region MainForm_Load
|
||||
@@ -1275,8 +1402,8 @@ namespace ChanSort.Ui
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.currentTvFile != "" && File.Exists(this.currentTvFile))
|
||||
this.LoadFiles(null);
|
||||
if (this.mruFiles.Count > 0 && File.Exists(this.mruFiles[0]))
|
||||
this.LoadFiles(null, this.mruFiles[0]);
|
||||
}
|
||||
catch (Exception ex) { HandleException(ex); }
|
||||
}
|
||||
@@ -1326,11 +1453,21 @@ namespace ChanSort.Ui
|
||||
TryExecute(this.SaveReferenceFile);
|
||||
}
|
||||
|
||||
private void miExcelExport_ItemClick(object sender, ItemClickEventArgs e)
|
||||
{
|
||||
TryExecute(this.ExportExcelList);
|
||||
}
|
||||
|
||||
private void miQuit_ItemClick(object sender, ItemClickEventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void miRecentFiles_ListItemClick(object sender, ListItemClickEventArgs e)
|
||||
{
|
||||
TryExecute(()=>this.LoadFiles(null, this.mruFiles[e.Index]));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Edit menu
|
||||
@@ -1433,28 +1570,6 @@ 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);
|
||||
});
|
||||
}
|
||||
|
||||
private void miCleanupChannels_ItemClick(object sender, ItemClickEventArgs e)
|
||||
{
|
||||
this.TryExecute(this.CleanupChannelData);
|
||||
@@ -1988,6 +2103,5 @@ namespace ChanSort.Ui
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,6 +117,50 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="gridLeft.EmbeddedNavigator.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<assembly alias="DevExpress.Data.v12.2" name="DevExpress.Data.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="gridLeft.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v12.2">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
|
||||
<value>Tile</value>
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<assembly alias="DevExpress.XtraEditors.v12.2" name="DevExpress.XtraEditors.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="gridLeft.EmbeddedNavigator.TextLocation" type="DevExpress.XtraEditors.NavigatorButtonsTextLocation, DevExpress.XtraEditors.v12.2">
|
||||
<value>Center</value>
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.ToolTip" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<assembly alias="DevExpress.Utils.v12.2" name="DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="gridLeft.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v12.2">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="gridLeft.EmbeddedNavigator.ToolTipTitle" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="gviewLeft.Appearance.HeaderPanel.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="gviewLeft.Appearance.HeaderPanel.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="colOutSlot.Caption" xml:space="preserve">
|
||||
<value>Neue Pr#</value>
|
||||
</data>
|
||||
@@ -129,13 +173,34 @@
|
||||
<data name="colOutFav.Caption" xml:space="preserve">
|
||||
<value>Favoriten</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.AutoComplete" type="DevExpress.XtraEditors.Mask.AutoCompleteType, DevExpress.XtraEditors.v12.2">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.BeepOnError" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.IgnoreMaskBlank" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.PlaceHolder" type="System.Char, mscorlib" xml:space="preserve">
|
||||
<value>_</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.SaveLiteral" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit1.Mask.UseMaskAsDisplayFormat" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="colOutLock.Caption" xml:space="preserve">
|
||||
<value>Ge- sperrt</value>
|
||||
</data>
|
||||
<data name="colOutLock.ToolTip" xml:space="preserve">
|
||||
<value>Kindersicherung</value>
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="lblHotkeyLeft.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>333, 17</value>
|
||||
</data>
|
||||
@@ -166,12 +231,15 @@
|
||||
<data name="miOpenReferenceFile.Caption" xml:space="preserve">
|
||||
<value>Referenzliste öffnen...</value>
|
||||
</data>
|
||||
<data name="miQuit.Caption" xml:space="preserve">
|
||||
<value>&Beenden</value>
|
||||
</data>
|
||||
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
|
||||
<value>Referenzliste speichern</value>
|
||||
</data>
|
||||
<data name="miExcelExport.Caption" xml:space="preserve">
|
||||
<value>Excel liste exportieren...</value>
|
||||
</data>
|
||||
<data name="miQuit.Caption" xml:space="preserve">
|
||||
<value>&Beenden</value>
|
||||
</data>
|
||||
<data name="miEdit.Caption" xml:space="preserve">
|
||||
<value>&Bearbeiten</value>
|
||||
</data>
|
||||
@@ -220,9 +288,6 @@
|
||||
<data name="miTvSettings.Caption" xml:space="preserve">
|
||||
<value>Geräte&einstellungen...</value>
|
||||
</data>
|
||||
<data name="miEraseChannelData.Caption" xml:space="preserve">
|
||||
<value>Alle Senderdaten löschen</value>
|
||||
</data>
|
||||
<data name="mnuOptions.Caption" xml:space="preserve">
|
||||
<value>&Einstellungen</value>
|
||||
</data>
|
||||
@@ -238,12 +303,6 @@
|
||||
<data name="miShowWarningsAfterLoad.Hint" xml:space="preserve">
|
||||
<value>Eventuelle Warnungen nach dem Laden einer TV-Datei automatisch anzeigen</value>
|
||||
</data>
|
||||
<data name="miEraseDuplicateChannels.Caption" xml:space="preserve">
|
||||
<value>TV-Datei automatisch bereinigen</value>
|
||||
</data>
|
||||
<data name="miEraseDuplicateChannels.Hint" xml:space="preserve">
|
||||
<value>Nicht verwendete Senderdaten beim Laden der Datei automatisch entfernen</value>
|
||||
</data>
|
||||
<data name="mnuHelp.Caption" xml:space="preserve">
|
||||
<value>&Hilfe</value>
|
||||
</data>
|
||||
@@ -294,24 +353,126 @@
|
||||
WIeWYGkVXQEL
|
||||
</value>
|
||||
</data>
|
||||
<data name="barDockControlTop.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="barDockControlTop.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="barDockControlBottom.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="barDockControlBottom.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="barDockControlLeft.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="barDockControlLeft.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="barDockControlRight.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="barDockControlRight.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="miMoveUp.Caption" xml:space="preserve">
|
||||
<value>Nach oben</value>
|
||||
</data>
|
||||
<data name="miMoveDown.Caption" xml:space="preserve">
|
||||
<value>Nach unten</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.AutoHeight" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.Caption" xml:space="preserve">
|
||||
<value>tauschen</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.DisplayValueChecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.DisplayValueGrayed" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertSwap.Properties.DisplayValueUnchecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.AutoHeight" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
|
||||
<value>dahinter</value>
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.DisplayValueChecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.DisplayValueGrayed" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.DisplayValueUnchecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.AutoHeight" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
|
||||
<value>davor</value>
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.DisplayValueChecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.DisplayValueGrayed" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.DisplayValueUnchecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.AutoHeight" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
|
||||
<value>Lücken beim Verschieben/Entfernen von Sendern schließen</value>
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.DisplayValueChecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.DisplayValueGrayed" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.DisplayValueUnchecked" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="cbCloseGap.ToolTip" xml:space="preserve">
|
||||
<value>Wenn aktiv, werden folgende Programmnummer automatisch vorgerückt</value>
|
||||
</data>
|
||||
@@ -321,6 +482,18 @@
|
||||
<data name="labelControl2.Text" xml:space="preserve">
|
||||
<value>Einfügemodus:</value>
|
||||
</data>
|
||||
<data name="picDonate.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="picDonate.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="picDonate.Properties.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="picDonate.Properties.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="pageEmpty.Text" xml:space="preserve">
|
||||
<value>Keine Datei geladen</value>
|
||||
</data>
|
||||
@@ -330,12 +503,54 @@
|
||||
<data name="labelControl11.ToolTip" xml:space="preserve">
|
||||
<value>Programplatz für Einfügen und Festlegen</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.AutoHeight" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.AutoComplete" type="DevExpress.XtraEditors.Mask.AutoCompleteType, DevExpress.XtraEditors.v12.2">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.BeepOnError" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.IgnoreMaskBlank" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.PlaceHolder" type="System.Char, mscorlib" xml:space="preserve">
|
||||
<value>_</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.SaveLiteral" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Mask.UseMaskAsDisplayFormat" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.NullValuePrompt" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.NullValuePromptShowForEmptyValue" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>ChanSort {0} - Senderlisten-Editor für Samsung, LG und Toshiba TVs</value>
|
||||
</data>
|
||||
<data name="btnToggleLock.Text" xml:space="preserve">
|
||||
<value>Kindersicherung</value>
|
||||
</data>
|
||||
<data name="btnClearLeftFilter.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="btnClearLeftFilter.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="btnClearLeftFilter.ToolTip" xml:space="preserve">
|
||||
<value>Filter entfernen</value>
|
||||
</data>
|
||||
@@ -351,6 +566,45 @@
|
||||
<data name="grpOutputList.Text" xml:space="preserve">
|
||||
<value>Sortierte Sender (.csv)</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.AccessibleDescription" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.AccessibleName" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.AllowHtmlTextInToolTip" type="DevExpress.Utils.DefaultBoolean, DevExpress.Data.v12.2">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
|
||||
<value>Top, Left</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.BackgroundImage" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
|
||||
<value>Tile</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>Inherit</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.TextLocation" type="DevExpress.XtraEditors.NavigatorButtonsTextLocation, DevExpress.XtraEditors.v12.2">
|
||||
<value>Center</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.ToolTip" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.ToolTipIconType" type="DevExpress.Utils.ToolTipIconType, DevExpress.Utils.v12.2">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="gridRight.EmbeddedNavigator.ToolTipTitle" xml:space="preserve">
|
||||
<value />
|
||||
</data>
|
||||
<data name="gviewRight.Appearance.HeaderPanel.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="gviewRight.Appearance.HeaderPanel.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="colSlotOld.Caption" xml:space="preserve">
|
||||
<value>Alte Pr#</value>
|
||||
</data>
|
||||
@@ -372,6 +626,27 @@
|
||||
<data name="colFavorites.Caption" xml:space="preserve">
|
||||
<value>Favoriten</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.AutoComplete" type="DevExpress.XtraEditors.Mask.AutoCompleteType, DevExpress.XtraEditors.v12.2">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.BeepOnError" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.IgnoreMaskBlank" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.PlaceHolder" type="System.Char, mscorlib" xml:space="preserve">
|
||||
<value>_</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.SaveLiteral" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.ShowPlaceHolders" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="repositoryItemCheckedComboBoxEdit2.Mask.UseMaskAsDisplayFormat" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="colLock.Caption" xml:space="preserve">
|
||||
<value>Ge- sperrt</value>
|
||||
</data>
|
||||
@@ -426,6 +701,12 @@
|
||||
<data name="btnAddAll.ToolTip" xml:space="preserve">
|
||||
<value>Aller derzeit nicht sortierten Sender ans Ende der Liste anhängen</value>
|
||||
</data>
|
||||
<data name="btnClearRightFilter.Appearance.GradientMode" type="System.Drawing.Drawing2D.LinearGradientMode, System.Drawing">
|
||||
<value>Horizontal</value>
|
||||
</data>
|
||||
<data name="btnClearRightFilter.Appearance.Image" type="System.Resources.ResXNullRef, System.Windows.Forms">
|
||||
<value />
|
||||
</data>
|
||||
<data name="btnClearRightFilter.ToolTip" xml:space="preserve">
|
||||
<value>Filter entfernen</value>
|
||||
</data>
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
</data>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="splitContainerControl1.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 109</value>
|
||||
<value>0, 88</value>
|
||||
</data>
|
||||
<metadata name="dsChannels.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>361, 17</value>
|
||||
@@ -222,7 +222,7 @@
|
||||
<value>35</value>
|
||||
</data>
|
||||
<data name="gridLeft.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>382, 417</value>
|
||||
<value>382, 438</value>
|
||||
</data>
|
||||
<data name="gridLeft.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -243,7 +243,7 @@
|
||||
<value>Bottom</value>
|
||||
</data>
|
||||
<data name="lblHotkeyLeft.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 471</value>
|
||||
<value>2, 492</value>
|
||||
</data>
|
||||
<data name="lblHotkeyLeft.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
@@ -282,7 +282,7 @@
|
||||
<value>1474, 599</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>5, 24</value>
|
||||
<value>218, 6</value>
|
||||
</data>
|
||||
<metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>475, 17</value>
|
||||
@@ -314,9 +314,15 @@
|
||||
<data name="miSaveReferenceFile.Caption" xml:space="preserve">
|
||||
<value>Save reference list</value>
|
||||
</data>
|
||||
<data name="miExcelExport.Caption" xml:space="preserve">
|
||||
<value>Export Excel list...</value>
|
||||
</data>
|
||||
<data name="miQuit.Caption" xml:space="preserve">
|
||||
<value>&Quit</value>
|
||||
</data>
|
||||
<data name="miRecentFiles.Caption" xml:space="preserve">
|
||||
<value>miRecentFiles</value>
|
||||
</data>
|
||||
<data name="miEdit.Caption" xml:space="preserve">
|
||||
<value>&Edit</value>
|
||||
</data>
|
||||
@@ -371,14 +377,11 @@
|
||||
<data name="miTvSettings.Caption" xml:space="preserve">
|
||||
<value>Device setting...</value>
|
||||
</data>
|
||||
<data name="miEraseChannelData.Caption" xml:space="preserve">
|
||||
<value>Erase all channel data</value>
|
||||
</data>
|
||||
<data name="miCleanupChannels.Caption" xml:space="preserve">
|
||||
<value>Cleanup channel data</value>
|
||||
</data>
|
||||
<data name="miCleanupChannels.Hint" xml:space="preserve">
|
||||
<value>Remove duplicate channels and reorganize </value>
|
||||
<value>Reorganize channel records and remove duplicates</value>
|
||||
</data>
|
||||
<data name="mnuOptions.Caption" xml:space="preserve">
|
||||
<value>&Settings</value>
|
||||
@@ -404,12 +407,6 @@
|
||||
<data name="miShowWarningsAfterLoad.Caption" xml:space="preserve">
|
||||
<value>Show warnings after loading file</value>
|
||||
</data>
|
||||
<data name="miEraseDuplicateChannels.Caption" xml:space="preserve">
|
||||
<value>Cleanup TV data file after loading</value>
|
||||
</data>
|
||||
<data name="miEraseDuplicateChannels.Hint" xml:space="preserve">
|
||||
<value>Automatically clean up TV data file after loading</value>
|
||||
</data>
|
||||
<data name="mnuHelp.Caption" xml:space="preserve">
|
||||
<value>&Help</value>
|
||||
</data>
|
||||
@@ -561,7 +558,7 @@
|
||||
</data>
|
||||
<assembly alias="DevExpress.Data.v12.2" name="DevExpress.Data.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="rbInsertSwap.Properties.GlyphAlignment" type="DevExpress.Utils.HorzAlignment, DevExpress.Data.v12.2">
|
||||
<value>Far</value>
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="rbInsertSwap.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>77, 19</value>
|
||||
@@ -585,7 +582,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="rbInsertAfter.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 24</value>
|
||||
<value>153, 6</value>
|
||||
</data>
|
||||
<data name="rbInsertAfter.Properties.Caption" xml:space="preserve">
|
||||
<value>after</value>
|
||||
@@ -609,7 +606,7 @@
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="rbInsertBefore.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>88, 5</value>
|
||||
<value>82, 6</value>
|
||||
</data>
|
||||
<data name="rbInsertBefore.Properties.Caption" xml:space="preserve">
|
||||
<value>before</value>
|
||||
@@ -636,7 +633,7 @@
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="cbCloseGap.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>263, 6</value>
|
||||
<value>496, 6</value>
|
||||
</data>
|
||||
<data name="cbCloseGap.Properties.Caption" xml:space="preserve">
|
||||
<value>Close gap when moving/deleting a channel</value>
|
||||
@@ -717,7 +714,7 @@
|
||||
<value>Bottom, Left</value>
|
||||
</data>
|
||||
<data name="tabChannelList.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 54</value>
|
||||
<value>0, 33</value>
|
||||
</data>
|
||||
<data name="pageEmpty.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>632, 0</value>
|
||||
@@ -759,10 +756,10 @@
|
||||
<value>Vertical</value>
|
||||
</data>
|
||||
<data name="labelControl11.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>169, 8</value>
|
||||
<value>320, 8</value>
|
||||
</data>
|
||||
<data name="labelControl11.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>80, 13</value>
|
||||
<value>64, 13</value>
|
||||
</data>
|
||||
<data name="labelControl11.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -786,7 +783,7 @@
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>169, 24</value>
|
||||
<value>390, 5</value>
|
||||
</data>
|
||||
<data name="txtSetSlot.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v12.2">
|
||||
<value>OK</value>
|
||||
@@ -822,7 +819,7 @@
|
||||
<value>0, 31</value>
|
||||
</data>
|
||||
<data name="grpTopPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1474, 78</value>
|
||||
<value>1474, 57</value>
|
||||
</data>
|
||||
<data name="grpTopPanel.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -1160,12 +1157,24 @@
|
||||
<data name=">>miSaveReferenceFile.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miExcelExport.Name" xml:space="preserve">
|
||||
<value>miExcelExport</value>
|
||||
</data>
|
||||
<data name=">>miExcelExport.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miQuit.Name" xml:space="preserve">
|
||||
<value>miQuit</value>
|
||||
</data>
|
||||
<data name=">>miQuit.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miRecentFiles.Name" xml:space="preserve">
|
||||
<value>miRecentFiles</value>
|
||||
</data>
|
||||
<data name=">>miRecentFiles.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarListItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miEdit.Name" xml:space="preserve">
|
||||
<value>miEdit</value>
|
||||
</data>
|
||||
@@ -1274,10 +1283,10 @@
|
||||
<data name=">>miTvSettings.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miEraseChannelData.Name" xml:space="preserve">
|
||||
<value>miEraseChannelData</value>
|
||||
<data name=">>miCleanupChannels.Name" xml:space="preserve">
|
||||
<value>miCleanupChannels</value>
|
||||
</data>
|
||||
<data name=">>miEraseChannelData.Type" xml:space="preserve">
|
||||
<data name=">>miCleanupChannels.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>mnuOptions.Name" xml:space="preserve">
|
||||
@@ -1328,12 +1337,6 @@
|
||||
<data name=">>miShowWarningsAfterLoad.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miEraseDuplicateChannels.Name" xml:space="preserve">
|
||||
<value>miEraseDuplicateChannels</value>
|
||||
</data>
|
||||
<data name=">>miEraseDuplicateChannels.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>mnuHelp.Name" xml:space="preserve">
|
||||
<value>mnuHelp</value>
|
||||
</data>
|
||||
@@ -1370,12 +1373,6 @@
|
||||
<data name=">>miMoveDown.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>miCleanupChannels.Name" xml:space="preserve">
|
||||
<value>miCleanupChannels</value>
|
||||
</data>
|
||||
<data name=">>miCleanupChannels.Type" xml:space="preserve">
|
||||
<value>DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name=">>defaultLookAndFeel1.Name" xml:space="preserve">
|
||||
<value>defaultLookAndFeel1</value>
|
||||
</data>
|
||||
@@ -1407,7 +1404,7 @@
|
||||
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v12.2, Version=12.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
|
||||
<value>05/07/2013 01:07:27</value>
|
||||
<value>05/11/2013 13:20:06</value>
|
||||
</data>
|
||||
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 16</value>
|
||||
@@ -1722,7 +1719,7 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="grpOutputList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>386, 490</value>
|
||||
<value>386, 511</value>
|
||||
</data>
|
||||
<data name="grpOutputList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -2052,7 +2049,7 @@
|
||||
<value>Signal source</value>
|
||||
</data>
|
||||
<data name="gridRight.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1079, 417</value>
|
||||
<value>1079, 438</value>
|
||||
</data>
|
||||
<data name="gridRight.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
@@ -2073,7 +2070,7 @@
|
||||
<value>Bottom</value>
|
||||
</data>
|
||||
<data name="lblHotkeyRight.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>2, 471</value>
|
||||
<value>2, 492</value>
|
||||
</data>
|
||||
<data name="lblHotkeyRight.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>2, 2, 2, 2</value>
|
||||
@@ -2241,7 +2238,7 @@
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="grpInputList.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1083, 490</value>
|
||||
<value>1083, 511</value>
|
||||
</data>
|
||||
<data name="grpInputList.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
@@ -2265,7 +2262,7 @@
|
||||
<value>Panel2</value>
|
||||
</data>
|
||||
<data name="splitContainerControl1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1474, 490</value>
|
||||
<value>1474, 511</value>
|
||||
</data>
|
||||
<data name="splitContainerControl1.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
|
||||
28
ChanSort/Properties/Resources.Designer.cs
generated
28
ChanSort/Properties/Resources.Designer.cs
generated
@@ -96,6 +96,16 @@ namespace ChanSort.Ui.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The channel list has been copied to the clipboard
|
||||
///and can be pasted into Excel or any text editor..
|
||||
/// </summary>
|
||||
internal static string MainForm_ExportExcelList_Message {
|
||||
get {
|
||||
return ResourceManager.GetString("MainForm_ExportExcelList_Message", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Supported Files|{0}|All Files (*.*)|*.
|
||||
/// </summary>
|
||||
@@ -228,6 +238,24 @@ namespace ChanSort.Ui.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to File not found.
|
||||
/// </summary>
|
||||
internal static string MainForm_LoadTvDataFile_FileNotFound_Caption {
|
||||
get {
|
||||
return ResourceManager.GetString("MainForm_LoadTvDataFile_FileNotFound_Caption", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The file {0} does not exist..
|
||||
/// </summary>
|
||||
internal static string MainForm_LoadTvDataFile_FileNotFound_Message {
|
||||
get {
|
||||
return ResourceManager.GetString("MainForm_LoadTvDataFile_FileNotFound_Message", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to You are about to restore the backup file. All changes will be lost!
|
||||
///Do you want to continue?.
|
||||
|
||||
@@ -261,4 +261,14 @@ Möchten Sie die Downloadseite öffnen?</value>
|
||||
<data name="MainForm_Cancel" xml:space="preserve">
|
||||
<value>Abbrechen</value>
|
||||
</data>
|
||||
<data name="MainForm_LoadTvDataFile_FileNotFound_Caption" xml:space="preserve">
|
||||
<value>Datei nicht gefunden</value>
|
||||
</data>
|
||||
<data name="MainForm_LoadTvDataFile_FileNotFound_Message" xml:space="preserve">
|
||||
<value>Die Datei {0} konnte nicht gefunden werden.</value>
|
||||
</data>
|
||||
<data name="MainForm_ExportExcelList_Message" xml:space="preserve">
|
||||
<value>Die Senderliste wurde in die Zwischenablage kopiert
|
||||
und kann nun in Excel oder einen Texteditor eingefügt werden.</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -260,4 +260,14 @@ Do you want to open the download website?</value>
|
||||
<data name="MainForm_Cancel" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="MainForm_LoadTvDataFile_FileNotFound_Caption" xml:space="preserve">
|
||||
<value>File not found</value>
|
||||
</data>
|
||||
<data name="MainForm_LoadTvDataFile_FileNotFound_Message" xml:space="preserve">
|
||||
<value>The file {0} does not exist.</value>
|
||||
</data>
|
||||
<data name="MainForm_ExportExcelList_Message" xml:space="preserve">
|
||||
<value>The channel list has been copied to the clipboard
|
||||
and can be pasted into Excel or any text editor.</value>
|
||||
</data>
|
||||
</root>
|
||||
72
ChanSort/Properties/Settings.Designer.cs
generated
72
ChanSort/Properties/Settings.Designer.cs
generated
@@ -23,18 +23,6 @@ namespace ChanSort.Ui.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string InputTLL {
|
||||
get {
|
||||
return ((string)(this["InputTLL"]));
|
||||
}
|
||||
set {
|
||||
this["InputTLL"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("0")]
|
||||
@@ -322,5 +310,65 @@ namespace ChanSort.Ui.Properties {
|
||||
this["CloseGaps"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string MruFile0 {
|
||||
get {
|
||||
return ((string)(this["MruFile0"]));
|
||||
}
|
||||
set {
|
||||
this["MruFile0"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string MruFile1 {
|
||||
get {
|
||||
return ((string)(this["MruFile1"]));
|
||||
}
|
||||
set {
|
||||
this["MruFile1"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string MruFile2 {
|
||||
get {
|
||||
return ((string)(this["MruFile2"]));
|
||||
}
|
||||
set {
|
||||
this["MruFile2"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string MruFile3 {
|
||||
get {
|
||||
return ((string)(this["MruFile3"]));
|
||||
}
|
||||
set {
|
||||
this["MruFile3"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string MruFile4 {
|
||||
get {
|
||||
return ((string)(this["MruFile4"]));
|
||||
}
|
||||
set {
|
||||
this["MruFile4"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,6 @@
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="ChanSort.Ui.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="InputTLL" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="InputListRowHandle" Type="System.Int32" Scope="User">
|
||||
<Value Profile="(Default)">0</Value>
|
||||
</Setting>
|
||||
@@ -77,5 +74,20 @@
|
||||
<Setting Name="CloseGaps" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="MruFile0" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MruFile1" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MruFile2" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MruFile3" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="MruFile4" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@@ -8,9 +8,6 @@
|
||||
</configSections>
|
||||
<startup><supportedRuntime version="v2.0.50727"/></startup><userSettings>
|
||||
<ChanSort.Ui.Properties.Settings>
|
||||
<setting name="InputTLL" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="InputListRowHandle" serializeAs="String">
|
||||
<value>0</value>
|
||||
</setting>
|
||||
@@ -83,6 +80,21 @@
|
||||
<setting name="CloseGaps" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="MruFile0" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MruFile1" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MruFile2" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MruFile3" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MruFile4" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
</ChanSort.Ui.Properties.Settings>
|
||||
<GUI.Properties.Settings>
|
||||
<setting name="InputTLL" serializeAs="String">
|
||||
|
||||
57
Test.Loader.LG/DvbsCleanup/TestDvbsCleanup.cs
Normal file
57
Test.Loader.LG/DvbsCleanup/TestDvbsCleanup.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using System.IO;
|
||||
using ChanSort.Loader.LG;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
namespace Test.Loader.LG
|
||||
{
|
||||
[TestClass]
|
||||
public class TestDvbsCleanup : TestBase
|
||||
{
|
||||
[TestMethod]
|
||||
public void TestLM620S_WithSatChannels()
|
||||
{
|
||||
// "VitorMartinsAugusto"
|
||||
this.ExecuteTest("DvbsCleanup/xxLM620S-ZE00001");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestLM860V_WithoutSatChannels()
|
||||
{
|
||||
// "PDA-User"
|
||||
this.ExecuteTest("DvbsCleanup/xxLM860V-ZB99998");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestLM640T_WithBogusDvbsBlock()
|
||||
{
|
||||
// "OmarGadzhiev"
|
||||
this.ExecuteTest("DvbsCleanup/xxLM640T-ZA00000");
|
||||
}
|
||||
|
||||
|
||||
private void ExecuteTest(string modelAndBaseName, bool generateReferenceFile = false)
|
||||
{
|
||||
// copy required input and assertion files
|
||||
DeploymentItem("ChanSort.Loader.LG\\ChanSort.Loader.LG.ini");
|
||||
DeploymentItem("Test.Loader.LG\\" + modelAndBaseName + ".TLL.in");
|
||||
DeploymentItem("Test.Loader.LG\\" + modelAndBaseName + ".TLL.out");
|
||||
|
||||
var baseName = Path.GetFileNameWithoutExtension(modelAndBaseName);
|
||||
|
||||
// load the TLL file
|
||||
TllFileSerializerPlugin plugin = new TllFileSerializerPlugin();
|
||||
var serializer = (TllFileSerializer)plugin.CreateSerializer(baseName + ".TLL.in");
|
||||
serializer.IsTesting = true;
|
||||
serializer.Load();
|
||||
serializer.DataRoot.ApplyCurrentProgramNumbers();
|
||||
|
||||
// save TLL file and compare to reference file
|
||||
serializer.CleanUpChannelData();
|
||||
serializer.Save(tempFile);
|
||||
if (generateReferenceFile)
|
||||
File.Copy(tempFile, this.GetSolutionBaseDir() + "\\Test.Loader.LG\\" + modelAndBaseName + ".TLL.out", true);
|
||||
else
|
||||
AssertBinaryFileContent(tempFile, baseName + ".TLL.out");
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
Test.Loader.LG/DvbsCleanup/xxLM620S-ZE00001.TLL.in
Normal file
BIN
Test.Loader.LG/DvbsCleanup/xxLM620S-ZE00001.TLL.in
Normal file
Binary file not shown.
BIN
Test.Loader.LG/DvbsCleanup/xxLM620S-ZE00001.TLL.out
Normal file
BIN
Test.Loader.LG/DvbsCleanup/xxLM620S-ZE00001.TLL.out
Normal file
Binary file not shown.
BIN
Test.Loader.LG/DvbsCleanup/xxLM640T-ZA00000.TLL.in
Normal file
BIN
Test.Loader.LG/DvbsCleanup/xxLM640T-ZA00000.TLL.in
Normal file
Binary file not shown.
BIN
Test.Loader.LG/DvbsCleanup/xxLM640T-ZA00000.TLL.out
Normal file
BIN
Test.Loader.LG/DvbsCleanup/xxLM640T-ZA00000.TLL.out
Normal file
Binary file not shown.
BIN
Test.Loader.LG/DvbsCleanup/xxLM860V-ZB99998.TLL.in
Normal file
BIN
Test.Loader.LG/DvbsCleanup/xxLM860V-ZB99998.TLL.in
Normal file
Binary file not shown.
BIN
Test.Loader.LG/DvbsCleanup/xxLM860V-ZB99998.TLL.out
Normal file
BIN
Test.Loader.LG/DvbsCleanup/xxLM860V-ZB99998.TLL.out
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -88,6 +88,7 @@
|
||||
<Compile Include="TestBase.cs" />
|
||||
<Compile Include="LH\TestLH.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="DvbsCleanup\TestDvbsCleanup.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using ChanSort.Api;
|
||||
using ChanSort.Loader.LG;
|
||||
@@ -86,7 +87,7 @@ namespace Test.Loader.LG
|
||||
#endregion
|
||||
|
||||
#region AssertBinaryFileContent()
|
||||
private void AssertBinaryFileContent(string actualFile, string expectedFile)
|
||||
protected void AssertBinaryFileContent(string actualFile, string expectedFile)
|
||||
{
|
||||
var actual = File.ReadAllBytes(actualFile);
|
||||
var expected = File.ReadAllBytes(expectedFile);
|
||||
@@ -94,7 +95,16 @@ namespace Test.Loader.LG
|
||||
for (int i = 0; i < actual.Length; i++)
|
||||
{
|
||||
if (actual[i] != expected[i])
|
||||
Assert.Fail("Files differ at index {0}: expected {1} but found {2}", i, expected[i], actual[i]);
|
||||
{
|
||||
StringBuilder sb1 = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
for (int j = 0; j < 8 && i + j < expected.Length; j++)
|
||||
{
|
||||
sb1.AppendFormat("{0:X2} ", expected[i + j]);
|
||||
sb2.AppendFormat("{0:X2} ", actual[i + j]);
|
||||
}
|
||||
Assert.Fail("Files differ at index {0}: expected <{1}> but found <{2}>", i, sb1, sb2);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -119,7 +129,7 @@ namespace Test.Loader.LG
|
||||
#endregion
|
||||
|
||||
#region GetSolutionBaseDir()
|
||||
private string GetSolutionBaseDir()
|
||||
protected string GetSolutionBaseDir()
|
||||
{
|
||||
var dir = Path.GetDirectoryName(this.GetType().Assembly.Location);
|
||||
do
|
||||
|
||||
@@ -54,6 +54,7 @@ namespace Test.Loader
|
||||
"\t" + (analogList == null ? 0 : analogList.Count) +
|
||||
"\t" + (digitalList == null ? 0 : digitalList.Count) +
|
||||
"\t" + (satChannelList == null ? 0 : satChannelList.Count) +
|
||||
"\t" + serializer.DvbsSymbolRateCorrectionFactor +
|
||||
"\t" + relPath;
|
||||
|
||||
|
||||
|
||||
25
readme.txt
25
readme.txt
@@ -1,9 +1,15 @@
|
||||
Version v2013-05-07 ======================================================
|
||||
Version v2013-05-11 ======================================================
|
||||
|
||||
Changes:
|
||||
- Added support for LG's LN-series
|
||||
- Fixed: Saving reordered list for LG xxLH3000.
|
||||
- Removed "Cleanup TV data file" function due to having bricked an LG TV.
|
||||
- TV data files can be used as reference lists (without exporting .csv)
|
||||
- added "Export Excel list" function
|
||||
- added hotkeys to many menu items
|
||||
- added most recently used files to menu
|
||||
- added support to enable Hotel Mode for LH3000 and LN models
|
||||
- fixed: saved incorrect DVB-S transponder symbol rate for LG's LK950S, LV,
|
||||
LW and LN models
|
||||
- re-added a fixed version of "TV-Set / Clean channel data" function for
|
||||
LG TV's.
|
||||
|
||||
The complete change log can be found at the end of this document
|
||||
|
||||
@@ -101,6 +107,17 @@ OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Change log ================================================================
|
||||
|
||||
2013-05-11
|
||||
- TV data files can be used as reference lists (without exporting .csv)
|
||||
- added "File / Export Excel list" function
|
||||
- added hotkeys to many menu items
|
||||
- added most recently used files to menu
|
||||
- added support to enable Hotel Mode for LH3000 and LN models
|
||||
- fixed: saved incorrect DVB-S transponder symbol rate for LG's LK950S, LV,
|
||||
LW and LN models
|
||||
- re-added "TV-Set / Clean channel data" function for LG TV's.
|
||||
|
||||
|
||||
2013-05-07
|
||||
- Added support for LG's LN-series
|
||||
- Fixed: Saving reordered list for LG xxLH3000.
|
||||
|
||||
Reference in New Issue
Block a user