This implements the receipt system into the GUI. The default is to put the receipts in the same folder as the data files that are uploaded. There is an option to change where the files are saved, it can be found in options. The choice and destination are saved in preferences, so the choices are persistent. If a custom folder is selected but not specified, it defaults to the user's documents folder. The option to turn off receipts has been removed.
The GUI uses an observer pattern, with the observable as a singleton because multiple parts of the program need to talk to the same instance of the observable to create a receipt. The pertinent data is identical between the GUI and the receipt, but details like "uploading the data set (This may take a while for large files)" only appear in the GUI, while the line "end of receipt" only appears in the receipt text file.
This update also includes a fix for a missing header line, the program now fails gracefully and lets you know to check the header line.
This update does not include changing the file suffix nor codifying the IONs.
This implements the receipt system into the GUI. The default is to put the receipts in the same folder as the data files that are uploaded. There is an option to change where the files are saved, it can be found in options. The choice and destination are saved in preferences, so the choices are persistent. If a custom folder is selected but not specified, it defaults to the user's documents folder. The option to turn off receipts has been removed.
The GUI uses an observer pattern, with the observable as a singleton because multiple parts of the program need to talk to the same instance of the observable to create a receipt. The pertinent data is identical between the GUI and the receipt, but details like "uploading the data set (This may take a while for large files)" only appear in the GUI, while the line "end of receipt" only appears in the receipt text file.
This update also includes a fix for a missing header line, the program now fails gracefully and lets you know to check the header line.
This update does not include changing the file suffix nor codifying the IONs.