diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs
index 16d64fc..1923ed5 100644
--- a/EduNetworkBuilder/NetworkBuilder.cs
+++ b/EduNetworkBuilder/NetworkBuilder.cs
@@ -1372,13 +1372,14 @@ namespace EduNetworkBuilder
{
OpenFileDialog mydialog = new OpenFileDialog();
mydialog.AddExtension = true;
- mydialog.Filter = "EduNet File (*.enbx)|*.enbx";
+ mydialog.Filter = "EduNet File (*.enbx, *enbu)|*.enbx; *.enbu";
mydialog.Multiselect = false;
mydialog.ShowHelp = true;
if (LastPath != null && LastPath != "") mydialog.FileName = LastPath;
DialogResult result = mydialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel) return;
- if(!Regex.IsMatch(mydialog.FileName,@"^.*.enbx$"))
+ string extension = Path.GetExtension(mydialog.FileName).ToString();
+ if(extension != ".enbx" && extension != ".enbu")
{
MessageBox.Show(NB.Translate("_LoadErr"));
return;
@@ -1386,10 +1387,7 @@ namespace EduNetworkBuilder
LastPath = mydialog.FileName;
if (!File.Exists(mydialog.FileName)) return;
- PrepForLoad();
- myNetwork.Load(mydialog.FileName);
- UpdateMenu();
- UpdateForm();
+ LoadInitialFile(mydialog.FileName);
}
private void reloadToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1644,6 +1642,34 @@ namespace EduNetworkBuilder
UpdateForm();
}
+ private void LoadInitialFile(string filename)
+ {
+ if (filename == "")
+ {
+ MessageBox.Show(NB.Translate("NB_InvalidFile"));
+ Close();
+ }
+ //If it is a network file
+ string extension = Path.GetExtension(filename).ToLower();
+ //MessageBox.Show(filename + " " +extension);
+ if (extension == ".enbx")
+ {
+ PrepForLoad();
+ myNetwork.Load(filename);
+ UpdateMenu();
+ UpdateForm();
+ } else if(extension == ".enbu")
+ {
+ CurrentUser = new PersonClass(filename);
+ UpdateMenu();
+ }
+ else
+ {
+ MessageBox.Show(NB.Translate("NB_InvalidFile"));
+ Close();
+ }
+ }
+
private void BuilderWindow_Load(object sender, EventArgs e)
{
if (OurSettings.MainWindowX != -1 && OurSettings.MainWindowY != -1)
@@ -1669,20 +1695,14 @@ namespace EduNetworkBuilder
if (uri.IsFile)
{
- PrepForLoad();
- myNetwork.Load(uri.LocalPath);
- UpdateMenu();
- UpdateForm();
+ LoadInitialFile(uri.LocalPath);
}
}
if (InitialFileLoad != "") //This is set when we are installed by msi and we click a file
{
if (File.Exists(InitialFileLoad))
{
- PrepForLoad();
- myNetwork.Load(InitialFileLoad);
- UpdateMenu();
- UpdateForm();
+ LoadInitialFile(InitialFileLoad);
}
}
else
diff --git a/EduNetworkBuilder/PersonClass.cs b/EduNetworkBuilder/PersonClass.cs
index 2b6c109..468637b 100644
--- a/EduNetworkBuilder/PersonClass.cs
+++ b/EduNetworkBuilder/PersonClass.cs
@@ -54,7 +54,7 @@ namespace EduNetworkBuilder
public PersonClass(string Filename)
{
-
+ Load(Filename);
}
public string Password(int index = 0)
@@ -96,6 +96,11 @@ namespace EduNetworkBuilder
{
switch (Individual.Name.ToLower())
{
+ case "edunetworkbuilderuser":
+ case "edunetworkbuilder":
+ case "user":
+ Load(Individual, Name);
+ break;
case "username":
_UserName = Individual.InnerText;
break;
@@ -126,7 +131,7 @@ namespace EduNetworkBuilder
public void Save()
{
//Save to our pre-existing / pre-defined file
- string filename = Path.Combine(filepath, FileName);
+ string filename = Path.Combine(filepath, FileName);
Save(filename);
}
@@ -139,7 +144,7 @@ namespace EduNetworkBuilder
//Now we write the file:
writer.WriteStartDocument();
- writer.WriteStartElement("EduNetworkBuilder");
+ writer.WriteStartElement("EduNetworkBuilderUser");
writer.WriteComment("This is a user file for EduNetworkBuilder.");
Save(writer);
writer.WriteEndElement();
diff --git a/EduNetworkBuilder/Resources/languages/edustrings.resx b/EduNetworkBuilder/Resources/languages/edustrings.resx
index aab1836..4b0a547 100644
--- a/EduNetworkBuilder/Resources/languages/edustrings.resx
+++ b/EduNetworkBuilder/Resources/languages/edustrings.resx
@@ -1745,4 +1745,8 @@
Re-Enter that same password
PPF_VerifyPass = Re-Enter that same password
+
+ Cannot load invalid file.
+ NB_InvalidFile = Cannot load invalid file.
+
\ No newline at end of file
diff --git a/EduNetworkBuilder/SchoolworkClass.cs b/EduNetworkBuilder/SchoolworkClass.cs
index 1a92100..95520a6 100644
--- a/EduNetworkBuilder/SchoolworkClass.cs
+++ b/EduNetworkBuilder/SchoolworkClass.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
+using System.IO;
namespace EduNetworkBuilder
{
@@ -43,6 +44,16 @@ namespace EduNetworkBuilder
#region Load and Save
//Load and save functions
+ public void Load(string filename)
+ {
+ XmlDocument xmlDoc = new XmlDocument();
+ if (File.Exists(filename))
+ {
+ xmlDoc.Load(filename);
+ Load(xmlDoc);
+ }
+ }
+
public void Load(XmlNode TheNode)
{
foreach (XmlNode Individual in TheNode.ChildNodes)
@@ -82,13 +93,18 @@ namespace EduNetworkBuilder
}
}
+ public void Save(string filename)
+ {
+ //Save to our pre-existing / pre-defined file
+ Save(filename);
+ }
public void Save(XmlWriter writer)
{
//Save the language name
//save the number of items
//Save all the items
- writer.WriteStartElement("project");
+ writer.WriteStartElement("schoolwork");
writer.WriteElementString("Name", Name);
writer.WriteElementString("Description", Description);
writer.WriteElementString("Class", Class);