private void OpenProject_Button_Click(object sender, RoutedEventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.InitialDirectory = Environment.CurrentDirectory; fileDialog.Title = "Select project path"; fileDialog.CheckFileExists = true; fileDialog.CheckPathExists = true; fileDialog.Multiselect = false; fileDialog.DefaultExt = "wbp"; fileDialog.Filter = "Workbench projects (*.wbp)|*.wbp"; var result = fileDialog.ShowDialog(); if (result == DialogResult.OK) { if (!UserData.Instance.PreviousProjects.Contains(fileDialog.FileName)) { UserData.Instance.PreviousProjects.Add(fileDialog.FileName); UserData.SaveUserData(); } Wbp proj = new Wbp(fileDialog.FileName); ProjectData.Instance = proj.getProjectData(); ProjectData.Instance.WBP_Path = fileDialog.FileName; ProjectData.Instance.LastOpened = DateTime.Now; proj.setProjectData(ProjectData.Instance); //update projData to have latest info (like date and path) JetEditor jetEditor = new JetEditor(fileDialog.FileName); MainWindow.Instance.Close(); } }
public static ProjectData LoadProject(string WBP_Path) { Wbp wbp = new Wbp(WBP_Path); return(wbp.getProjectData()); /* * foreach (var item in wbp.Archive.Entries) * { * if (!item.FileName.Contains("project data.json")) * continue; * * string json = wbp.ReadFileInZip(item.FileName); * if (json == "null" || !Guard.IsJsonValid(json)) * { * Log.Output("ProjectData has invalid json, generating a new one."); * return Instance = new ProjectData(); * } * * return Instance = JsonConvert.DeserializeObject<ProjectData>(json); * } * * return new ProjectData(); */ }