- added experimental support for Loewe / Hisense 2017 servicelist.db

file format
- show error message when trying to open a .zip file that doen't contain
  the expected files of a Samsung J series or Toshiba .zip channel list
- show error message when trying to open a broken .zip file, which is
  most likely caused by exporting to a USB stick formatted with NTFS
- allow changing the "crypt" flag for Samsung .scm lists
- iterating through loaders supporting a file extension till one can read the file
This commit is contained in:
hbeham
2017-06-08 20:01:42 +02:00
parent 16b3f3fbc0
commit 6cf02f4f90
38 changed files with 560 additions and 427 deletions

View File

@@ -50,6 +50,7 @@ namespace ChanSort.Api
public int ProgramNrPreset { get; set; }
public bool IsNameModified { get; set; }
public bool IsProxy => this.RecordIndex < 0;
#region ctor()
protected ChannelInfo()

View File

@@ -30,6 +30,11 @@ namespace ChanSort.Api
public int MaxChannelNameLength { get; set; }
public int PresetProgramNrCount { get; private set; }
public IList<string> VisibleColumnFieldNames;
/// <summary>
/// Set for helper lists used to manage favorites mixed from all input sources.
/// When true, the UI won't show the "Pr#" tab but will show "Fav A-D" tabs and a "Source" column.
/// </summary>
public bool IsMixedSourceFavoritesList { get; set; }
#region Caption

View File

@@ -22,6 +22,7 @@ namespace ChanSort.Api
public bool SortedFavorites { get; set; }
public bool MixedSourceFavorites { get; set; }
public bool AllowGapsInFavNumbers { get; set; }
public bool ShowDeletedChannels { get; set; }
public DataRoot()
{
@@ -105,10 +106,20 @@ namespace ChanSort.Api
#region ApplyCurrentProgramNumbers()
public void ApplyCurrentProgramNumbers()
{
int c = 0;
if (this.MixedSourceFavorites || this.SortedFavorites)
{
for (int m = (int) this.SupportedFavorites; m != 0; m >>= 1)
++c;
}
foreach (var list in this.ChannelLists)
{
foreach (var channel in list.Channels)
channel.NewProgramNr = channel.OldProgramNr;
{
for (int i=0; i<=c; i++)
channel.SetPosition(i, channel.GetOldPosition(i));
}
}
}
#endregion

View File

@@ -58,7 +58,9 @@ namespace ChanSort.Api
TivuSatD = Digital + Sat + TivuSat,
CanalDigitalSatD = Digital + Sat + CanalDigital,
DigitalPlusD = Digital + Sat + DigitalPlus,
CyfraPlusD = Digital + Sat + CyfraPlus
CyfraPlusD = Digital + Sat + CyfraPlus,
All = MaskAnalogDigital | MaskAntennaCableSat | MaskTvRadio
}
#endregion