Commit Graph

44 Commits

Author SHA1 Message Date
William Valentin
d7d4b332d4 Add medicine management functionality with UI and data handling
- Implemented MedicineManagementWindow for adding, editing, and removing medicines.
- Created MedicineManager to handle medicine configurations, including loading and saving to JSON.
- Updated UIManager to dynamically generate medicine-related UI components based on the MedicineManager.
- Enhanced test suite with mock objects for MedicineManager to ensure proper functionality in DataManager tests.
- Added validation for medicine input fields in the UI.
- Introduced default medicine configurations for initial setup.
2025-07-30 16:01:02 -07:00
William Valentin
ea30cb88c9 feat: Update default toggle states for bupropion and propranolol to false 2025-07-30 14:46:25 -07:00
William Valentin
b76191d66d feat: Implement dose calculation fix and enhance legend feature
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Fixed dose calculation logic in `_calculate_daily_dose` to correctly parse timestamps with multiple colons.
- Added comprehensive test cases for various dose formats and edge cases in `test_dose_calculation.py`.
- Enhanced graph legend to display individual medicines with average dosages and track medicines without dose data.
- Updated legend styling and positioning for better readability and organization.
- Created new tests for enhanced legend functionality, including handling of medicines with and without data.
- Improved mocking for matplotlib components in tests to prevent TypeErrors.
2025-07-30 14:22:07 -07:00
William Valentin
d14d19e7d9 feat: add medicine dose graph plotting and toggle functionality with comprehensive tests
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-07-30 13:18:25 -07:00
William Valentin
0a8d27957f feat: enhance symptom scale creation with improved layout and dynamic value display 2025-07-30 12:41:25 -07:00
William Valentin
b7c01bc373 Refactor method names for clarity and consistency across the application
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Renamed `initialize_csv` to `_initialize_csv_file` in `DataManager` for better clarity.
- Updated method calls in `GraphManager` from `_create_toggle_controls` to `_create_chart_toggles` and `_on_toggle_changed` to `_handle_toggle_changed`.
- Changed method names in `MedTrackerApp` from `on_closing` to `handle_window_closing`, `add_entry` to `add_new_entry`, and `load_data` to `refresh_data_display`.
- Adjusted corresponding test method names in `TestMedTrackerApp` to reflect the new method names.
- Updated `UIManager` method names from `setup_icon` to `setup_application_icon` and adjusted related tests accordingly.
2025-07-30 12:32:17 -07:00
William Valentin
85e30671d4 feat: Enhance dose history parsing and add unit tests for improved functionality
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-07-30 10:02:17 -07:00
William Valentin
aad02f0d36 feat: Improve canvas scrolling functionality with enhanced mouse wheel event handling 2025-07-29 17:42:38 -07:00
William Valentin
30750710b8 feat: Enhance edit window UI with improved layout and scrolling functionality 2025-07-29 17:28:52 -07:00
William Valentin
387981aa47 refactor: Remove __init__.py file and associated metadata 2025-07-29 16:41:29 -07:00
William Valentin
13b2c9c416 fix: Correct dotenv loading to use dynamic directory based on execution context 2025-07-29 16:38:21 -07:00
William Valentin
2fe45e65eb chore: Bump version to 1.2.1 in project files 2025-07-29 14:52:41 -07:00
William Valentin
036b4d1215 feat: Update MedTrackerApp to correctly handle quetiapine and its dosage data 2025-07-29 14:51:29 -07:00
William Valentin
ce986db27b feat: Update DataManager to support new quetiapine medication format and adjust VSCode task command
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-07-29 14:00:33 -07:00
William Valentin
2b037a83e8 Feat: Add quetiapine support to medication tracking
- Implement migration script to add quetiapine and quetiapine_doses columns to existing CSV data.
- Update DataManager to include quetiapine and quetiapine_doses in data handling.
- Modify MedTrackerApp to manage quetiapine entries and doses.
- Enhance UIManager to include quetiapine in the user interface for medication selection and display.
- Update tests to cover new quetiapine functionality, including sample data and DataManager tests.
2025-07-29 13:22:35 -07:00
William Valentin
1a6fb9fcd4 feat: Enhance Makefile with improved environment setup and cleanup commands 2025-07-29 00:07:48 -07:00
William Valentin
bce6c8c27d feat: Add comprehensive tests for punch button functionality and multiple dose handling 2025-07-28 23:10:04 -07:00
William Valentin
3df610fc95 feat: Add tests for verifying multiple dose functionality and CSV saving 2025-07-28 22:04:33 -07:00
William Valentin
01a341130e fix: Add parent window reference to dose entry error and success messages 2025-07-28 21:39:53 -07:00
William Valentin
cbf01ad3dd refactor: Remove redundant dose entry clearing and updating in save process 2025-07-28 21:35:28 -07:00
William Valentin
760aa40a8c feat: Enhance dose tracking functionality in edit window and add punch button support 2025-07-28 21:31:38 -07:00
William Valentin
e35a8af5c1 Implement dose tracking functionality and enhance CSV migration
- Added a new migration script to introduce dose tracking columns in the CSV.
- Updated DataManager to handle new dose tracking columns and methods for adding doses.
- Enhanced MedTrackerApp to support dose entry and display for each medicine.
- Modified UIManager to create a scrollable input frame with dose tracking elements.
- Implemented tests for delete functionality, dose tracking, edit functionality, and scrollable input.
- Updated existing tests to ensure compatibility with the new CSV format and dose tracking features.
2025-07-28 20:52:29 -07:00
William Valentin
9aa1188c98 Implement date uniqueness validation in DataManager and update MedTrackerApp for duplicate checks 2025-07-28 17:28:00 -07:00
William Valentin
8a0b4fcdf2 Refactor imports and improve logging in multiple modules; streamline type hints and remove redundant code 2025-07-28 12:37:43 -07:00
William Valentin
15be1733ea Set default date to today in input frame 2025-07-26 12:07:13 -07:00
William Valentin
dddf28ecc0 Update Bupropion dosage in UIManager to reflect 150/300 mg 2025-07-26 11:37:57 -07:00
William Valentin
4d11f28cad Enhance GraphManager with toggle controls for chart elements and update plotting logic based on toggle states 2025-07-25 10:30:22 -07:00
William Valentin
3abe262804 Update logging configuration and file paths in constants and init modules 2025-07-24 11:55:10 -07:00
William Valentin
879dcf78bf Simplify dotenv loading in constants.py by removing explicit path and override 2025-07-23 20:41:24 -07:00
William Valentin
2142db7093 Refactor MedTrackerApp and UI components for improved structure and readability
- Simplified initialization logic in init.py
- Consolidated testing_mode assignment
- Removed unnecessary else statements
- Created UIManager class to handle UI-related tasks
- Modularized input frame creation, table frame creation, and graph frame creation
- Enhanced edit window creation with better organization and error handling
- Updated data management methods to improve clarity and maintainability
- Improved logging for better debugging and tracking of application flow
2025-07-23 16:10:22 -07:00
William Valentin
4ba4b1b7c5 Move make_icon func to MedTrackerApp class 2025-07-20 13:34:00 -07:00
William Valentin
351d3633fe Add logging and refactored code 2025-07-20 13:10:17 -07:00
William Valentin
2b6b607ac4 Add logging 2025-07-20 13:05:29 -07:00
William Valentin
b9a9742f3b Add parent object to modal windows 2025-07-17 16:52:30 -07:00
William Valentin
1e0441fa07 Add logging with .env support 2025-07-17 15:36:52 -07:00
William Valentin
bc7652aa57 Fix csv writer columns order 2025-07-17 12:33:51 -07:00
William Valentin
990a958c3c Prettier formatting 2025-07-17 12:22:57 -07:00
William Valentin
29ccc5fbd9 Refactored... 2025-07-17 12:20:20 -07:00
William Valentin
c232cc631d Update counters, starting at 0 instead of 1 - add typing 2025-07-15 14:38:43 -07:00
William Valentin
96fa2551f6 Add verification of number of items in the table to prevent editing an empty object with no index 2025-07-15 14:36:17 -07:00
William Valentin
c049f8572c Rename CSV file 2025-07-15 13:48:49 -07:00
William Valentin
e8d23caa9f Refactor code 2025-07-15 13:38:35 -07:00
William Valentin
987dc095c0 Add configuration files for Flake8 and pre-commit, and update Pipfile for pre-commit dependency 2025-07-15 13:36:43 -07:00
William Valentin
4d79e2bae1 first commit 2025-07-15 11:06:36 -07:00