- added function to mark a channel for swapping + swap with current channel

- replaced misuse of "FileLoadException" with a custom LoaderException to handle file loading issues with better continue/fail logic
- removed "Save As" and replaced it with "Convert list" menu item that shows information on how to use a reference list instead of direct conversion
This commit is contained in:
Horst Beham
2022-11-29 14:56:23 +01:00
parent 954b44ed7a
commit 4a1a39b1e7
60 changed files with 5295 additions and 3841 deletions

View File

@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
@@ -127,19 +126,19 @@ class Serializer : SerializerBase
doc.Load(this.FileName);
var sl = doc["servicelist"];
if (sl == null)
throw new FileLoadException("expected root element <servicelist>");
throw LoaderException.TryNext("expected root element <servicelist>");
var tuners = sl["tuners"];
if (tuners == null)
throw new FileLoadException("missing <tuners> list");
throw LoaderException.TryNext("missing <tuners> list");
var services = sl["services"];
if (services == null)
throw new FileLoadException("missing <services> list");
throw LoaderException.TryNext("missing <services> list");
var favorites = sl["favorites"];
if (favorites == null)
throw new FileLoadException("missing <favorites> list");
throw LoaderException.TryNext("missing <favorites> list");
LoadTuners(tuners);
LoadServices(services);