Changelog:
- Added feature to allow users to create, edit, remove, and mark tasks as complete
- Introduced new task types (Assignment, Exam and Misc. for tasks that do not fall into any of the first 2 categories)
- Added feature to allow users to create, edit and remove modules/subjects, which they can also specify when creating their tasks
- Added feature to allow users to specify which module/subject a task may be grouped under if necessary
- Implemented saving, loading, data encryption and data decryption functionality, all user tasks and module data files will also be encrypted from now on.
- Added feature to allow users to export their tasks and modules data as a CSV file
- Added feature to allow users to create files with any extension of their choice (e.g. .txt, .py, .csv files) and store them in any folder of their choice, created with file names that they can specify if necessary. Users can also choose if they would like to create the files with some specified content inside of them.
- Implemented custom window and UI.
- Implemented navigation sidebar.
- Added feature for GPA prediction and calculation functionality which allows the user to see their current GPA so far, as well as see the predicted GPA in the best case and worst case scenarios (if they have any modules that they have not yet received grades for yet).
- Added a statistics menu which allows users to view more information about the number (as well as percentages) of tasks that they have completed, that are overdue and that are not yet completed.
- Made statistics cards minimizable and maximizable.
- Added percentage toggle button to statistic cards, allowing users to choose between viewing the statistics as percentages or numbers.
- Changed storage system for storing task types, to enable compatibility with custom task types in the future.
- Added filtering functionality to statistic cards, allowing users to view data for specific modules as well, instead of just for all modules only.
- Fixed bug causing the program to crash and throw an exception while exporting tasks or modules data as a CSV file.
- Fixed bug causing warning label to not be displayed when an invalid file name was entered when attempting to export tasks or modules data to a CSV file.
- Fixed bug causing application to crash if total value of the values in a statistics card was zero.
- Fixed bug causing application to display incorrect module names for some tasks when a module was removed.