diff --git a/SparkleLib/SparkleConfig.cs b/SparkleLib/SparkleConfig.cs index cb69040a..96b0bdd1 100644 --- a/SparkleLib/SparkleConfig.cs +++ b/SparkleLib/SparkleConfig.cs @@ -132,6 +132,27 @@ namespace SparkleLib { } + public List FolderPaths { + get { + List folders = new List (); + + foreach (XmlNode node_folder in SelectNodes ("/sparkleshare/folder")) { + Uri uri = new Uri (node_folder ["url"].InnerText); + String path = uri.LocalPath; + if (!folders.Contains (path)) + folders.Add (path); + + if (1 < path.Length && "/" == path.Substring (0, 1)) + if (!folders.Contains (path.Substring (1))) + folders.Add (path.Substring (1)); + + } + + return folders; + } + } + + public void AddFolder (string name, string url, string backend) { XmlNode node_name = CreateElement ("name"); @@ -215,6 +236,21 @@ namespace SparkleLib { } + public List HostsWithUsername { + get { + List hosts = new List (); + + foreach (XmlNode node_folder in SelectNodes ("/sparkleshare/folder")) { + Uri uri = new Uri (node_folder ["url"].InnerText); + + if ("git" != uri.UserInfo && !hosts.Contains (uri.UserInfo + "@" + uri.Host)) + hosts.Add (uri.UserInfo + "@" + uri.Host); + } + + return hosts; + } + } + public string GetAnnouncementsForFolder (string name) { return this.GetFolderValue(name, "announcements"); diff --git a/SparkleShare/SparkleController.cs b/SparkleShare/SparkleController.cs index 931a8ea0..cece6489 100644 --- a/SparkleShare/SparkleController.cs +++ b/SparkleShare/SparkleController.cs @@ -224,6 +224,25 @@ namespace SparkleShare { } + public List FolderPaths { + get { + List folders = SparkleConfig.DefaultConfig.FolderPaths; + folders.Sort (); + return folders; + } + } + + + public List PreviousHosts { + get { + List hosts = SparkleConfig.DefaultConfig.HostsWithUsername; + hosts.AddRange(SparkleConfig.DefaultConfig.Hosts); + hosts.Sort (); + return hosts; + } + } + + public List UnsyncedFolders { get { List unsynced_folders = new List (); @@ -236,7 +255,7 @@ namespace SparkleShare { return unsynced_folders; } } - + public List GetLog () {