mirror of
https://github.com/PredatH0r/ChanSort.git
synced 2026-01-17 21:02:04 +01:00
- when appending unsorted channels during save, they are now set to
"hidden" and "skipped/unselectable" - reference lists: the satellite orbital position is no longer used to match channels. (Samsung J series does not provide that info). - Samsung J series: favorite lists are no longer individually sortable. (The same Pr# is used for all favorite lists). - Samsung J series: deleting channels now physically removes them from the file. (The TV might automatically append them again when it finds them in the DVB data stream). - Samsung J series: editing of channel names is now enabled. - Samsung J series: favorite E is now also available
This commit is contained in:
@@ -66,6 +66,8 @@ namespace ChanSort.Api
|
||||
int programNr;
|
||||
if (!int.TryParse(parts[1], out programNr)) return;
|
||||
string uid = parts[3];
|
||||
if (uid.StartsWith("S")) // remove satellite orbital position from UID ... not all TV models provide this information
|
||||
uid = "S" + uid.Substring(uid.IndexOf('-'));
|
||||
SignalSource signalSource = GetSignalSource(ref programNr, uid, parts);
|
||||
if (signalSource == 0)
|
||||
return;
|
||||
|
||||
@@ -271,8 +271,13 @@ namespace ChanSort.Api
|
||||
if (appChannel.RecordIndex < 0)
|
||||
continue;
|
||||
|
||||
if (appChannel.NewProgramNr == -1 && mode == UnsortedChannelMode.MarkDeleted)
|
||||
continue;
|
||||
if (appChannel.NewProgramNr == -1)
|
||||
{
|
||||
if (mode == UnsortedChannelMode.MarkDeleted)
|
||||
continue;
|
||||
appChannel.Hidden = true;
|
||||
appChannel.Skip = true;
|
||||
}
|
||||
|
||||
int progNr = GetNewPogramNr(appChannel, ref maxProgNr);
|
||||
appChannel.NewProgramNr = progNr;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace ChanSort.Api
|
||||
{
|
||||
public class SupportedFeatures
|
||||
{
|
||||
public bool ChannelNameEdit { get; set; }
|
||||
public ChannelNameEditMode ChannelNameEdit { get; set; }
|
||||
public bool CleanUpChannelData { get; set; }
|
||||
public bool DeviceSettings { get; set; }
|
||||
public bool CanDeleteChannels { get; set; }
|
||||
|
||||
@@ -98,7 +98,7 @@ namespace ChanSort.Api
|
||||
if ((this.SignalSource & SignalSource.Digital) == 0)
|
||||
this.uid = "A-0-" + (int)(this.FreqInMhz*20) + "-0";
|
||||
else if ((this.SignalSource & SignalSource.Sat) != 0)
|
||||
this.uid = "S" + this.SatPosition + "-" + this.OriginalNetworkId + "-" + this.TransportStreamId + "-" + this.ServiceId;
|
||||
this.uid = "S" + /*this.SatPosition + */ "-" + this.OriginalNetworkId + "-" + this.TransportStreamId + "-" + this.ServiceId;
|
||||
else
|
||||
this.uid = "C-" + this.OriginalNetworkId + "-" + this.TransportStreamId + "-" + this.ServiceId + "-" + this.ChannelOrTransponder;
|
||||
}
|
||||
|
||||
@@ -70,4 +70,13 @@ namespace ChanSort.Api
|
||||
AppendAlphabetically=1,
|
||||
MarkDeleted=2
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum ChannelNameEditMode
|
||||
{
|
||||
None = 0x00,
|
||||
Analog = 0x01,
|
||||
Digital = 0x02,
|
||||
All = Analog|Digital
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace ChanSort.Loader.GlobalClone
|
||||
#region ctor()
|
||||
public GcSerializer(string inputFile) : base(inputFile)
|
||||
{
|
||||
this.Features.ChannelNameEdit = false;
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
|
||||
//this.Features.CanDeleteChannels = false;
|
||||
|
||||
this.DataRoot.AddChannelList(this.atvChannels);
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace ChanSort.Loader.LG
|
||||
#region ctor()
|
||||
public TllFileSerializer(string inputFile) : base(inputFile)
|
||||
{
|
||||
this.Features.ChannelNameEdit = true;
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.Analog;
|
||||
this.Features.DeviceSettings = true;
|
||||
this.Features.CleanUpChannelData = true;
|
||||
this.SupportedTvCountryCodes = new List<string>
|
||||
|
||||
@@ -307,7 +307,7 @@ namespace ChanSort.Loader.Panasonic
|
||||
{
|
||||
DepencencyChecker.AssertVc2010RedistPackageX86Installed();
|
||||
|
||||
this.Features.ChannelNameEdit = false; // due to the chaos with binary data inside the "sname" string column, writing back a name has undesired side effects
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.None; // due to the chaos with binary data inside the "sname" string column, writing back a name has undesired side effects
|
||||
this.Features.CanHaveGaps = false;
|
||||
this.DataRoot.SortedFavorites = true;
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace ChanSort.Loader.Samsung
|
||||
public ScmSerializer(string inputFile) : base(inputFile)
|
||||
{
|
||||
this.ReadConfigurationFromIniFile();
|
||||
this.Features.ChannelNameEdit = true;
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
|
||||
this.Features.CleanUpChannelData = true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -6,7 +6,11 @@ namespace ChanSort.Loader.SamsungJ
|
||||
{
|
||||
internal class DbChannel : ChannelInfo
|
||||
{
|
||||
#if INDIVIDUALLY_SORTED_FAVS
|
||||
internal Dictionary<int,int> OriginalFavIndex = new Dictionary<int, int>();
|
||||
#else
|
||||
internal Favorites OriginalFavs;
|
||||
#endif
|
||||
|
||||
#region ctor()
|
||||
internal DbChannel(SQLiteDataReader r, IDictionary<string, int> field, DataRoot dataRoot, Dictionary<long, string> providers, Satellite sat, Transponder tp)
|
||||
@@ -43,6 +47,8 @@ namespace ChanSort.Loader.SamsungJ
|
||||
this.ReadDvbData(r, field, dataRoot, providers);
|
||||
else
|
||||
this.ReadAnalogData(r, field);
|
||||
|
||||
base.IsDeleted = this.OldProgramNr == -1;
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -67,24 +73,6 @@ namespace ChanSort.Loader.SamsungJ
|
||||
this.VideoPid = r.GetInt32(field["vidPid"]);
|
||||
if (!r.IsDBNull(field["provId"]))
|
||||
this.Provider = providers.TryGet(r.GetInt64(field["provId"]));
|
||||
if ((this.SignalSource & SignalSource.Sat) != 0)
|
||||
{
|
||||
|
||||
//int satId = r.GetInt32(field["sat_id"]);
|
||||
//var sat = dataRoot.Satellites.TryGet(satId);
|
||||
//if (sat != null)
|
||||
//{
|
||||
// this.Satellite = sat.Name;
|
||||
// this.SatPosition = sat.OrbitalPosition;
|
||||
// int tpId = satId * 1000000 + (int)this.FreqInMhz;
|
||||
// var tp = dataRoot.Transponder.TryGet(tpId);
|
||||
// if (tp != null)
|
||||
// {
|
||||
// this.SymbolRate = tp.SymbolRate;
|
||||
// }
|
||||
//}
|
||||
}
|
||||
//this.Encrypted = encryptionInfo.TryGet(this.Uid);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -24,8 +24,10 @@ namespace ChanSort.Loader.SamsungJ
|
||||
{
|
||||
DepencencyChecker.AssertVc2010RedistPackageX86Installed();
|
||||
|
||||
this.Features.ChannelNameEdit = false;
|
||||
this.DataRoot.SortedFavorites = true;
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
|
||||
this.Features.CanDeleteChannels = true;
|
||||
this.DataRoot.SupportedFavorites = Favorites.A | Favorites.B | Favorites.C | Favorites.D | Favorites.E;
|
||||
this.DataRoot.SortedFavorites = false;
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -400,9 +402,13 @@ namespace ChanSort.Loader.SamsungJ
|
||||
continue;
|
||||
int fav = r.GetInt32(1) - 1;
|
||||
int pos = r.GetInt32(2);
|
||||
channel.FavIndex[fav] = channel.OriginalFavIndex[fav] = pos;
|
||||
if (pos >= 0)
|
||||
channel.Favorites |= (Favorites) (1 << fav);
|
||||
#if INDIVIDUALLY_SORTED_FAVS
|
||||
channel.FavIndex[fav] = channel.OriginalFavIndex[fav] = pos;
|
||||
#else
|
||||
channel.OriginalFavs = channel.Favorites;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -453,18 +459,19 @@ namespace ChanSort.Loader.SamsungJ
|
||||
using (var conn = new SQLiteConnection("Data Source=" + dbPath))
|
||||
{
|
||||
conn.Open();
|
||||
using (var cmd = conn.CreateCommand())
|
||||
using (var cmd2 = conn.CreateCommand())
|
||||
using (var cmd3 = conn.CreateCommand())
|
||||
using (var cmd4 = conn.CreateCommand())
|
||||
using (var cmdUpdateSrv = conn.CreateCommand())
|
||||
using (var cmdDeleteSrv = conn.CreateCommand())
|
||||
using (var cmdInsertFav = conn.CreateCommand())
|
||||
using (var cmdUpdateFav = conn.CreateCommand())
|
||||
using (var cmdDeleteFav = conn.CreateCommand())
|
||||
{
|
||||
using (var trans = conn.BeginTransaction())
|
||||
{
|
||||
this.PrepareCommands(cmd, cmd2, cmd3, cmd4);
|
||||
this.WriteChannels(cmd, cmd2, cmd3, cmd4, channelList);
|
||||
this.PrepareCommands(cmdUpdateSrv, cmdDeleteSrv, cmdInsertFav, cmdUpdateFav, cmdDeleteFav);
|
||||
this.WriteChannels(cmdUpdateSrv, cmdDeleteSrv, cmdInsertFav, cmdUpdateFav, cmdDeleteFav, channelList);
|
||||
trans.Commit();
|
||||
}
|
||||
this.RepairCorruptedDatabaseImage(cmd);
|
||||
this.RepairCorruptedDatabaseImage(cmdUpdateSrv);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -472,37 +479,43 @@ namespace ChanSort.Loader.SamsungJ
|
||||
#endregion
|
||||
|
||||
#region PrepareCommands()
|
||||
private void PrepareCommands(SQLiteCommand cmd, SQLiteCommand cmd2, SQLiteCommand cmd3, SQLiteCommand cmd4)
|
||||
private void PrepareCommands(SQLiteCommand cmdUpdateSrv, SQLiteCommand cmdDeleteSrv, SQLiteCommand cmdInsertFav, SQLiteCommand cmdUpdateFav, SQLiteCommand cmdDeleteFav)
|
||||
{
|
||||
cmd.CommandText = "update SRV set major=@nr, lockMode=@lock, hidden=@hidden, numSel=@numsel where srvId=@id";
|
||||
cmd.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@nr", DbType.Int32));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@lock", DbType.Boolean));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@hidden", DbType.Boolean));
|
||||
cmd.Parameters.Add(new SQLiteParameter("@numsel", DbType.Boolean));
|
||||
cmd.Prepare();
|
||||
cmdUpdateSrv.CommandText = "update SRV set major=@nr, lockMode=@lock, hideGuide=@hidden, hidden=@hidden, numSel=@numsel, srvName=@srvname where srvId=@id";
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@nr", DbType.Int32));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@lock", DbType.Boolean));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@hidden", DbType.Boolean));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@numsel", DbType.Boolean));
|
||||
cmdUpdateSrv.Parameters.Add(new SQLiteParameter("@srvname", DbType.Binary));
|
||||
cmdUpdateSrv.Prepare();
|
||||
|
||||
cmd2.CommandText = "insert into SRV_FAV (srvId, fav, pos) values (@id, @fav, @pos)";
|
||||
cmd2.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd2.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmd2.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmd2.Prepare();
|
||||
cmdDeleteSrv.CommandText = "delete from SRV where srvId=@id";
|
||||
cmdDeleteSrv.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdDeleteSrv.Prepare();
|
||||
|
||||
cmd3.CommandText = "update SRV_FAV set pos=@pos where srvId=@id and fav=@fav";
|
||||
cmd3.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd3.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmd3.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmd3.Prepare();
|
||||
cmdInsertFav.CommandText = "insert into SRV_FAV (srvId, fav, pos) values (@id, @fav, @pos)";
|
||||
cmdInsertFav.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdInsertFav.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmdInsertFav.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmdInsertFav.Prepare();
|
||||
|
||||
cmd4.CommandText = "delete from SRV_FAV where srvId=@id and fav=@fav";
|
||||
cmd4.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmd4.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmd4.Prepare();
|
||||
cmdUpdateFav.CommandText = "update SRV_FAV set pos=@pos where srvId=@id and fav=@fav";
|
||||
cmdUpdateFav.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdUpdateFav.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmdUpdateFav.Parameters.Add(new SQLiteParameter("@pos", DbType.Int32));
|
||||
cmdUpdateFav.Prepare();
|
||||
|
||||
cmdDeleteFav.CommandText = "delete from SRV_FAV where srvId=@id and fav=@fav";
|
||||
cmdDeleteFav.Parameters.Add(new SQLiteParameter("@id", DbType.Int64));
|
||||
cmdDeleteFav.Parameters.Add(new SQLiteParameter("@fav", DbType.Int32));
|
||||
cmdDeleteFav.Prepare();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region WriteChannels()
|
||||
private void WriteChannels(SQLiteCommand cmd, SQLiteCommand cmd2, SQLiteCommand cmd3, SQLiteCommand cmd4, ChannelList channelList, bool analog = false)
|
||||
private void WriteChannels(SQLiteCommand cmdUpdateSrv, SQLiteCommand cmdDeleteSrv, SQLiteCommand cmdInsertFav, SQLiteCommand cmdUpdateFav, SQLiteCommand cmdDeleteFav,
|
||||
ChannelList channelList, bool analog = false)
|
||||
{
|
||||
foreach (ChannelInfo channelInfo in channelList.Channels)
|
||||
{
|
||||
@@ -510,24 +523,38 @@ namespace ChanSort.Loader.SamsungJ
|
||||
if (channel == null) // ignore reference list proxy channels
|
||||
continue;
|
||||
channel.UpdateRawData();
|
||||
cmd.Parameters["@id"].Value = channel.RecordIndex;
|
||||
cmd.Parameters["@nr"].Value = channel.NewProgramNr;
|
||||
cmd.Parameters["@lock"].Value = channel.Lock;
|
||||
cmd.Parameters["@hidden"].Value = channel.Hidden;
|
||||
cmd.Parameters["@numsel"].Value = !channel.Skip;
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
for (int i=0; i<channel.FavIndex.Count; i++)
|
||||
if (channel.NewProgramNr < 0)
|
||||
{
|
||||
cmdDeleteSrv.Parameters["@id"].Value = channel.RecordIndex;
|
||||
cmdDeleteSrv.ExecuteNonQuery();
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdUpdateSrv.Parameters["@id"].Value = channel.RecordIndex;
|
||||
cmdUpdateSrv.Parameters["@nr"].Value = channel.NewProgramNr;
|
||||
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.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
for (int i=0, mask=1; i<5; i++, mask <<= 1)
|
||||
{
|
||||
#if INDIVIDUALLY_SORTED_FAVS
|
||||
int oldPos;
|
||||
if (!channel.OriginalFavIndex.TryGetValue(i, out oldPos))
|
||||
oldPos = -1;
|
||||
int newPos = channel.FavIndex[i];
|
||||
if (newPos == oldPos)
|
||||
continue;
|
||||
#else
|
||||
int oldPos = ((int)channel.OriginalFavs & mask) != 0 ? channel.OldProgramNr : -1;
|
||||
int newPos = ((int)channel.Favorites & mask) != 0 ? channel.NewProgramNr : -1;
|
||||
#endif
|
||||
if (newPos > 0)
|
||||
{
|
||||
var c = oldPos < 0 ? cmd2 : cmd3;
|
||||
var c = oldPos < 0 ? cmdInsertFav : cmdUpdateFav;
|
||||
c.Parameters["@id"].Value = channel.RecordIndex;
|
||||
c.Parameters["@fav"].Value = i + 1;
|
||||
c.Parameters["@pos"].Value = newPos;
|
||||
@@ -535,11 +562,12 @@ namespace ChanSort.Loader.SamsungJ
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd4.Parameters["@id"].Value = channel.RecordIndex;
|
||||
cmd4.Parameters["@fav"].Value = i + 1;
|
||||
cmd4.ExecuteNonQuery();
|
||||
cmdDeleteFav.Parameters["@id"].Value = channel.RecordIndex;
|
||||
cmdDeleteFav.Parameters["@fav"].Value = i + 1;
|
||||
cmdDeleteFav.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
channel.OriginalFavs = channel.Favorites;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace ChanSort.Loader.Toshiba
|
||||
{
|
||||
DepencencyChecker.AssertVc2010RedistPackageX86Installed();
|
||||
|
||||
this.Features.ChannelNameEdit = true;
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.All;
|
||||
|
||||
this.DataRoot.AddChannelList(this.atvChannels);
|
||||
this.DataRoot.AddChannelList(this.dtvTvChannels);
|
||||
|
||||
@@ -1,17 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using ChanSort.Api;
|
||||
|
||||
namespace ChanSort.Loader.VDR
|
||||
{
|
||||
class Serializer : SerializerBase
|
||||
{
|
||||
private const string ERR_FileFormat = "File uses an unknown format";
|
||||
|
||||
private readonly ChannelList allChannels = new ChannelList(SignalSource.DvbT | SignalSource.DvbC | SignalSource.DvbS | SignalSource.AnalogC | SignalSource.AnalogT | SignalSource.Tv | SignalSource.Radio, "All");
|
||||
|
||||
#region ctor()
|
||||
@@ -19,7 +13,7 @@ namespace ChanSort.Loader.VDR
|
||||
{
|
||||
DepencencyChecker.AssertVc2010RedistPackageX86Installed();
|
||||
|
||||
this.Features.ChannelNameEdit = false;
|
||||
this.Features.ChannelNameEdit = ChannelNameEditMode.None;
|
||||
this.DataRoot.SortedFavorites = false;
|
||||
//this.DataRoot.SupportedFavorites = new Favorites();
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace ChanSort.Ui
|
||||
{
|
||||
public partial class MainForm : XtraForm
|
||||
{
|
||||
public const string AppVersion = "v2015-06-05";
|
||||
public const string AppVersion = "v2015-06-13";
|
||||
|
||||
private const int MaxMruEntries = 10;
|
||||
|
||||
@@ -231,8 +231,6 @@ namespace ChanSort.Ui
|
||||
|
||||
//this.SetControlsEnabled(!this.dataRoot.IsEmpty);
|
||||
this.UpdateFavoritesEditor(this.dataRoot.SupportedFavorites);
|
||||
this.colName.OptionsColumn.AllowEdit = this.currentTvSerializer.Features.ChannelNameEdit;
|
||||
this.colOutName.OptionsColumn.AllowEdit = this.currentTvSerializer.Features.ChannelNameEdit;
|
||||
|
||||
if (this.dataRoot.Warnings.Length > 0 && this.miShowWarningsAfterLoad.Checked)
|
||||
this.BeginInvoke((Action)this.ShowFileInformation);
|
||||
@@ -574,6 +572,13 @@ namespace ChanSort.Ui
|
||||
this.LoadInputGridLayout(channelList.SignalSource);
|
||||
this.gridRight.DataSource = channelList.Channels;
|
||||
this.gridLeft.DataSource = channelList.Channels;
|
||||
|
||||
SignalSource src = 0;
|
||||
if ((this.currentTvSerializer.Features.ChannelNameEdit & ChannelNameEditMode.Analog) != 0)
|
||||
src |= SignalSource.Analog;
|
||||
if ((this.currentTvSerializer.Features.ChannelNameEdit & ChannelNameEditMode.Digital) != 0)
|
||||
src |= SignalSource.Digital;
|
||||
this.colName.OptionsColumn.AllowEdit = this.colOutName.OptionsColumn.AllowEdit = (channelList.SignalSource & src) != 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -593,6 +598,7 @@ namespace ChanSort.Ui
|
||||
this.gviewLeft.OptionsBehavior.Editable = allowEdit;
|
||||
this.gviewRight.OptionsBehavior.Editable = allowEdit;
|
||||
|
||||
|
||||
this.UpdateInsertSlotTextBox();
|
||||
this.UpdateMenu();
|
||||
}
|
||||
@@ -1401,6 +1407,7 @@ namespace ChanSort.Ui
|
||||
try
|
||||
{
|
||||
File.Copy(bakFile, this.currentTvFile, true);
|
||||
this.currentTvSerializer.DataRoot.NeedsSaving = false;
|
||||
if (this.currentPlugin != null)
|
||||
this.LoadFiles(this.currentPlugin, this.currentTvFile);
|
||||
}
|
||||
|
||||
@@ -626,8 +626,8 @@
|
||||
<assembly alias="DevExpress.XtraBars.v14.2" name="DevExpress.XtraBars.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<data name="barManager1.Categories" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
|
||||
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNC4yLCBWZXJzaW9uPTE0
|
||||
LjIuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEZpbGUE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
|
||||
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICKaPJ5gsBeU2NTSFe
|
||||
@@ -636,8 +636,8 @@
|
||||
</data>
|
||||
<data name="barManager1.Categories1" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
|
||||
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNC4yLCBWZXJzaW9uPTE0
|
||||
LjIuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEhlbHAE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
|
||||
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICdEVVDegwMU2acNpw
|
||||
@@ -646,8 +646,8 @@
|
||||
</data>
|
||||
<data name="barManager1.Categories2" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
|
||||
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNC4yLCBWZXJzaW9uPTE0
|
||||
LjIuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAABEVkaXQE/P///wtTeXN0ZW0uR3VpZAsAAAACX2ECX2IC
|
||||
X2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICZMTu18lZRU+IqmAu
|
||||
@@ -656,8 +656,8 @@
|
||||
</data>
|
||||
<data name="barManager1.Categories3" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
|
||||
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNC4yLCBWZXJzaW9uPTE0
|
||||
LjIuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAAB09wdGlvbnME/P///wtTeXN0ZW0uR3VpZAsAAAACX2EC
|
||||
X2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICXJMOh9nzAkKc
|
||||
@@ -666,8 +666,8 @@
|
||||
</data>
|
||||
<data name="barManager1.Categories4" type="DevExpress.XtraBars.BarManagerCategory, DevExpress.XtraBars.v14.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxMy4yLCBWZXJzaW9uPTEz
|
||||
LjIuOS4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAF1EZXZFeHByZXNzLlh0cmFCYXJzLnYxNC4yLCBWZXJzaW9uPTE0
|
||||
LjIuNy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEFAQAA
|
||||
ACZEZXZFeHByZXNzLlh0cmFCYXJzLkJhck1hbmFnZXJDYXRlZ29yeQMAAAAETmFtZQRHdWlkB1Zpc2li
|
||||
bGUBAwALU3lzdGVtLkd1aWQBAgAAAAYDAAAADUFjY2Vzc2liaWxpdHkE/P///wtTeXN0ZW0uR3VpZAsA
|
||||
AAACX2ECX2ICX2MCX2QCX2UCX2YCX2cCX2gCX2kCX2oCX2sAAAAAAAAAAAAAAAgHBwICAgICAgICeIvz
|
||||
@@ -1819,7 +1819,7 @@
|
||||
<value>DevExpress.XtraEditors.XtraForm, DevExpress.Utils.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
|
||||
</data>
|
||||
<data name="SharedImageCollection.Timestamp" type="System.DateTime, mscorlib">
|
||||
<value>08/21/2014 12:51:52</value>
|
||||
<value>06/13/2015 13:20:52</value>
|
||||
</data>
|
||||
<data name="SharedImageCollection.ImageSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>16, 16</value>
|
||||
@@ -2164,7 +2164,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="grpOutputList.Text" xml:space="preserve">
|
||||
<value>Sorted channels (.csv)</value>
|
||||
<value>Sorted channels</value>
|
||||
</data>
|
||||
<data name=">>grpOutputList.Name" xml:space="preserve">
|
||||
<value>grpOutputList</value>
|
||||
@@ -2707,7 +2707,7 @@
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="grpInputList.Text" xml:space="preserve">
|
||||
<value>All channels</value>
|
||||
<value>Original channels</value>
|
||||
</data>
|
||||
<data name=">>grpInputList.Name" xml:space="preserve">
|
||||
<value>grpInputList</value>
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v14.2, Version=14.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
ChanSort Change Log
|
||||
===================
|
||||
|
||||
2015-06-13
|
||||
- when appending unsorted channels during save, they are now set to
|
||||
"hidden" and "skipped/unselectable"
|
||||
- reference lists: the satellite orbital position is no longer used
|
||||
to match channels. (Samsung J series does not provide that info).
|
||||
- Samsung J series: favorite lists are no longer individually sortable.
|
||||
(The same Pr# is used for all favorite lists).
|
||||
- Samsung J series: deleting channels now physically removes them from
|
||||
the file. (The TV might automatically append them again when it finds
|
||||
them in the DVB data stream).
|
||||
- Samsung J series: editing of channel names is now enabled.
|
||||
- Samsung J series: favorite E is now also available
|
||||
|
||||
2015-06-05
|
||||
- added support for Samsung J-Series DVB-T and analog channel lists
|
||||
- fixed reference lists with Samsung J-Series
|
||||
|
||||
@@ -16,7 +16,8 @@ mkdir "%target%\ru" 2>nul
|
||||
xcopy /siy debug\de "%target%\de"
|
||||
xcopy /siy debug\pt "%target%\pt"
|
||||
copy DLL\ChanSort.resources.dll "%target%\ru"
|
||||
copy readme.txt "%target%"
|
||||
copy ..\readme.md "%target%\readme.txt"
|
||||
copy changelog.md "%target%\changelog.txt"
|
||||
for %%f in (Utils Data Printing XtraPrinting XtraReports XtraEditors XtraBars XtraGrid XtraLayout XtraTreeList) do call :copyDll %%f
|
||||
|
||||
cd ..
|
||||
|
||||
Reference in New Issue
Block a user