private void confirmButton_Click(object sender, EventArgs e) { Properties.Settings.Default.Save(); ConfigManager.SaveToDisk(); this.Close(); }
private void exitButton_Click(object sender, EventArgs e) { ConfigManager.SaveToDisk(); this.Hide(); }
public static void errorReportingThread() { //The first time the thread starts, let it know it has started to execute lock (threadStartCond) { Monitor.PulseAll(threadStartCond); } while (true) { lock (errorReportCond) { Monitor.Wait(errorReportCond); } try { //1. create the folder for automatic errors if (!Directory.Exists(autoErrorReportFolder)) { Directory.CreateDirectory(autoErrorReportFolder); } long currentTimestamp = LogEntry.GetCurrentTimeStamp(); //2. create subfolder that stores all the files for this particular error report string reportFolderName = autoErrorReportFolder + "/autoreport_" + currentTimestamp; if (!Directory.Exists(reportFolderName)) { Directory.CreateDirectory(reportFolderName); } string msg = knownErrorsList.Last().msg; //3. Write the msg (error text) as a .txt file so that it can be read as the report description File.WriteAllLines(reportFolderName + "/reportDescription.txt", msg.Split('\n')); //4. Save the current loglist, variablesDict, FunctioncallsCountDict to the error reporting folder, csv gaze data Logger.SaveToDisk(reportFolderName + "/"); //dataLogList.WriteToCsv(reportFolderName + "/gazedata.csv"); //Copy Config settings file over as well ConfigManager.SaveToDisk(); File.Copy(ConfigManager.xmlExportFileName, reportFolderName + "/" + ConfigManager.xmlExportFileName); //5. Zip up the folder and remove the original folder if (Directory.Exists(reportFolderName)) { Directory.Delete(reportFolderName, true); } //6. Notify precision gaze mouse form of created error report (increment) autoErrorReportsCount++; SaveKnownErrorsToDisk(""); } catch (Exception ex) { Debug.Write(ex); } } }