From ed741d42699a90f038bb58865ade39bf604fc460 Mon Sep 17 00:00:00 2001 From: RenegadeRaven <8683689+RenegadeRaven@users.noreply.github.com> Date: Tue, 6 Dec 2022 18:58:21 -0600 Subject: [PATCH] changed to xml settings --- PKMG5DC/Essentials/SettingsFile.vb | 64 +++++++++++++++++++----------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/PKMG5DC/Essentials/SettingsFile.vb b/PKMG5DC/Essentials/SettingsFile.vb index 1010e5f..493495f 100644 --- a/PKMG5DC/Essentials/SettingsFile.vb +++ b/PKMG5DC/Essentials/SettingsFile.vb @@ -1,31 +1,49 @@ -Imports System.IO -Imports Newtonsoft.Json.Linq +Imports System.Xml Module SettingsFile - Dim Settings As JObject + Dim Settings As XmlDocument Public Sub ReadSettings() - Dim lang As String = File.ReadAllText(Main5.Local & "\settings.json") - If lang IsNot Nothing Then Settings = JObject.Parse(lang) - 'LangData("New Update Available! ").ToString() - My.Settings.ticket = Settings("Ticket").ToString.Replace("/", "\") - My.Settings.Region = Settings("Region") - Main5.ToolVer = Settings("ToolVersion") + Settings = New XmlDocument + Settings.Load(Main5.Local & "\settings.xml") + 'My.Settings.Language = GetValue("Language") + My.Settings.ticket = GetValue("Ticket").ToString.Replace("/", "\") + My.Settings.Region = GetValue("Region") + Main5.ToolVer = GetValue("ToolVersion") End Sub + Private Function GetValue(SettingName) As String + Return Settings.SelectSingleNode("Settings/" & SettingName).InnerText + End Function + Public Sub WriteSettings() - If Not File.Exists(Main5.Local & "\settings.json") Then CreateSettings() - Dim lang As String = File.ReadAllText(Main5.Local & "\settings.json") - If lang IsNot Nothing Then Settings = JObject.Parse(lang) - Settings("Ticket") = My.Settings.ticket.Replace("\", "/") - My.Settings.ticket.Replace("\", "/") - Settings("Region") = My.Settings.Region - Settings("ToolVersion") = Main5.ToolVer - File.WriteAllText(Main5.Local & "\settings.json", Settings.ToString) + If Not IO.File.Exists(Main5.Local & "\settings.xml") Then CreateSettings() + 'SetValue("Language", My.Settings.Language) + SetValue("Ticket", My.Settings.ticket.Replace("\", "/")) + SetValue("Region", My.Settings.Region) + SetValue("ToolVersion", Main5.ToolVer) + Settings.Save(Main5.Local & "\settings.xml") End Sub - Public Sub CreateSettings() - Dim dSettings As Object = New JObject() - dSettings.Ticket = My.Settings.ticket.Replace("\", "/") - dSettings.Region = My.Settings.Region - dSettings.ToolVersion = Main5.ToolVer - File.WriteAllText(Main5.Local & "\settings.json", dSettings.ToString) + Private Sub SetValue(SettingName As String, SettingValue As String) + Dim SettingNode As XmlElement + Try + SettingNode = DirectCast(Settings.SelectSingleNode("Settings/" & SettingName), XmlElement) + Catch + SettingNode = Nothing + End Try + If Not SettingNode Is Nothing Then + SettingNode.InnerText = SettingValue + Else + SettingNode = Settings.CreateElement(SettingName) + SettingNode.InnerText = SettingValue + Settings.SelectSingleNode("Settings").AppendChild(SettingNode) + End If + End Sub + Private Sub CreateSettings() + Settings = New XmlDocument + Dim dec As XmlDeclaration = Settings.CreateXmlDeclaration("1.0", "utf-8", String.Empty) + Settings.AppendChild(dec) + + Dim nodeRoot As XmlNode + nodeRoot = Settings.CreateNode(XmlNodeType.Element, "Settings", "") + Settings.AppendChild(nodeRoot) End Sub End Module