diff --git a/readme.md b/readme.md
index 33fb9e7..3f2b061 100644
--- a/readme.md
+++ b/readme.md
@@ -11,7 +11,8 @@ About ChanSort
--------------
ChanSort is a Windows application that allows you to reorder your TV's channel list.
Most modern TVs can transfer channel lists via USB stick, which you can plug into your PC.
-ChanSort supports various file formats from **Sony** (new), **Silva-Schneider** (new), Hisense, Samsung, LG, Panasonic, Toshiba and the Linux VDR project.
+ChanSort supports various file formats from **Sony** (new), **ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken** (new),
+Hisense, Samsung, LG, Panasonic, Toshiba and the Linux VDR project.

@@ -92,8 +93,8 @@ Android-TVs "sdb.xml" files using formats "FormateVer" 1.1.0 and "FormatVer" 1.0
Models that export a .zip file containing chmgt.db, dvbSysData.db and dvbMainData.db files.
(e.g. RL, SL, TL, UL, VL, WL, XL, YL models of series 8xx/9xx)
-**Silva-Schneider**
-.sdx files (currently only satellite lists are supported)
+**ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken**
+These brands use .sdx files (currently only satellite lists are supported)
**VDR (Linux Video Disk Recorder)**
Supports the channels.conf file format.
diff --git a/readme_de.md b/readme_de.md
index ff958b5..fadc284 100644
--- a/readme_de.md
+++ b/readme_de.md
@@ -11,7 +11,8 @@ Links
--------------
ChanSort ist eine Windows-Anwendung, die das Sortieren von Fernsehsenderlisten erlaubt.
Die meisten modernen Fernseher können Senderlisten auf einen USB-Stick übertragen, den man danach am PC anschließt.
-ChanSort unterstützt diverse Dateiformate von **Sony** (NEU), **Silva-Schneider** (NEU), Hisense, LG, Panasonic, Samsung, Toshiba und das Linux VDR Projekt.
+ChanSort unterstützt diverse Dateiformate von **Sony** (new), **ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken** (new),
+Hisense, Samsung, LG, Panasonic, Toshiba und dem Linux VDR Projekt.

