config: get urls in a simpler way and clean up

This commit is contained in:
Hylke 2011-07-02 17:05:05 +01:00
parent c8df2ce85a
commit b57a59cc60
2 changed files with 35 additions and 23 deletions

View file

@ -131,6 +131,7 @@ namespace SparkleLib {
} }
} }
public void AddFolder (string name, string url, string backend) public void AddFolder (string name, string url, string backend)
{ {
XmlNode node_name = CreateElement ("name"); XmlNode node_name = CreateElement ("name");
@ -168,6 +169,7 @@ namespace SparkleLib {
return true; return true;
} }
public void RemoveFolder (string name) public void RemoveFolder (string name)
{ {
foreach (XmlNode node_folder in SelectNodes ("/sparkleshare/folder")) { foreach (XmlNode node_folder in SelectNodes ("/sparkleshare/folder")) {
@ -178,20 +180,6 @@ namespace SparkleLib {
Save (); Save ();
} }
private XmlNode GetFolder (string name)
{
return SelectSingleNode(String.Format("/sparkleshare/folder[name='{0}']", name));
}
private string GetFolderValue (string name, string key)
{
XmlNode folder = this.GetFolder(name);
if ((folder != null) && (folder[key] != null)) {
return folder[key].InnerText;
}
return null;
}
public bool FolderExists (string name) public bool FolderExists (string name)
{ {
@ -199,32 +187,39 @@ namespace SparkleLib {
return folder != null; return folder != null;
} }
public string GetBackendForFolder (string name) public string GetBackendForFolder (string name)
{ {
return this.GetFolderValue(name, "backend"); return this.GetFolderValue(name, "backend");
} }
public string GetUrlForFolder (string name) public string GetUrlForFolder (string name)
{ {
return this.GetFolderValue(name, "url"); return this.GetFolderValue(name, "url");
} }
public List<string> GetUrls ()
{
List<string> Urls = new List<string> ();
foreach (string folder_name in SparkleLib.SparkleConfig.DefaultConfig.Folders) { public List<string> Domains {
Urls.Add( GetUrlForFolder(folder_name).Replace("ssh://", "").Replace("git://", "").Split('/')[0] ); get {
} List<string> domains = new List<string> ();
return Urls; foreach (XmlNode node_folder in SelectNodes ("/sparkleshare/folder")) {
Uri uri = new Uri (node_folder ["url"].InnerText);
domains.Add (uri.Host);
}
return domains;
}
} }
public string GetAnnouncementsForFolder (string name) public string GetAnnouncementsForFolder (string name)
{ {
return this.GetFolderValue(name, "announcements"); return this.GetFolderValue(name, "announcements");
} }
public string GetAnnouncementUrlForFolder (string name) public string GetAnnouncementUrlForFolder (string name)
{ {
// examples? // examples?
@ -273,6 +268,23 @@ namespace SparkleLib {
Save (Path); Save (Path);
SparkleHelpers.DebugInfo ("Config", "Updated \"" + Path + "\""); SparkleHelpers.DebugInfo ("Config", "Updated \"" + Path + "\"");
} }
private XmlNode GetFolder (string name)
{
return SelectSingleNode(String.Format("/sparkleshare/folder[name='{0}']", name));
}
private string GetFolderValue (string name, string key)
{
XmlNode folder = this.GetFolder(name);
if ((folder != null) && (folder[key] != null)) {
return folder[key].InnerText;
}
return null;
}
} }

View file

@ -684,7 +684,7 @@ namespace SparkleShare {
TreeModel ServerEntryCompletion () TreeModel ServerEntryCompletion ()
{ {
ListStore store = new ListStore (typeof (string)); ListStore store = new ListStore (typeof (string));
List<string> Urls = SparkleLib.SparkleConfig.DefaultConfig.GetUrls(); List<string> Urls = SparkleLib.SparkleConfig.DefaultConfig.Domains;
store.AppendValues ("user@localhost"); store.AppendValues ("user@localhost");
store.AppendValues ("user@example.com"); store.AppendValues ("user@example.com");