diff --git a/source/ChanSort.Loader.Hisense/HisSerializer.cs b/source/ChanSort.Loader.Hisense/HisSerializer.cs
index 8976e98..bce34c5 100644
--- a/source/ChanSort.Loader.Hisense/HisSerializer.cs
+++ b/source/ChanSort.Loader.Hisense/HisSerializer.cs
@@ -34,6 +34,8 @@ namespace ChanSort.Loader.Hisense
#region ctor()
public HisSerializer(string inputFile) : base(inputFile)
{
+ DepencencyChecker.AssertVc2010RedistPackageX86Installed();
+
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
this.Features.CanDeleteChannels = false;
channelLists.Add(new ChannelList(SignalSource.Antenna | SignalSource.Analog | SignalSource.Digital | SignalSource.Radio | SignalSource.Tv, "Antenna"));
@@ -192,12 +194,16 @@ namespace ChanSort.Loader.Hisense
}
this.LoadSvlData(cmd, x, "svl_#_data_analog", "", (ci, r, i0) => { });
- this.LoadSvlData(cmd, x, "svl_#_data_dvb", ", b_free_ca_mode, s_svc_name", (ci, r, i0) =>
+ this.LoadSvlData(cmd, x, "svl_#_data_dvb", ", b_free_ca_mode, s_svc_name, cur_lcn", (ci, r, i0) =>
{
ci.Encrypted = r.GetBoolean(i0 + 0);
ci.ShortName = r.GetString(i0 + 1);
if ((ci.SignalSource & SignalSource.DvbT) == SignalSource.DvbT)
ci.ChannelOrTransponder = LookupData.Instance.GetDvbtTransponder(ci.FreqInMhz).ToString();
+
+ // make the current list read-only if LCN is used
+ if (r.GetInt32(i0 + 2) != 0)
+ this.channelLists[x - 1].ReadOnly = true;
});
}
}
diff --git a/source/ChanSort.Loader.SamsungJ/DbChannel.cs b/source/ChanSort.Loader.SamsungJ/DbChannel.cs
index 9102db2..a620378 100644
--- a/source/ChanSort.Loader.SamsungJ/DbChannel.cs
+++ b/source/ChanSort.Loader.SamsungJ/DbChannel.cs
@@ -73,13 +73,7 @@ namespace ChanSort.Loader.SamsungJ
this.VideoPid = r.GetInt32(field["vidPid"]);
if (!r.IsDBNull(field["provId"]))
this.Provider = providers.TryGet(r.GetInt64(field["provId"]));
- }
- #endregion
-
-
- #region UpdateRawData()
- public override void UpdateRawData()
- {
+ this.AddDebug(r.GetInt32(field["lcn"]).ToString());
}
#endregion
}
diff --git a/source/ChanSort.Loader.SamsungJ/DbSerializer.cs b/source/ChanSort.Loader.SamsungJ/DbSerializer.cs
index 340013d..e944336 100644
--- a/source/ChanSort.Loader.SamsungJ/DbSerializer.cs
+++ b/source/ChanSort.Loader.SamsungJ/DbSerializer.cs
@@ -25,7 +25,7 @@ namespace ChanSort.Loader.SamsungJ
DepencencyChecker.AssertVc2010RedistPackageX86Installed();
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
- this.Features.CanDeleteChannels = true;
+ this.Features.CanDeleteChannels = false;
this.DataRoot.SupportedFavorites = Favorites.A | Favorites.B | Favorites.C | Favorites.D | Favorites.E;
this.DataRoot.SortedFavorites = false;
}
@@ -56,6 +56,9 @@ namespace ChanSort.Loader.SamsungJ
foreach (var filePath in Directory.GetFiles(tempDir, "*."))
{
+ var filename = Path.GetFileName(filePath) ?? "";
+ if (filename.StartsWith("vconf_"))
+ continue;
try
{
using (var conn = new SQLiteConnection("Data Source=" + filePath))
@@ -265,7 +268,13 @@ namespace ChanSort.Loader.SamsungJ
"SRV.srvId", "major", "progNum", "cast(srvName as blob)", "srvType", "hidden", "scrambled", "lockMode", "numSel", // SRV
};
if (digital)
- fieldNames.AddRange(new[] { "onid", "tsid", "vidPid", "provId", "cast(shrtSrvName as blob)" }); // SRV_DVB
+ {
+ fieldNames.AddRange(new[] {"onid", "tsid", "vidPid", "provId", "cast(shrtSrvName as blob)", "lcn"}); // SRV_DVB
+
+ // make LCN-based channel lists read-only
+ cmd.CommandText = "select count(1) from SRV_DVB where lcn<>65535";
+ channelList.ReadOnly = (long)cmd.ExecuteScalar() > 0;
+ }
var sql = this.BuildQuery(table, fieldNames);
var fields = this.GetFieldMap(fieldNames);
@@ -497,22 +506,14 @@ namespace ChanSort.Loader.SamsungJ
private static SQLiteCommand PrepareDeleteCommand(SQLiteConnection conn, bool digital)
{
var cmd = conn.CreateCommand();
- cmd.CommandText = "select count(1) from sqlite_master where upper(name)='SRV_DVB_EXT' and type='table'";
- bool hasDvbExt = (long) cmd.ExecuteScalar() > 0;
-
- cmd.CommandText += "; delete from SRV_FAV where srvId=@id";
-
- if (digital)
+ var sql = new StringBuilder();
+ cmd.CommandText = "select name from sqlite_master where sql like '%srvId integer%' order by name desc";
+ using (var r = cmd.ExecuteReader())
{
- if (hasDvbExt)
- cmd.CommandText += "; delete from SRV_DVB_EXT where srvId=@id";
- cmd.CommandText += "; delete from SRV_DVB where srvId=@id";
+ while (r.Read())
+ sql.AppendLine($"; delete from {r.GetString(0)} where srvId=@id");
}
- else
- cmd.CommandText += "; delete from SRV_ANL where srvId=@id";
-
- cmd.CommandText = "delete from SRV where srvId=@id";
-
+ cmd.CommandText = sql.ToString();
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
cmd.Prepare();
return cmd;
@@ -559,7 +560,7 @@ namespace ChanSort.Loader.SamsungJ
var channel = channelInfo as DbChannel;
if (channel == null) // ignore reference list proxy channels
continue;
- channel.UpdateRawData();
+
if (channel.NewProgramNr < 0)
{
cmdDeleteSrv.Parameters["@id"].Value = channel.RecordIndex;
@@ -572,7 +573,7 @@ namespace ChanSort.Loader.SamsungJ
cmdUpdateSrv.Parameters["@lock"].Value = channel.Lock;
cmdUpdateSrv.Parameters["@hidden"].Value = channel.Hidden;
cmdUpdateSrv.Parameters["@numsel"].Value = !channel.Skip;
- cmdUpdateSrv.Parameters["@srvname"].Value = channel.Name == null ? null : Encoding.BigEndianUnicode.GetBytes(channel.Name);
+ cmdUpdateSrv.Parameters["@srvname"].Value = channel.Name == null ? (object)DBNull.Value : Encoding.BigEndianUnicode.GetBytes(channel.Name);
cmdUpdateSrv.ExecuteNonQuery();
}
diff --git a/source/ChanSort/ChanSort.csproj b/source/ChanSort/ChanSort.csproj
index 7563e7f..7d455e0 100644
--- a/source/ChanSort/ChanSort.csproj
+++ b/source/ChanSort/ChanSort.csproj
@@ -58,17 +58,14 @@
app.ico
-
False
-
False
-
False
@@ -76,8 +73,6 @@
False
-
-
False
@@ -88,12 +83,11 @@
False
-
-
-
+
+
diff --git a/source/ChanSort/GlobalImageCollection.cs b/source/ChanSort/GlobalImageCollection.cs
index d36a94f..55379bf 100644
--- a/source/ChanSort/GlobalImageCollection.cs
+++ b/source/ChanSort/GlobalImageCollection.cs
@@ -49,7 +49,12 @@ namespace ChanSort.Ui
//
// sharedImageCollection1
//
+ //
+ //
+ //
this.sharedImageCollection1.ImageSource.ImageStream = ((DevExpress.Utils.ImageCollectionStreamer)(resources.GetObject("sharedImageCollection1.ImageSource.ImageStream")));
+ this.sharedImageCollection1.ImageSource.Images.SetKeyName(36, "0036.png");
+ this.sharedImageCollection1.ImageSource.Images.SetKeyName(37, "0037.png");
this.sharedImageCollection1.ParentControl = null;
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1.ImageSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.sharedImageCollection1)).EndInit();
diff --git a/source/ChanSort/GlobalImageCollection.resx b/source/ChanSort/GlobalImageCollection.resx
index d58e237..cc67973 100644
--- a/source/ChanSort/GlobalImageCollection.resx
+++ b/source/ChanSort/GlobalImageCollection.resx
@@ -123,13 +123,13 @@
- AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxMy4yLCBWZXJzaW9uPTEzLjIu
- OS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYxNS4xLCBWZXJzaW9uPTE1LjEu
+ OC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABAAAAAQAAAACQUAAAAP
- BQAAABZkAAAC2AIAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8
+ BQAAAHdpAAAC2AIAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAACukAAArpAf11ztMAAAAHdElNRQfWAwEODCaDia/cAAACZ0lEQVQ4T82S7UsTUBSH
75eCCAx6oTAqg7BMRKjoQ6S9Oa1I10gzU8PUZmYpKEamy8gCX8iS2YxqiRmREMrUltEoLdSMps458wXU
EiW0UToNbdTTpaLtP6gDlwuXe57zO79zxP8RC1M7CCzqRSR0IZI7EepOvLO7CI4qRRGpxTejGRHTioiV
@@ -299,269 +299,292 @@
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
- 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
- AAAASUVORK5CYIIL
+ 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
+ SUVORK5CYIIL
- 08/21/2014 12:42:54
+ 11/27/2015 01:18:01
diff --git a/source/ChanSort/MainForm.Designer.cs b/source/ChanSort/MainForm.Designer.cs
index eacbeda..18322a3 100644
--- a/source/ChanSort/MainForm.Designer.cs
+++ b/source/ChanSort/MainForm.Designer.cs
@@ -95,6 +95,7 @@
this.colSignalSource = new DevExpress.XtraGrid.Columns.GridColumn();
this.lblHotkeyRight = new DevExpress.XtraEditors.LabelControl();
this.panelControl3 = new DevExpress.XtraEditors.PanelControl();
+ this.lblPredefinedList = new DevExpress.XtraEditors.LabelControl();
this.btnRemoveRight = new DevExpress.XtraEditors.SimpleButton();
this.btnAddAll = new DevExpress.XtraEditors.SimpleButton();
this.btnClearRightFilter = new DevExpress.XtraEditors.SimpleButton();
@@ -153,6 +154,7 @@
this.miCharsetForm = new DevExpress.XtraBars.BarButtonItem();
this.miIsoCharSets = new DevExpress.XtraBars.BarListItem();
this.miShowWarningsAfterLoad = new DevExpress.XtraBars.BarCheckItem();
+ this.miAllowEditPredefinedLists = new DevExpress.XtraBars.BarButtonItem();
this.mnuAccessibility = new DevExpress.XtraBars.BarSubItem();
this.mnuGotoChannelList = new DevExpress.XtraBars.BarSubItem();
this.mnuInputSource = new DevExpress.XtraBars.BarLinkContainerItem();
@@ -844,6 +846,7 @@
//
// panelControl3
//
+ this.panelControl3.Controls.Add(this.lblPredefinedList);
this.panelControl3.Controls.Add(this.btnRemoveRight);
this.panelControl3.Controls.Add(this.btnAddAll);
this.panelControl3.Controls.Add(this.btnClearRightFilter);
@@ -851,6 +854,13 @@
resources.ApplyResources(this.panelControl3, "panelControl3");
this.panelControl3.Name = "panelControl3";
//
+ // lblPredefinedList
+ //
+ this.lblPredefinedList.Appearance.Font = ((System.Drawing.Font)(resources.GetObject("lblPredefinedList.Appearance.Font")));
+ this.lblPredefinedList.Appearance.ForeColor = ((System.Drawing.Color)(resources.GetObject("lblPredefinedList.Appearance.ForeColor")));
+ resources.ApplyResources(this.lblPredefinedList, "lblPredefinedList");
+ this.lblPredefinedList.Name = "lblPredefinedList";
+ //
// btnRemoveRight
//
this.btnRemoveRight.ImageIndex = 11;
@@ -972,9 +982,10 @@
this.mnuInputSource,
this.mnuGotoFavList,
this.mnuFavList,
- this.miRussian});
+ this.miRussian,
+ this.miAllowEditPredefinedLists});
this.barManager1.MainMenu = this.bar1;
- this.barManager1.MaxItemId = 94;
+ this.barManager1.MaxItemId = 95;
this.barManager1.ShowFullMenus = true;
//
// bar1
@@ -1461,7 +1472,8 @@
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.miShowWarningsAfterLoad),
+ new DevExpress.XtraBars.LinkPersistInfo(this.miAllowEditPredefinedLists)});
this.mnuOptions.Name = "mnuOptions";
//
// barSubItem1
@@ -1556,6 +1568,15 @@
this.miShowWarningsAfterLoad.Id = 54;
this.miShowWarningsAfterLoad.Name = "miShowWarningsAfterLoad";
//
+ // miAllowEditPredefinedLists
+ //
+ this.miAllowEditPredefinedLists.ButtonStyle = DevExpress.XtraBars.BarButtonStyle.Check;
+ resources.ApplyResources(this.miAllowEditPredefinedLists, "miAllowEditPredefinedLists");
+ this.miAllowEditPredefinedLists.Id = 94;
+ this.miAllowEditPredefinedLists.ImageIndex = 37;
+ this.miAllowEditPredefinedLists.Name = "miAllowEditPredefinedLists";
+ this.miAllowEditPredefinedLists.DownChanged += new DevExpress.XtraBars.ItemClickEventHandler(this.miAllowEditPredefinedLists_DownChanged);
+ //
// mnuAccessibility
//
resources.ApplyResources(this.mnuAccessibility, "mnuAccessibility");
@@ -1813,7 +1834,7 @@
//
// defaultLookAndFeel1
//
- this.defaultLookAndFeel1.LookAndFeel.SkinName = "Office 2007 Blue";
+ this.defaultLookAndFeel1.LookAndFeel.SkinName = "Office 2010 Blue";
//
// grpTopPanel
//
@@ -1986,6 +2007,7 @@
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckedComboBoxEdit2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl3)).EndInit();
this.panelControl3.ResumeLayout(false);
+ this.panelControl3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.txtSetSlot.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picDonate.Properties)).EndInit();
@@ -2180,6 +2202,8 @@
private DevExpress.XtraBars.BarLinkContainerItem mnuFavList;
private DevExpress.XtraBars.BarButtonItem miRussian;
private DevExpress.XtraSplashScreen.SplashScreenManager splashScreenManager1;
+ private DevExpress.XtraEditors.LabelControl lblPredefinedList;
+ private DevExpress.XtraBars.BarButtonItem miAllowEditPredefinedLists;
}
}
diff --git a/source/ChanSort/MainForm.cs b/source/ChanSort/MainForm.cs
index 31f635e..3759180 100644
--- a/source/ChanSort/MainForm.cs
+++ b/source/ChanSort/MainForm.cs
@@ -25,7 +25,7 @@ namespace ChanSort.Ui
{
public partial class MainForm : XtraForm
{
- public const string AppVersion = "v2015-11-26";
+ public const string AppVersion = "v2015-11-27";
private const int MaxMruEntries = 10;
@@ -624,9 +624,7 @@ namespace ChanSort.Ui
if (gviewLeft.IsValidRowHandle(0))
this.SelectFocusedRow(this.gviewLeft, 0);
- bool allowEdit = channelList != null && !channelList.ReadOnly;
- this.gviewLeft.OptionsBehavior.Editable = allowEdit;
- this.gviewRight.OptionsBehavior.Editable = allowEdit;
+ UpdateGridReadOnly();
this.UpdateInsertSlotTextBox();
@@ -634,6 +632,23 @@ namespace ChanSort.Ui
}
#endregion
+ #region UpdateGridReadOnly
+ private void UpdateGridReadOnly()
+ {
+ bool allowEdit = !this.currentChannelList?.ReadOnly ?? true;
+ bool forceEdit = this.miAllowEditPredefinedLists.Down;
+
+ this.gviewLeft.OptionsBehavior.Editable = allowEdit || forceEdit;
+ this.gviewRight.OptionsBehavior.Editable = allowEdit || forceEdit;
+ this.gviewLeft.Appearance.Row.BackColor = this.gviewRight.Appearance.Row.BackColor = Color.MistyRose;
+ this.gviewLeft.Appearance.Empty.BackColor = this.gviewRight.Appearance.Empty.BackColor = Color.MistyRose;
+ this.gviewLeft.Appearance.Row.Options.UseBackColor = this.gviewRight.Appearance.Row.Options.UseBackColor = !allowEdit;
+ this.gviewLeft.Appearance.Empty.Options.UseBackColor = this.gviewRight.Appearance.Empty.Options.UseBackColor = !allowEdit;
+ this.lblPredefinedList.Visible = !(allowEdit || forceEdit);
+ }
+
+ #endregion
+
#region ShowSaveFileDialog()
private void ShowSaveFileDialog()
@@ -2579,8 +2594,14 @@ namespace ChanSort.Ui
TryExecute(this.editor.ApplyPrNrToFavLists);
this.RefreshGrid(this.gviewLeft, this.gviewRight);
}
+
#endregion
-
+ #region miAllowEditPredefinedLists_DownChanged
+ private void miAllowEditPredefinedLists_DownChanged(object sender, ItemClickEventArgs e)
+ {
+ TryExecute(this.UpdateGridReadOnly);
+ }
+ #endregion
}
}
diff --git a/source/ChanSort/MainForm.de.resx b/source/ChanSort/MainForm.de.resx
index 5106192..bd271ea 100644
--- a/source/ChanSort/MainForm.de.resx
+++ b/source/ChanSort/MainForm.de.resx
@@ -628,4 +628,19 @@
Service Typ
+
+ Diese vorprogrammierte Liste kann nicht bearbeitet werden.
+
+
+ Bei der Einrichtung ihres TVs wurde eine vordefinierte Senderliste gewählt.
+Das Ändern dieser Liste würde zu Fehlfunktionen des Geräts führen.
+Führen Sie bitte einen Sender-Vollsuchlauf aus und wählen Sie dabei keine
+speziellen Anbieter, Satelliten oder Länderlisten aus.
+
+
+ Bearbeiten vordefinierter Listen erlauben (GEFÄHRLICH)
+
+
+ Der Fernseher funktioniert dabei unter Umständen nicht mehr korrekt.
+
\ No newline at end of file
diff --git a/source/ChanSort/MainForm.resx b/source/ChanSort/MainForm.resx
index a5955d7..dd419d6 100644
--- a/source/ChanSort/MainForm.resx
+++ b/source/ChanSort/MainForm.resx
@@ -123,7 +123,7 @@
- 0, 108
+ 0, 110
361, 17
@@ -132,7 +132,7 @@
Fill
- 2, 53
+ 2, 54
Tahoma, 8.25pt, style=Bold
@@ -211,7 +211,7 @@
UID
- @Invariant
+
Lock
@@ -258,7 +258,7 @@
Numeric
- 449, 419
+ 449, 410
1
@@ -279,7 +279,7 @@
Bottom
- 2, 472
+ 2, 464
2, 2, 2, 2
@@ -315,7 +315,7 @@
6, 13
- 1474, 599
+ 1468, 593
Bottom, Left, Right
@@ -324,7 +324,7 @@
0, 5
- 1463, 0
+ 1457, 0
Pr#
@@ -342,7 +342,7 @@
0
- 1469, 22
+ 1463, 22
6
@@ -363,17 +363,17 @@
Top
- 0, 81
+ 0, 83
- 1474, 27
+ 1468, 27
10
Sub List
- @Invariant
+
False
@@ -466,37 +466,37 @@
&A
- @Invariant
+
&B
- @Invariant
+
&C
- @Invariant
+
&D
- @Invariant
+
&E
- @Invariant
+
Remove from Favorites
&A
- @Invariant
+
&B
- @Invariant
+
&C
- @Invariant
+
&D
- @Invariant
+
&E
- @Invariant
+
&Lock channel: on
@@ -535,16 +535,16 @@
&English
- @Invariant
+
&Deutsch
- @Invariant
+
Português
- @Invariant
+
ру́сский
- @Invariant
+
&Character set
@@ -560,6 +560,12 @@
Automatically show any warnings after opening a file
+
+ Allow editing predefined lists (DANGEROUS)
+
+
+ Your TV may malfunction when you edit a list with predefined channel numbers
+
&Accessibility
@@ -571,7 +577,7 @@
mnuInputSource
- @Invariant
+
Opens a submenu for the program of favorite list selection. This menu can be directly activated with the Shift+F1 key
@@ -580,7 +586,7 @@
mnuFavList
- @Invariant
+
Program list
@@ -630,7 +636,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4xLCBWZXJzaW9uPTE1
- LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ LjEuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
@@ -640,7 +646,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4xLCBWZXJzaW9uPTE1
- LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ LjEuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
@@ -650,7 +656,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4xLCBWZXJzaW9uPTE1
- LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ LjEuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
@@ -660,7 +666,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4xLCBWZXJzaW9uPTE1
- LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ LjEuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
@@ -670,7 +676,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNS4xLCBWZXJzaW9uPTE1
- LjEuNi4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
+ LjEuOC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA
AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz
@@ -684,7 +690,7 @@
0, 0
- 1474, 24
+ 1468, 26
barDockControlTop
@@ -702,10 +708,10 @@
Bottom
- 0, 599
+ 0, 593
- 1474, 0
+ 1468, 0
barDockControlBottom
@@ -723,10 +729,10 @@
Left
- 0, 24
+ 0, 26
- 0, 575
+ 0, 567
barDockControlLeft
@@ -744,10 +750,10 @@
Right
- 1474, 24
+ 1468, 26
- 0, 575
+ 0, 567
barDockControlRight
@@ -901,7 +907,7 @@
Top, Right
- 1296, 4
+ 1290, 4
Transparent
@@ -931,7 +937,7 @@
0, 33
- 1284, 0
+ 1278, 0
No channel lists
@@ -949,7 +955,7 @@
0
- 1290, 22
+ 1284, 22
5
@@ -1004,7 +1010,7 @@
\d{1,4}
- @Invariant
+
RegEx
@@ -1030,10 +1036,10 @@
Top
- 0, 24
+ 0, 26
- 1474, 57
+ 1468, 57
0
@@ -1650,6 +1656,12 @@
DevExpress.XtraBars.BarCheckItem, DevExpress.XtraBars.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ miAllowEditPredefinedLists
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
mnuAccessibility
@@ -1819,7 +1831,7 @@
DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
- 10/04/2015 16:31:34
+ 11/27/2015 01:36:55
16, 16
@@ -1865,7 +1877,7 @@
±E
- @Invariant
+
btnToggleFavE
@@ -1892,7 +1904,7 @@
±D
- @Invariant
+
btnToggleFavD
@@ -1919,7 +1931,7 @@
±C
- @Invariant
+
btnToggleFavC
@@ -1946,7 +1958,7 @@
±B
- @Invariant
+
btnToggleFavB
@@ -1973,7 +1985,7 @@
±A
- @Invariant
+
btnToggleFavA
@@ -2131,7 +2143,7 @@
Top
- 2, 20
+ 2, 21
449, 33
@@ -2158,7 +2170,7 @@
0, 0
- 453, 491
+ 453, 483
0
@@ -2180,12 +2192,12 @@
Panel1
- @Invariant
+
Fill
- 2, 53
+ 2, 54
Tahoma, 8.25pt, style=Bold
@@ -2435,7 +2447,7 @@
TS ID
- @Invariant
+
Transport Stream ID
@@ -2468,7 +2480,7 @@
Uid
- @Invariant
+
120
@@ -2506,7 +2518,7 @@
Signal source
- 1012, 419
+ 1005, 410
1
@@ -2527,7 +2539,7 @@
Bottom
- 2, 472
+ 2, 464
2, 2, 2, 2
@@ -2553,6 +2565,45 @@
1
+
+ Tahoma, 12pt, style=Bold
+
+
+ Maroon
+
+
+ 291, 7
+
+
+ 372, 19
+
+
+ 8
+
+
+ This is a predefined list and cannot be edited.
+
+
+ During the setup of your TV you selected a predefined channel list.
+Modifying such a list would cause your TV to malfunction.
+Please run a full channel scan on your TV and do not select any
+specific provider, satellite or country lists.
+
+
+ False
+
+
+ lblPredefinedList
+
+
+ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.1, Version=15.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ panelControl3
+
+
+ 0
+
34, 5
@@ -2578,7 +2629,7 @@
panelControl3
- 0
+ 1
Append all currently unsorted channels at the end of the list
@@ -2608,7 +2659,7 @@
panelControl3
- 1
+ 2
Remove channel filter criteria from complete channel list
@@ -2641,7 +2692,7 @@
panelControl3
- 2
+ 3
5, 5
@@ -2668,16 +2719,16 @@
panelControl3
- 3
+ 4
Top
- 2, 20
+ 2, 21
- 1012, 33
+ 1005, 33
0
@@ -2701,7 +2752,7 @@
0, 0
- 1016, 491
+ 1009, 483
0
@@ -2723,16 +2774,16 @@
Panel2
- @Invariant
+
- 1474, 491
+ 1468, 483
5
splitContainerControl1
- @Invariant
+
splitContainerControl1
diff --git a/source/ChanSort/Program.cs b/source/ChanSort/Program.cs
index e6efc71..2706d33 100644
--- a/source/ChanSort/Program.cs
+++ b/source/ChanSort/Program.cs
@@ -17,6 +17,7 @@ namespace ChanSort.Ui
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += Application_ThreadException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
+ DevExpress.Skins.SkinManager.EnableFormSkins();
do
{
ChangeLanguage = false;
diff --git a/source/Images/imagelist/0036.png b/source/Images/imagelist/0036.png
new file mode 100644
index 0000000..e26911b
Binary files /dev/null and b/source/Images/imagelist/0036.png differ
diff --git a/source/Images/imagelist/0037.png b/source/Images/imagelist/0037.png
new file mode 100644
index 0000000..60f3536
Binary files /dev/null and b/source/Images/imagelist/0037.png differ
diff --git a/source/changelog.md b/source/changelog.md
index dbae451..e50746b 100644
--- a/source/changelog.md
+++ b/source/changelog.md
@@ -1,6 +1,13 @@
ChanSort Change Log
===================
+2015-11-27
+- disable editing of predefined channel lists (based on LCN).
+ TVs can show erratic behavior when a predefined list is modified.
+ e.g. Samsung J built-in "Astra 19.2E" list, LG "Astra" or "Sky" lists, ...
+ (can be overridden in the Settings menu)
+- new skin
+
2015-11-26
- Samsung J series: file detection changed from channel_list_t\*.zip to \*.zip
- Toshiba: file detection changed from \*.zip to Hotel\*.zip