@@ -83,8 +84,8 @@ Viera-Modelle mit svl.bin oder svl.db Dateien (die meisten Modelle seit 2011)
**Sony**
Android-TV "sdb.xml" Dateien mit Versionen "FormateVer" 1.1.0 and "FormatVer" 1.0.0, 1.1.0 and 1.2.0
-**Silva-Schneider**
-.sdx Dateien (derzeit wird nur Satellitenempfang unterstützt)
+**ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz, Silva-Schneider, Telefunken**
+Die Marken nutzen .sdx Dateien (derzeit wird nur Satellitenempfang unterstützt)
**Toshiba**
Modelle, die eine .zip-Datei mit folgendem Inhalt: chmgt.db, dvbSysData.db und dvbMainData.db.
diff --git a/source/ChanSort.Loader.SilvaSchneider/SerializerPlugin.cs b/source/ChanSort.Loader.SilvaSchneider/SerializerPlugin.cs
index b275cb3..43fcb5c 100644
--- a/source/ChanSort.Loader.SilvaSchneider/SerializerPlugin.cs
+++ b/source/ChanSort.Loader.SilvaSchneider/SerializerPlugin.cs
@@ -5,7 +5,7 @@ namespace ChanSort.Loader.SilvaSchneider
public class SerializerPlugin : ISerializerPlugin
{
public string DllName { get; set; }
- public string PluginName { get { return "Silva Schneider"; } }
+ public string PluginName { get { return "ITT/Medion/Nabo/ok./Peaq/Schaub-Lorenz/Silva-Schneider/Telefunken"; } }
public string FileFilter { get { return "*.sdx"; } }
public SerializerBase CreateSerializer(string inputFile)
diff --git a/source/ChanSort.Loader.Sony/Serializer.cs b/source/ChanSort.Loader.Sony/Serializer.cs
index 3faf3e3..a269fd4 100644
--- a/source/ChanSort.Loader.Sony/Serializer.cs
+++ b/source/ChanSort.Loader.Sony/Serializer.cs
@@ -212,8 +212,10 @@ namespace ChanSort.Loader.Sony
var transp = new Transponder(int.Parse(muxIds[i]) + idAdjustment);
if (isEFormat)
{
- transp.FrequencyInMhz = int.Parse(muxData["SysFreq"][i]);
- transp.SymbolRate = int.Parse(muxData["ui4_sym_rate"][i]);
+ var freq = muxData.ContainsKey("ui4_freq") ? muxData["ui4_freq"] : muxData["SysFreq"];
+ transp.FrequencyInMhz = int.Parse(freq[i]);
+ if (muxData.ContainsKey("ui4_sym_rate"))
+ transp.SymbolRate = int.Parse(muxData["ui4_sym_rate"][i]);
if (Char.ToLowerInvariant(dvbSystem[dvbSystem.Length - 1]) == 's') // "DvbGs", "DvbPs", "DvbCis"
{
transp.Polarity = muxData["e_pol"][i] == "1" ? 'H' : 'V';
@@ -232,7 +234,8 @@ namespace ChanSort.Loader.Sony
transp.TransportStreamId = this.ParseInt(muxData["Tsid"][i]);
transp.FrequencyInMhz = int.Parse(rfParmData["Freq"][i]) / 1000;
transp.Polarity = polarity == null ? ' ' : polarity[i] == "H_L" ? 'H' : 'V';
- transp.SymbolRate = int.Parse(dvbsData["SymbolRate"][i]) / 1000;
+ if (dvbsData.ContainsKey("SymbolRate"))
+ transp.SymbolRate = int.Parse(dvbsData["SymbolRate"][i]) / 1000;
}
this.DataRoot.AddTransponder(sat, transp);
diff --git a/source/ChanSort.Loader.Sony/SerializerPlugin.cs b/source/ChanSort.Loader.Sony/SerializerPlugin.cs
index 82ef869..8f9861c 100644
--- a/source/ChanSort.Loader.Sony/SerializerPlugin.cs
+++ b/source/ChanSort.Loader.Sony/SerializerPlugin.cs
@@ -6,7 +6,7 @@ namespace ChanSort.Loader.Sony
{
public string DllName { get; set; }
public string PluginName => "Sony sdb.xml";
- public string FileFilter => "sdb*.xml";
+ public string FileFilter => "*.xml";
public SerializerBase CreateSerializer(string inputFile)
{
diff --git a/source/ChanSort/ChanSort.csproj b/source/ChanSort/ChanSort.csproj
index bf276a6..0a2d275 100644
--- a/source/ChanSort/ChanSort.csproj
+++ b/source/ChanSort/ChanSort.csproj
@@ -102,6 +102,7 @@
+
@@ -157,6 +158,7 @@
True
True
+
Form
diff --git a/source/ChanSort/MainForm.cs b/source/ChanSort/MainForm.cs
index 9a1f59b..7cb1561 100644
--- a/source/ChanSort/MainForm.cs
+++ b/source/ChanSort/MainForm.cs
@@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Configuration;
using System.Drawing;
using System.Globalization;
using System.IO;
@@ -55,8 +56,8 @@ namespace ChanSort.Ui
public MainForm()
{
- if (!string.IsNullOrEmpty(Settings.Default.Language))
- Thread.CurrentThread.CurrentUICulture = new CultureInfo(Settings.Default.Language);
+ if (!string.IsNullOrEmpty(Config.Default.Language))
+ Thread.CurrentThread.CurrentUICulture = new CultureInfo(Config.Default.Language);
this.LookAndFeel.SetSkinStyle("Office 2010 Blue");
InitializeComponent();
@@ -69,8 +70,8 @@ namespace ChanSort.Ui
foreach (GridColumn col in this.gviewRight.Columns)
col.Tag = col.Visible;
- if (!Settings.Default.WindowSize.IsEmpty)
- this.Size = Settings.Default.WindowSize;
+ if (!Config.Default.WindowSize.IsEmpty)
+ this.Size = Config.Default.WindowSize;
this.title = string.Format(base.Text, AppVersion);
base.Text = title;
this.Plugins = this.LoadSerializerPlugins();
@@ -152,7 +153,7 @@ namespace ChanSort.Ui
}
}
- if (Settings.Default.CheckForUpdates)
+ if (Config.Default.CheckForUpdates)
this.BeginInvoke((Action) UpdateCheck.CheckForNewVersion);
}
@@ -185,6 +186,7 @@ namespace ChanSort.Ui
HandleException(new IOException("Plugin " + file + "\n" + ex.Message, ex));
}
}
+ list.Sort((a, b) => a.PluginName.CompareTo(b.PluginName));
return list;
}
@@ -223,13 +225,11 @@ namespace ChanSort.Ui
numberOfFilters = 0;
var filter = new StringBuilder();
var extension = new StringBuilder();
- var sortedPlugins = this.Plugins.ToList();
- sortedPlugins.Sort((a, b) => a.PluginName.CompareTo(b.PluginName));
- foreach (var plugin in sortedPlugins)
+ foreach (var plugin in this.Plugins)
{
filter.Append(plugin.PluginName).Append("|").Append(plugin.FileFilter);
filter.Append("|");
- if (!(";" + extension + ";").Contains(plugin.FileFilter))
+ if (!(";" + extension + ";").Contains(";" + plugin.FileFilter + ";"))
{
extension.Append(plugin.FileFilter);
extension.Append(";");
@@ -1243,31 +1243,26 @@ namespace ChanSort.Ui
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);
+ if (!string.IsNullOrEmpty(Config.Default.Encoding))
+ this.defaultEncoding = Encoding.GetEncoding(Config.Default.Encoding);
- var width = Settings.Default.LeftPanelWidth;
+ var width = Config.Default.LeftPanelWidth;
if (width > 0)
this.splitContainerControl1.SplitterPosition = width;
this.SelectLanguageMenuItem();
- //this.SetGridLayout(this.gviewLeft, Settings.Default.OutputListLayout);
+ //this.SetGridLayout(this.gviewLeft, Config.Default.OutputListLayout);
- this.miShowWarningsAfterLoad.Checked = Settings.Default.ShowWarningsAfterLoading;
- this.cbCloseGap.Checked = Settings.Default.CloseGaps;
+ this.miShowWarningsAfterLoad.Checked = Config.Default.ShowWarningsAfterLoading;
+ this.cbCloseGap.Checked = Config.Default.CloseGaps;
this.ClearLeftFilter();
this.ClearRightFilter();
-
- for (var i = MaxMruEntries - 1; i >= 0; i--)
- {
- var prop = Settings.Default.GetType().GetProperty("MruFile" + i);
- if (prop != null)
- this.AddFileToMruList((string) prop.GetValue(Settings.Default, null));
- }
+ foreach(var path in Config.Default.MruFiles)
+ this.AddFileToMruList(path);
this.UpdateMruMenu();
- this.miExplorerIntegration.Down = Settings.Default.ExplorerIntegration;
- this.miCheckUpdates.Down = Settings.Default.CheckForUpdates;
+ this.miExplorerIntegration.Down = Config.Default.ExplorerIntegration;
+ this.miCheckUpdates.Down = Config.Default.CheckForUpdates;
}
#endregion
@@ -1279,7 +1274,7 @@ namespace ChanSort.Ui
this.barManager1.ForceLinkCreate();
foreach (BarItemLink itemLink in this.barSubItem1.ItemLinks)
{
- if (Settings.Default.Language.StartsWith((string) itemLink.Item.Tag))
+ if (Config.Default.Language.StartsWith((string) itemLink.Item.Tag))
{
this.ignoreLanguageChange = true;
((BarButtonItem) itemLink.Item).Down = true;
@@ -1409,11 +1404,11 @@ namespace ChanSort.Ui
string newLayout;
var newSource = list.SignalSource;
if ((newSource & SignalSource.Analog) != 0)
- newLayout = Settings.Default.InputGridLayoutAnalog;
+ newLayout = Config.Default.InputGridLayoutAnalog;
else if ((newSource & SignalSource.DvbS) != 0)
- newLayout = Settings.Default.InputGridLayoutDvbS;
+ newLayout = Config.Default.InputGridLayoutDvbS;
else
- newLayout = Settings.Default.InputGridLayoutDvbCT;
+ newLayout = Config.Default.InputGridLayoutDvbCT;
if (!string.IsNullOrEmpty(newLayout))
this.SetGridLayout(this.gviewRight, newLayout);
#endif
@@ -1441,11 +1436,11 @@ namespace ChanSort.Ui
{
var currentLayout = GetGridLayout(this.gviewRight);
if ((signalSource & SignalSource.Analog) != 0)
- Settings.Default.InputGridLayoutAnalog = currentLayout;
+ Config.Default.InputGridLayoutAnalog = currentLayout;
else if ((signalSource & SignalSource.DvbS) != 0)
- Settings.Default.InputGridLayoutDvbS = currentLayout;
+ Config.Default.InputGridLayoutDvbS = currentLayout;
else //if ((signalSource & SignalSource.DvbCT) != 0)
- Settings.Default.InputGridLayoutDvbCT = currentLayout;
+ Config.Default.InputGridLayoutDvbCT = currentLayout;
}
#endregion
@@ -2597,21 +2592,21 @@ namespace ChanSort.Ui
this.gviewRight.PostEditor();
this.gviewLeft.PostEditor();
- Settings.Default.WindowSize = this.WindowState == FormWindowState.Normal ? this.Size : this.RestoreBounds.Size;
- Settings.Default.Encoding = this.defaultEncoding.WebName;
- Settings.Default.Language = Thread.CurrentThread.CurrentUICulture.Name;
- Settings.Default.LeftPanelWidth = this.splitContainerControl1.SplitterPosition;
- Settings.Default.OutputListLayout = GetGridLayout(this.gviewLeft);
+ Config.Default.WindowSize = this.WindowState == FormWindowState.Normal ? this.Size : this.RestoreBounds.Size;
+ Config.Default.Encoding = this.defaultEncoding.WebName;
+ Config.Default.Language = Thread.CurrentThread.CurrentUICulture.Name;
+ Config.Default.LeftPanelWidth = this.splitContainerControl1.SplitterPosition;
+ Config.Default.OutputListLayout = GetGridLayout(this.gviewLeft);
if (this.CurrentChannelList != null)
SaveInputGridLayout(this.CurrentChannelList.SignalSource);
- Settings.Default.ShowWarningsAfterLoading = this.miShowWarningsAfterLoad.Checked;
- Settings.Default.CloseGaps = this.cbCloseGap.Checked;
- for (var i = 0; i < this.mruFiles.Count; i++)
- Settings.Default.GetType().GetProperty("MruFile" + i).SetValue(Settings.Default, this.mruFiles[i], null);
- Settings.Default.ExplorerIntegration = this.miExplorerIntegration.Down;
- Settings.Default.CheckForUpdates = this.miCheckUpdates.Down;
+ Config.Default.ShowWarningsAfterLoading = this.miShowWarningsAfterLoad.Checked;
+ Config.Default.CloseGaps = this.cbCloseGap.Checked;
+ Config.Default.MruFiles.Clear();
+ Config.Default.MruFiles.AddRange(this.mruFiles);
+ Config.Default.ExplorerIntegration = this.miExplorerIntegration.Down;
+ Config.Default.CheckForUpdates = this.miCheckUpdates.Down;
- Settings.Default.Save();
+ Config.Default.Save();
}
private string GetGridLayout(GridView grid)
@@ -2954,7 +2949,7 @@ namespace ChanSort.Ui
{
try
{
- if (this.miExplorerIntegration.Down == Settings.Default.ExplorerIntegration)
+ if (this.miExplorerIntegration.Down == Config.Default.ExplorerIntegration)
return;
// get all file extensions from loader plugins
@@ -2989,7 +2984,7 @@ namespace ChanSort.Ui
{
try
{
- if (this.miCheckUpdates.Down == Settings.Default.CheckForUpdates)
+ if (this.miCheckUpdates.Down == Config.Default.CheckForUpdates)
return;
if (this.miCheckUpdates.Down)
diff --git a/source/ChanSort/Printing/ReportOptionsDialog.cs b/source/ChanSort/Printing/ReportOptionsDialog.cs
index 51af713..b1e62b3 100644
--- a/source/ChanSort/Printing/ReportOptionsDialog.cs
+++ b/source/ChanSort/Printing/ReportOptionsDialog.cs
@@ -1,6 +1,7 @@
using System;
using System.Drawing;
using ChanSort.Api;
+using ChanSort.Ui.Properties;
using DevExpress.LookAndFeel;
using DevExpress.XtraEditors;
using DevExpress.XtraReports.UI;
@@ -17,18 +18,18 @@ namespace ChanSort.Ui.Printing
InitializeComponent();
this.channelList = channelList;
this.subListIndex = subListIndex;
- if (Properties.Settings.Default.PrintSortByName)
+ if (Config.Default.PrintSortByName)
this.rbSortByName.Checked = true;
- this.fontEdit1.EditValue = Properties.Settings.Default.PrintFontName;
- this.spinFontSize.Value = Properties.Settings.Default.PrintFontSize;
+ this.fontEdit1.EditValue = Config.Default.PrintFontName;
+ this.spinFontSize.Value = Config.Default.PrintFontSize;
}
private void btnPreview_Click(object sender, EventArgs e)
{
- Properties.Settings.Default.PrintFontName = (string)this.fontEdit1.EditValue;
- Properties.Settings.Default.PrintFontSize = this.spinFontSize.Value;
- Properties.Settings.Default.PrintSortByName = this.rbSortByNumber.Checked;
- Properties.Settings.Default.Save();
+ Config.Default.PrintFontName = (string)this.fontEdit1.EditValue;
+ Config.Default.PrintFontSize = this.spinFontSize.Value;
+ Config.Default.PrintSortByName = this.rbSortByNumber.Checked;
+ Config.Default.Save();
using (var font = new Font(this.fontEdit1.Text, (float)this.spinFontSize.Value))
using (var report = new ChannelListReport(this.channelList, this.subListIndex, this.rbSortByName.Checked, font))
diff --git a/source/ChanSort/Properties/Config.cs b/source/ChanSort/Properties/Config.cs
new file mode 100644
index 0000000..4a3ad10
--- /dev/null
+++ b/source/ChanSort/Properties/Config.cs
@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.IO;
+using System.Xml.Serialization;
+
+namespace ChanSort.Ui.Properties
+{
+ public class Config
+ {
+ private static readonly XmlSerializer Serializer;
+ private static readonly string ConfigFilePath;
+
+ #region static ctor()
+ static Config()
+ {
+ Serializer = new XmlSerializer(typeof(Config));
+
+ try
+ {
+ ConfigFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "ChanSort", "config.xml");
+ if (File.Exists(ConfigFilePath))
+ {
+ using (var stream = new StreamReader(ConfigFilePath, System.Text.Encoding.UTF8))
+ Default = (Config)Serializer.Deserialize(stream);
+ return;
+ }
+ }
+ catch
+ {
+ // ignore
+ }
+
+ Default = new Config();
+ }
+ #endregion
+
+ public static Config Default { get; set; }
+
+ public string OutputListLayout { get; set; } = "";
+ public string Language { get; set; } = "";
+ public string Encoding { get; set; } = "";
+ public Size WindowSize { get; set; } = new Size(0,0);
+ public string InputGridLayoutAnalog { get; set; } = "";
+ public string InputGridLayoutDvbCT { get; set; } = "";
+ public string InputGridLayoutDvbS { get; set; } = "";
+ public int LeftPanelWidth { get; set; } = 0;
+ public bool ShowWarningsAfterLoading { get; set; } = false;
+ public bool CloseGaps { get; set; } = true;
+ [XmlArray("MruFiles")]
+ public List MruFiles { get; set; } = new List();
+ public string PrintFontName { get; set; } = "Tahoma";
+ public decimal PrintFontSize { get; set; } = 12;
+ public bool PrintSortByName { get; set; } = false;
+ public bool ExplorerIntegration { get; set; } = false;
+ public bool CheckForUpdates { get; set; } = true;
+
+ public void Save()
+ {
+ using (var stream = new FileStream(ConfigFilePath, FileMode.Create))
+ using (var writer = new StreamWriter(stream, System.Text.Encoding.UTF8))
+ {
+ Serializer.Serialize(writer, this);
+ }
+ }
+ }
+}
diff --git a/source/ChanSort/Properties/Settings.Designer.cs b/source/ChanSort/Properties/Settings.Designer.cs
index 17667cb..b4e9114 100644
--- a/source/ChanSort/Properties/Settings.Designer.cs
+++ b/source/ChanSort/Properties/Settings.Designer.cs
@@ -22,473 +22,5 @@ namespace ChanSort.Ui.Properties {
return defaultInstance;
}
}
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0")]
- public int InputListRowHandle {
- get {
- return ((int)(this["InputListRowHandle"]));
- }
- set {
- this["InputListRowHandle"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0")]
- public int OutputListRowHandle {
- get {
- return ((int)(this["OutputListRowHandle"]));
- }
- set {
- this["OutputListRowHandle"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string OutputListLayout {
- get {
- return ((string)(this["OutputListLayout"]));
- }
- set {
- this["OutputListLayout"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputFilterName {
- get {
- return ((string)(this["InputFilterName"]));
- }
- set {
- this["InputFilterName"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputFilterOldSlot {
- get {
- return ((string)(this["InputFilterOldSlot"]));
- }
- set {
- this["InputFilterOldSlot"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputFilterCrypt {
- get {
- return ((string)(this["InputFilterCrypt"]));
- }
- set {
- this["InputFilterCrypt"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputFilterNewSlot {
- get {
- return ((string)(this["InputFilterNewSlot"]));
- }
- set {
- this["InputFilterNewSlot"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputFilterChannel {
- get {
- return ((string)(this["InputFilterChannel"]));
- }
- set {
- this["InputFilterChannel"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputFilterUid {
- get {
- return ((string)(this["InputFilterUid"]));
- }
- set {
- this["InputFilterUid"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string OutputFilterName {
- get {
- return ((string)(this["OutputFilterName"]));
- }
- set {
- this["OutputFilterName"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string Language {
- get {
- return ((string)(this["Language"]));
- }
- set {
- this["Language"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string OutputFilterNewSlot {
- get {
- return ((string)(this["OutputFilterNewSlot"]));
- }
- set {
- this["OutputFilterNewSlot"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string Encoding {
- get {
- return ((string)(this["Encoding"]));
- }
- set {
- this["Encoding"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("False")]
- public bool HideLeftList {
- get {
- return ((bool)(this["HideLeftList"]));
- }
- set {
- this["HideLeftList"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0, 0")]
- public global::System.Drawing.Size WindowSize {
- get {
- return ((global::System.Drawing.Size)(this["WindowSize"]));
- }
- set {
- this["WindowSize"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputGridLayoutAnalog {
- get {
- return ((string)(this["InputGridLayoutAnalog"]));
- }
- set {
- this["InputGridLayoutAnalog"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputGridLayoutDvbCT {
- get {
- return ((string)(this["InputGridLayoutDvbCT"]));
- }
- set {
- this["InputGridLayoutDvbCT"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string InputGridLayoutDvbS {
- get {
- return ((string)(this["InputGridLayoutDvbS"]));
- }
- set {
- this["InputGridLayoutDvbS"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0")]
- public int LeftPanelWidth {
- get {
- return ((int)(this["LeftPanelWidth"]));
- }
- set {
- this["LeftPanelWidth"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("False")]
- public bool ShowWarningsAfterLoading {
- get {
- return ((bool)(this["ShowWarningsAfterLoading"]));
- }
- set {
- this["ShowWarningsAfterLoading"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool EraseDuplicateChannels {
- get {
- return ((bool)(this["EraseDuplicateChannels"]));
- }
- set {
- this["EraseDuplicateChannels"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool AutoLoadRefList {
- get {
- return ((bool)(this["AutoLoadRefList"]));
- }
- set {
- this["AutoLoadRefList"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool AutoAppendUnsortedChannels {
- get {
- return ((bool)(this["AutoAppendUnsortedChannels"]));
- }
- set {
- this["AutoAppendUnsortedChannels"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool CloseGaps {
- get {
- return ((bool)(this["CloseGaps"]));
- }
- set {
- this["CloseGaps"] = value;
- }
- }
-
- [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;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string MruFile5 {
- get {
- return ((string)(this["MruFile5"]));
- }
- set {
- this["MruFile5"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string MruFile6 {
- get {
- return ((string)(this["MruFile6"]));
- }
- set {
- this["MruFile6"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string MruFile7 {
- get {
- return ((string)(this["MruFile7"]));
- }
- set {
- this["MruFile7"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string MruFile8 {
- get {
- return ((string)(this["MruFile8"]));
- }
- set {
- this["MruFile8"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string MruFile9 {
- get {
- return ((string)(this["MruFile9"]));
- }
- set {
- this["MruFile9"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("Tahoma")]
- public string PrintFontName {
- get {
- return ((string)(this["PrintFontName"]));
- }
- set {
- this["PrintFontName"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("12")]
- public decimal PrintFontSize {
- get {
- return ((decimal)(this["PrintFontSize"]));
- }
- set {
- this["PrintFontSize"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("False")]
- public bool PrintSortByName {
- get {
- return ((bool)(this["PrintSortByName"]));
- }
- set {
- this["PrintSortByName"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("False")]
- public bool ExplorerIntegration {
- get {
- return ((bool)(this["ExplorerIntegration"]));
- }
- set {
- this["ExplorerIntegration"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool CheckForUpdates {
- get {
- return ((bool)(this["CheckForUpdates"]));
- }
- set {
- this["CheckForUpdates"] = value;
- }
- }
}
}
diff --git a/source/ChanSort/Properties/Settings.settings b/source/ChanSort/Properties/Settings.settings
index bc8ca8e..8e615f2 100644
--- a/source/ChanSort/Properties/Settings.settings
+++ b/source/ChanSort/Properties/Settings.settings
@@ -1,123 +1,5 @@

-
+
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- False
-
-
- 0, 0
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- False
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tahoma
-
-
- 12
-
-
- False
-
-
- False
-
-
- True
-
-
+
\ No newline at end of file
diff --git a/source/ChanSort/app.config b/source/ChanSort/app.config
index 05b2ed6..229767b 100644
--- a/source/ChanSort/app.config
+++ b/source/ChanSort/app.config
@@ -2,130 +2,10 @@
-
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- False
-
-
- 0, 0
-
-
-
-
-
-
-
-
-
-
-
- 0
-
-
- False
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tahoma
-
-
- 12
-
-
- False
-
-
- False
-
-
- True
-
-
diff --git a/source/changelog.md b/source/changelog.md
index bb8a6af..c1e27ff 100644
--- a/source/changelog.md
+++ b/source/changelog.md
@@ -1,6 +1,12 @@
ChanSort Change Log
===================
+2019-07-20
+- user settings are now persisted across releases in %LOCALAPPDATA%\ChanSort\config.xml
+- fixed Sony sdb.xml DVB-T channel lists
+- added support for ITT, Medion, Nabo, ok., PEAQ, Schaub-Lorenz and Telefunken (same .sdx format as Silva-Schneider)
+- fixed using wrong loader when the file type was manually selected in the "Open File" dialog
+
2019-07-18
- fixed support for Sony "FormateVer 1.1.0" DVB-C channel lists