diff --git a/SparkleShare/Common/BaseController.cs b/SparkleShare/Common/BaseController.cs
index ddca2c20..7cae39f6 100644
--- a/SparkleShare/Common/BaseController.cs
+++ b/SparkleShare/Common/BaseController.cs
@@ -205,14 +205,13 @@ namespace SparkleShare {
{
string version = InstallationInfo.Version;
- if (InstallationInfo.Directory.StartsWith ("/app", StringComparison.InvariantCulture))
+ if (InstallationInfo.IsFlatpak)
version += " (Flatpak)";
Logger.LogInfo ("Environment", "SparkleShare " + version);
Logger.LogInfo ("Environment", "Git LFS " + Sparkles.Git.GitCommand.GitLFSVersion);
Logger.LogInfo ("Environment", "Git " + Sparkles.Git.GitCommand.GitVersion);
- // TODO: Nice OS version names for Linux (Fedora 24, Ubuntu 16.04, etc.)
if (InstallationInfo.OperatingSystem == OS.Mac)
Logger.LogInfo ("Environment", InstallationInfo.MacOSVersion ());
else
@@ -641,10 +640,9 @@ namespace SparkleShare {
{
this.fetcher.EnableFetchedRepoCrypto (password);
FinishFetcher (StorageType.Encrypted);
- } // TODO: make this the main method. password optional. need to know storage type before Complete to allow crypto in lfs
- // Make sure IsCryptoPasswordCorrect works with SparkleShare.txt checkout and LFS
-
-
+ }
+
+
public void FinishFetcher (StorageType selected_storage_type)
{
this.watcher.EnableRaisingEvents = false;
@@ -655,17 +653,17 @@ namespace SparkleShare {
try {
Directory.Move (this.fetcher.TargetFolder, target_folder_path);
-
+
} catch (Exception e) {
Logger.LogInfo ("Controller", "Error moving directory, trying again...", e);
-
+
try {
ClearDirectoryAttributes (this.fetcher.TargetFolder);
Directory.Move (this.fetcher.TargetFolder, target_folder_path);
-
+
} catch (Exception x) {
Logger.LogInfo ("Controller", "Error moving directory", x);
-
+
this.fetcher.Dispose ();
this.fetcher = null;
this.watcher.EnableRaisingEvents = true;
@@ -674,7 +672,7 @@ namespace SparkleShare {
}
string backend = BaseFetcher.GetBackend (this.fetcher.RemoteUrl.ToString ());
-
+
Config.AddFolder (target_folder_name, identifier, this.fetcher.RemoteUrl.ToString (), backend);
if (this.fetcher.FetchedRepoStorageType != StorageType.Plain) {
diff --git a/SparkleShare/Common/SetupController.cs b/SparkleShare/Common/SetupController.cs
index 289bf1c8..8a9f72d9 100644
--- a/SparkleShare/Common/SetupController.cs
+++ b/SparkleShare/Common/SetupController.cs
@@ -536,7 +536,6 @@ namespace SparkleShare {
string folder_name = Path.GetFileName (PreviousPath);
folder_name = folder_name.ReplaceUnderscoreWithSpace ();
- // TODO: Open SparkleShare/$HOST
SparkleShare.Controller.OpenSparkleShareFolder (folder_name);
FinishPageCompleted ();
}
diff --git a/SparkleShare/Linux/UserInterface.cs b/SparkleShare/Linux/UserInterface.cs
index 33c0731e..570dcdbe 100644
--- a/SparkleShare/Linux/UserInterface.cs
+++ b/SparkleShare/Linux/UserInterface.cs
@@ -115,6 +115,7 @@ namespace SparkleShare
Setup.Application = application;
EventLog.Application = application;
About.Application = application;
+ Note.Application = application;
SparkleShare.Controller.UIHasLoaded ();
}
diff --git a/Sparkles/ChangeSet.cs b/Sparkles/ChangeSet.cs
index 7a98e7b8..8358012f 100644
--- a/Sparkles/ChangeSet.cs
+++ b/Sparkles/ChangeSet.cs
@@ -44,7 +44,7 @@ namespace Sparkles {
public string ToMessage ()
{
string message = "added: {0}";
-
+
switch (Changes [0].Type) {
case ChangeType.Edited: message = "edited: {0}"; break;
case ChangeType.Deleted: message = "deleted: {0}"; break;
@@ -64,7 +64,7 @@ namespace Sparkles {
public ChangeType Type;
public DateTime Timestamp;
public bool IsFolder;
-
+
public string Path;
public string MovedToPath;
}
diff --git a/Sparkles/Configuration.cs b/Sparkles/Configuration.cs
index e29c4403..e0b46bae 100644
--- a/Sparkles/Configuration.cs
+++ b/Sparkles/Configuration.cs
@@ -16,9 +16,10 @@
using System;
-using System.IO;
using System.Collections.Generic;
+using System.IO;
using System.Xml;
+using System.Xml.Linq;
namespace Sparkles {
@@ -42,6 +43,7 @@ namespace Sparkles {
public readonly string FilePath;
public readonly string TmpPath;
public readonly string BinPath;
+
public readonly string LogFilePath;
@@ -115,11 +117,10 @@ namespace Sparkles {
CreateInitialConfig ();
} else {
- throw new XmlException (FilePath + " does not contain a valid config XML structure.");
+ throw;
}
} finally {
- Load (FilePath);
TmpPath = Path.Combine (DirectoryPath, "tmp");
Directory.CreateDirectory (TmpPath);
}
@@ -138,17 +139,16 @@ namespace Sparkles {
user_name = user_name.TrimEnd (',');
}
- // TODO: Don't do this manually
- string n = Environment.NewLine;
- File.WriteAllText (FilePath,
- "" + n +
- "" + n +
- " " + n +
- " " + user_name + "" + n +
- " Unknown" + n +
- " " + n +
- " True" + n +
- "");
+ XElement xml =
+ new XElement ("sparkleshare",
+ new XElement ("user",
+ new XElement ("name", user_name),
+ new XElement ("email", "Unknown")
+ ),
+ new XElement ("notifications", bool.TrueString)
+ );
+
+ LoadXml (xml.ToString ());
}
@@ -351,9 +351,6 @@ namespace Sparkles {
void Save ()
{
- if (!File.Exists (FilePath))
- throw new FileNotFoundException (FilePath + " does not exist");
-
Save (FilePath);
Logger.LogInfo ("Config", "Wrote to '" + FilePath + "'");
}
diff --git a/Sparkles/Preset.cs b/Sparkles/Preset.cs
index 86d68fca..0828c926 100644
--- a/Sparkles/Preset.cs
+++ b/Sparkles/Preset.cs
@@ -17,6 +17,7 @@
using System;
using System.Xml;
+using System.Xml.Linq;
using IO = System.IO;
@@ -80,33 +81,31 @@ namespace Sparkles {
if (IO.File.Exists (preset_path))
return null;
- // TODO: Don't write manually
- string preset_xml = "" +
- "" +
- " " +
- " " +
- " " + name + "" +
- " " + description + "" +
- " own-server.png" +
- " " +
- " " +
- " " + address_value + "" +
- " " + address_example + "" +
- " " +
- " " +
- " " + path_value + "" +
- " " + path_example + "" +
- " " +
- " " +
- "";
+ string icon_name = "own-server.png";
- preset_xml = preset_xml.Replace ("", "");
- preset_xml = preset_xml.Replace ("", "");
+ XElement xml =
+ new XElement ("sparkleshare",
+ new XElement ("preset",
+ new XElement ("info",
+ new XElement ("name", name),
+ new XElement ("description", description),
+ new XElement ("icon", icon_name)
+ ),
+ new XElement ("address",
+ new XElement ("value", address_value),
+ new XElement ("example", address_example)
+ ),
+ new XElement ("path",
+ new XElement ("value", path_value),
+ new XElement ("example", path_example)
+ )
+ )
+ );
if (!IO.Directory.Exists (LocalPresetsPath))
IO.Directory.CreateDirectory (LocalPresetsPath);
- IO.File.WriteAllText (preset_path, preset_xml);
+ IO.File.WriteAllText (preset_path, xml.ToString ());
return new Preset (preset_path);
}
diff --git a/Sparkles/Sparkles.csproj b/Sparkles/Sparkles.csproj
index 3ff026fa..b7cb50a2 100644
--- a/Sparkles/Sparkles.csproj
+++ b/Sparkles/Sparkles.csproj
@@ -60,6 +60,7 @@
+