Commit Graph

36 Commits

Author SHA1 Message Date
William Valentin 61c8c72cf7 feat: Enhance UI feedback and improve data filtering logic 2025-08-08 11:32:43 -07:00
William Valentin 9372d6ef29 feat: Implement application preferences with JSON persistence
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Added preferences management in `preferences.py` with functions to load, save, get, set, and reset preferences.
- Introduced a configuration directory structure based on the operating system.
- Integrated preferences into the settings window, allowing users to reset settings and manage window geometry.
- Enhanced `search_filter.py` to support flexible date column names and improved filtering logic.
- Updated `settings_window.py` to include options for managing backup and configuration folder paths.
- Introduced an `UndoManager` class to handle undo actions for add/update/delete operations.
- Improved UIManager to support sorting in tree views and added a toast notification feature.
2025-08-07 16:26:17 -07:00
William Valentin 8fc87788f9 feat: Consolidate documentation into a single comprehensive guide
- Created `CONSOLIDATED_DOCS.md` to serve as the primary documentation source, integrating user and developer guides, API references, and troubleshooting sections.
- Updated `README.md` to reference the new consolidated documentation.
- Preserved existing documentation files for backward compatibility, including `USER_GUIDE.md`, `DEVELOPER_GUIDE.md`, and others.
- Enhanced navigation structure in `docs/README.md` to facilitate easier access to documentation.
- Implemented UI flickering fixes, including auto-save optimizations, debounced filter updates, and efficient tree updates to improve user experience.
- Added verification script `verify_docs_consolidation.py` to ensure successful documentation consolidation and integrity.
2025-08-06 15:02:49 -07:00
William Valentin 7bb06fabdd feat: Implement search and filter functionality in MedTrackerApp
- Added DataFilter class for managing filtering and searching of medical data.
- Introduced SearchFilterWidget for UI controls related to search and filters.
- Integrated search and filter features into MedTrackerApp, allowing users to filter data by date range, medicine status, and pathology scores.
- Implemented quick filters for common use cases (last week, last month, high symptoms).
- Enhanced data loading and display logic to accommodate filtered data.
- Added error handling for data loading issues.
- Updated UIManager to reflect filter status in the application.
- Improved entry validation in add_new_entry method to ensure data integrity.
2025-08-06 09:55:47 -07:00
William Valentin df9738ab17 feat: enhance menu theming with comprehensive documentation and testing support
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-08-05 14:06:42 -07:00
William Valentin c3c88c63d2 Add theme management and settings functionality
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Introduced `ThemeManager` to handle application themes using `ttkthemes`.
- Added `SettingsWindow` for user preferences including theme selection and UI settings.
- Integrated theme selection into the main application with a menu for quick access.
- Enhanced UI components with custom styles based on the selected theme.
- Implemented tooltips for better user guidance across various UI elements.
- Updated dependencies to include `ttkthemes` for improved visual appeal.
2025-08-05 11:58:25 -07:00
William Valentin 86606d56b6 feat: add comprehensive keyboard shortcuts for improved navigation and productivity
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-08-05 10:05:32 -07:00
William Valentin fdcc210fc4 feat: add status bar to UI for improved user feedback and information display 2025-08-02 10:31:17 -07:00
William Valentin b7a22524d7 Feat: add export functionality with GUI for data and graphs
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Implemented ExportWindow class for exporting data and graphs in various formats (JSON, XML, PDF).
- Integrated ExportManager to handle export logic.
- Added export option in the main application menu.
- Enhanced user interface with data summary and export options.
- Included error handling and success messages for export operations.
- Updated dependencies in the lock file to include reportlab and lxml for PDF generation.
2025-08-02 10:00:24 -07:00
William Valentin 156dcd1651 feat: Import LOG_CLEAR constant for logging clarity 2025-08-01 15:15:04 -07:00
William Valentin 41d91d9c30 feat: Center main window on screen during initialization
Build and Push Docker Image / build-and-push (push) Has been cancelled
2025-08-01 13:05:24 -07:00
William Valentin 13a4826415 feat: Enhance DataManager and GraphManager with performance optimizations and caching 2025-08-01 12:46:51 -07:00
William Valentin c755f0affc Add comprehensive tests for dose tracking functionality
- Implemented `test_dose_parsing_simple.py` to validate the dose parsing workflow.
- Created `test_dose_save.py` to verify the saving functionality of dose tracking.
- Added `test_dose_save_simple.py` for programmatic testing of dose saving without UI interaction.
- Developed `test_final_workflow.py` to test the complete dose tracking workflow, ensuring doses are preserved during edits.
- Enhanced `conftest.py` with a mock pathology manager for testing.
- Updated `test_data_manager.py` to include pathology manager in DataManager tests and ensure compatibility with new features.
2025-07-31 09:50:45 -07:00
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 b7c01bc373 Refactor method names for clarity and consistency across the application
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 036b4d1215 feat: Update MedTrackerApp to correctly handle quetiapine and its dosage data 2025-07-29 14:51:29 -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 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 3abe262804 Update logging configuration and file paths in constants and init modules 2025-07-24 11:55:10 -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 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 4d79e2bae1 first commit 2025-07-15 11:06:36 -07:00