diff --git a/Vocaluxe/Base/CConfig.cs b/Vocaluxe/Base/CConfig.cs
index ecd3d5c1..9199d70f 100644
--- a/Vocaluxe/Base/CConfig.cs
+++ b/Vocaluxe/Base/CConfig.cs
@@ -121,19 +121,9 @@ namespace Vocaluxe.Base
public static bool LoadConfig()
{
- #region Inits
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(CSettings.sFileConfig);
- }
- catch (Exception e)
- {
- CLog.LogError("Error opening Config.xml " + CSettings.sFileConfig + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(CSettings.sFileConfig);
+ if (xmlReader == null)
return false;
- }
- #endregion Inits
string value = string.Empty;
diff --git a/Vocaluxe/Base/CFont.cs b/Vocaluxe/Base/CFont.cs
index dbdc14f9..b1c96f2b 100644
--- a/Vocaluxe/Base/CFont.cs
+++ b/Vocaluxe/Base/CFont.cs
@@ -673,17 +673,10 @@ namespace Vocaluxe.Base
///
private static bool LoadFontList()
{
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(System.IO.Path.Combine(CSettings.sFolderFonts, CSettings.sFileFonts));
- }
- catch (Exception e)
- {
- CLog.LogError("Error loading default fonts: " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(System.IO.Path.Combine(CSettings.sFolderFonts, CSettings.sFileFonts));
+ if (xmlReader == null)
return false;
- }
+
_Fonts.Clear();
string value = string.Empty;
diff --git a/Vocaluxe/Base/CLanguage.cs b/Vocaluxe/Base/CLanguage.cs
index 1c9b13ad..c81900b1 100644
--- a/Vocaluxe/Base/CLanguage.cs
+++ b/Vocaluxe/Base/CLanguage.cs
@@ -239,17 +239,9 @@ namespace Vocaluxe.Base
private static bool LoadPartyLanguageFile(int PartyModeID, string file)
{
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(file);
- }
- catch (Exception e)
- {
- CLog.LogError("Error opening Party Language File " + file + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(file);
+ if (xmlReader == null)
return false;
- }
string value = string.Empty;
if (xmlReader.GetValue("//resources/string[@name='language']", ref value, value))
@@ -295,17 +287,9 @@ namespace Vocaluxe.Base
SLanguage lang = new SLanguage();
lang.LanguageFilePath = Path.Combine(CSettings.sFolderLanguages, FileName);
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(lang.LanguageFilePath);
- }
- catch (Exception e)
- {
- CLog.LogError("Error opening Language File " + FileName + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(lang.LanguageFilePath);
+ if (xmlReader == null)
return;
- }
string value = string.Empty;
if (xmlReader.GetValue("//resources/string[@name='language']", ref value, value))
diff --git a/Vocaluxe/Base/CParty.cs b/Vocaluxe/Base/CParty.cs
index 3ade852f..3774dad8 100644
--- a/Vocaluxe/Base/CParty.cs
+++ b/Vocaluxe/Base/CParty.cs
@@ -220,18 +220,11 @@ namespace Vocaluxe.Base
pm.ScreenFiles = new List();
pm.NoErrors = false;
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(file);
- }
- catch (Exception e)
- {
- CLog.LogError("Error opening party mode file " + file + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(file);
+ //Error...
+ if (xmlReader == null)
return pm;
- }
bool loaded = true;
diff --git a/Vocaluxe/Base/CProfiles.cs b/Vocaluxe/Base/CProfiles.cs
index 686f5c4a..df23a380 100644
--- a/Vocaluxe/Base/CProfiles.cs
+++ b/Vocaluxe/Base/CProfiles.cs
@@ -360,17 +360,9 @@ namespace Vocaluxe.Base
SProfile profile = new SProfile();
profile.ProfileFile = Path.Combine(CSettings.sFolderProfiles, FileName);
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(profile.ProfileFile);
- }
- catch (Exception e)
- {
- CLog.LogError("Error opening Profile File " + FileName + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(profile.ProfileFile);
+ if (xmlReader == null)
return;
- }
string value = String.Empty;
if (xmlReader.GetValue("//root/Info/PlayerName", ref value, value))
diff --git a/Vocaluxe/Base/CTheme.cs b/Vocaluxe/Base/CTheme.cs
index cbd80aab..a84e2874 100644
--- a/Vocaluxe/Base/CTheme.cs
+++ b/Vocaluxe/Base/CTheme.cs
@@ -147,17 +147,9 @@ namespace Vocaluxe.Base
public static bool LoadSkin(int SkinIndex)
{
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(Path.Combine(_Skins[SkinIndex].Path, _Skins[SkinIndex].FileName));
- }
- catch (Exception e)
- {
- CLog.LogError("Error loading skin " + _Skins[SkinIndex].FileName + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(_Skins[SkinIndex].Path, _Skins[SkinIndex].FileName));
+ if (xmlReader == null)
return false;
- }
string value = String.Empty;
@@ -264,17 +256,9 @@ namespace Vocaluxe.Base
return false;
}
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(Path.Combine(_Themes[ThemeIndex].Path, _Themes[ThemeIndex].FileName));
- }
- catch (Exception e)
- {
- CLog.LogError("Error loading theme " + _Themes[ThemeIndex].FileName + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(_Themes[ThemeIndex].Path, _Themes[ThemeIndex].FileName));
+ if (xmlReader == null)
return false;
- }
int skinIndex = GetSkinIndex(_Themes[ThemeIndex].PartyModeID);
@@ -419,17 +403,9 @@ namespace Vocaluxe.Base
public static bool AddTheme(string FilePath, int PartyModeID)
{
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(FilePath);
- }
- catch (Exception e)
- {
- CLog.LogError("Error loading theme " + FilePath + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(FilePath);
+ if (xmlReader == null)
return false;
- }
Theme theme = new Theme();
@@ -494,17 +470,9 @@ namespace Vocaluxe.Base
foreach (string file in files)
{
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(Path.Combine(path, file));
- }
- catch (Exception e)
- {
- CLog.LogError("Error loading skin " + file + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(Path.Combine(path, file));
+ if (xmlReader == null)
continue;
- }
Skin skin = new Skin();
diff --git a/Vocaluxe/Lib/Playlist/CPlaylistFile.cs b/Vocaluxe/Lib/Playlist/CPlaylistFile.cs
index 38cca523..f0942bcc 100644
--- a/Vocaluxe/Lib/Playlist/CPlaylistFile.cs
+++ b/Vocaluxe/Lib/Playlist/CPlaylistFile.cs
@@ -120,17 +120,9 @@ namespace Vocaluxe.Lib.Playlist
private void LoadPlaylist()
{
- CXMLReader xmlReader;
-
- try
- {
- xmlReader = new CXMLReader(PlaylistFile);
- }
- catch (Exception e)
- {
- CLog.LogError("Error opening Playlist File " + PlaylistFile + ": " + e.Message);
+ CXMLReader xmlReader = CXMLReader.OpenFile(PlaylistFile);
+ if (xmlReader == null)
return;
- }
string value = String.Empty;
if (xmlReader.GetValue("//root/Info/PlaylistName", ref value, value))
diff --git a/VocaluxeLib/Menu/CMenu.cs b/VocaluxeLib/Menu/CMenu.cs
index 977674c5..4f82474a 100644
--- a/VocaluxeLib/Menu/CMenu.cs
+++ b/VocaluxeLib/Menu/CMenu.cs
@@ -172,27 +172,16 @@ namespace Vocaluxe.Menu
{
string file = Path.Combine(XmlPath, _ThemeName + ".xml");
- CXMLReader xmlReader = null;
-
- try
- {
- xmlReader = new CXMLReader(file);
- }
- catch (Exception e)
- {
- if (xmlReader != null)
- xmlReader = null;
-
- CBase.Log.LogError("Error loading theme file " + file + ": " + e.Message);
- }
+ CXMLReader xmlReader = CXMLReader.OpenFile(file);
+ if (xmlReader == null)
+ return;
bool VersionCheck = false;
- if (xmlReader != null)
- VersionCheck = CheckVersion(_ScreenVersion, xmlReader);
+ VersionCheck = CheckVersion(_ScreenVersion, xmlReader);
int SkinIndex = CBase.Theme.GetSkinIndex(_PartyModeID);
- if (xmlReader != null && VersionCheck && SkinIndex != -1)
+ if (VersionCheck && SkinIndex != -1)
{
_ThemePath = XmlPath;
LoadThemeBasics(xmlReader, SkinIndex);
diff --git a/VocaluxeLib/Menu/CXMLReader.cs b/VocaluxeLib/Menu/CXMLReader.cs
index a176df21..2bf58133 100644
--- a/VocaluxeLib/Menu/CXMLReader.cs
+++ b/VocaluxeLib/Menu/CXMLReader.cs
@@ -9,7 +9,8 @@ namespace Vocaluxe.Menu
{
private XPathNavigator _Navigator;
- public CXMLReader(string uri)
+ //Private method. Use OpenFile factory method to get an instance
+ private CXMLReader(string uri)
{
XPathDocument xPathDoc = new XPathDocument(uri);
_Navigator = xPathDoc.CreateNavigator();
@@ -26,9 +27,9 @@ namespace Vocaluxe.Menu
{
return new CXMLReader(sUri);
}
- catch (Exception)
+ catch (Exception e)
{
- CBase.Log.LogError("Can't open XML file: " + sUri);
+ CBase.Log.LogError("Can't open XML file: " + sUri + ": " + e.Message);
return null;
}
}