config: Use Xml.Linq for writing XML

This commit is contained in:
Hylke Bons 2018-02-18 14:06:14 +00:00
parent 30c4d10967
commit d5a7620683
4 changed files with 17 additions and 20 deletions

View file

@ -536,7 +536,6 @@ namespace SparkleShare {
string folder_name = Path.GetFileName (PreviousPath); string folder_name = Path.GetFileName (PreviousPath);
folder_name = folder_name.ReplaceUnderscoreWithSpace (); folder_name = folder_name.ReplaceUnderscoreWithSpace ();
// TODO: Open SparkleShare/$HOST
SparkleShare.Controller.OpenSparkleShareFolder (folder_name); SparkleShare.Controller.OpenSparkleShareFolder (folder_name);
FinishPageCompleted (); FinishPageCompleted ();
} }

View file

@ -44,7 +44,7 @@ namespace Sparkles {
public string ToMessage () public string ToMessage ()
{ {
string message = "added: {0}"; string message = "added: {0}";
switch (Changes [0].Type) { switch (Changes [0].Type) {
case ChangeType.Edited: message = "edited: {0}"; break; case ChangeType.Edited: message = "edited: {0}"; break;
case ChangeType.Deleted: message = "deleted: {0}"; break; case ChangeType.Deleted: message = "deleted: {0}"; break;
@ -64,7 +64,7 @@ namespace Sparkles {
public ChangeType Type; public ChangeType Type;
public DateTime Timestamp; public DateTime Timestamp;
public bool IsFolder; public bool IsFolder;
public string Path; public string Path;
public string MovedToPath; public string MovedToPath;
} }

View file

@ -16,9 +16,10 @@
using System; using System;
using System.IO;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Xml; using System.Xml;
using System.Xml.Linq;
namespace Sparkles { namespace Sparkles {
@ -42,6 +43,7 @@ namespace Sparkles {
public readonly string FilePath; public readonly string FilePath;
public readonly string TmpPath; public readonly string TmpPath;
public readonly string BinPath; public readonly string BinPath;
public readonly string LogFilePath; public readonly string LogFilePath;
@ -115,11 +117,10 @@ namespace Sparkles {
CreateInitialConfig (); CreateInitialConfig ();
} else { } else {
throw new XmlException (FilePath + " does not contain a valid config XML structure."); throw;
} }
} finally { } finally {
Load (FilePath);
TmpPath = Path.Combine (DirectoryPath, "tmp"); TmpPath = Path.Combine (DirectoryPath, "tmp");
Directory.CreateDirectory (TmpPath); Directory.CreateDirectory (TmpPath);
} }
@ -138,17 +139,16 @@ namespace Sparkles {
user_name = user_name.TrimEnd (','); user_name = user_name.TrimEnd (',');
} }
// TODO: Don't do this manually XElement xml =
string n = Environment.NewLine; new XElement ("sparkleshare",
File.WriteAllText (FilePath, new XElement ("user",
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + n + new XElement ("name", user_name),
"<sparkleshare>" + n + new XElement ("email", "Unknown")
" <user>" + n + ),
" <name>" + user_name + "</name>" + n + new XElement ("notifications", bool.TrueString)
" <email>Unknown</email>" + n + );
" </user>" + n +
" <notifications>True</notifications>" + n + LoadXml (xml.ToString ());
"</sparkleshare>");
} }
@ -351,9 +351,6 @@ namespace Sparkles {
void Save () void Save ()
{ {
if (!File.Exists (FilePath))
throw new FileNotFoundException (FilePath + " does not exist");
Save (FilePath); Save (FilePath);
Logger.LogInfo ("Config", "Wrote to '" + FilePath + "'"); Logger.LogInfo ("Config", "Wrote to '" + FilePath + "'");
} }

View file

@ -60,6 +60,7 @@
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="AuthenticationInfo.cs" /> <Compile Include="AuthenticationInfo.cs" />