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.
This commit is contained in:
William Valentin
2025-08-05 11:58:25 -07:00
parent 86606d56b6
commit c3c88c63d2
14 changed files with 1287 additions and 70 deletions
+35
View File
@@ -5,6 +5,41 @@ All notable changes to TheChart project are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.9.5] - 2025-08-05
### 🎨 Major UI/UX Overhaul
- **Added**: Professional theme system with ttkthemes integration
- **Added**: 8 curated themes (Arc, Equilux, Adapta, Yaru, Ubuntu, Plastik, Breeze, Elegance)
- **Added**: Dynamic theme switching without restart
- **Added**: Theme persistence between sessions
- **Added**: Comprehensive settings window with tabbed interface
- **Added**: Smart tooltip system with context-sensitive help
- **Improved**: Table selection highlighting and alternating row colors
- **Improved**: Modern styling for all UI components (buttons, frames, forms)
- **Improved**: Professional card-style layouts and enhanced spacing
### ⚙️ Settings and Configuration System
- **Added**: Advanced settings window (accessible via F2)
- **Added**: Theme selection with live preview
- **Added**: UI preferences and customization options
- **Added**: About dialog with detailed application information
- **Added**: Settings persistence across application restarts
### 💡 Enhanced User Experience
- **Added**: Intelligent tooltips for all interactive elements
- **Added**: Specialized help for pathology scales and medicine options
- **Added**: Non-intrusive tooltip timing (500-800ms delay)
- **Added**: Quick theme switching via menu bar
- **Improved**: Visual hierarchy with better typography and spacing
- **Improved**: Professional color schemes across all themes
### 🏗️ Technical Architecture Improvements
- **Added**: Modular theme manager with dependency injection
- **Added**: Tooltip management system
- **Added**: Enhanced UI manager with theme integration
- **Improved**: Code organization with separate concerns
- **Improved**: Error handling with graceful theme fallbacks
## [1.7.0] - 2025-08-05
### ⌨️ Keyboard Shortcuts System
+109
View File
@@ -0,0 +1,109 @@
# Documentation Consolidation Summary
## Overview
This document summarizes the documentation consolidation and updates performed to improve the TheChart project documentation structure.
## Changes Made
### 1. Documentation Structure Consolidation
- **Removed**: `docs/UI_IMPROVEMENTS.md` (redundant file)
- **Consolidated**: UI/UX improvements documentation into `docs/FEATURES.md`
- **Enhanced**: Main `README.md` with recent updates section
- **Updated**: `docs/README.md` (documentation index) with comprehensive navigation
### 2. Content Integration
#### FEATURES.md Enhancements
- **Added**: Modern UI/UX System section (new in v1.9.5)
- **Added**: Professional Theme Engine documentation
- **Added**: Comprehensive Keyboard Shortcuts section
- **Added**: Settings and Theme Management documentation
- **Added**: Smart Tooltip System documentation
- **Added**: Enhanced Technical Architecture section
- **Added**: UI/UX Technical Implementation section
#### CHANGELOG.md Updates
- **Added**: Version 1.9.5 with comprehensive UI/UX overhaul documentation
- **Added**: Settings and Configuration System section
- **Added**: Enhanced User Experience section
- **Added**: Technical Architecture Improvements section
#### README.md Improvements
- **Updated**: Title and description to emphasize modern UI/UX
- **Added**: Recent Major Updates section highlighting v1.9.5 improvements
- **Added**: Quick start guidance for new users
- **Updated**: Documentation links with better descriptions
- **Added**: Documentation navigation guide reference
### 3. Cross-Reference Updates
- **Updated**: All internal links to reflect consolidated structure
- **Enhanced**: Documentation index with comprehensive navigation
- **Added**: Task-based navigation in docs/README.md
- **Improved**: User type-based documentation guidance
## Current Documentation Structure
```
docs/
├── README.md # Documentation index and navigation guide
├── FEATURES.md # Complete feature documentation (includes UI/UX)
├── KEYBOARD_SHORTCUTS.md # Comprehensive shortcut reference
├── EXPORT_SYSTEM.md # Data export functionality
├── DEVELOPMENT.md # Development setup and testing
├── CHANGELOG.md # Version history and improvements
└── DOCUMENTATION_SUMMARY.md # This summary (new)
README.md # Main project README with quick start
```
## Documentation Highlights
### For End Users
1. **Modern UI/UX**: Complete documentation of the new theme system
2. **Keyboard Efficiency**: Comprehensive shortcut system documentation
3. **Feature Guidance**: Consolidated feature documentation with examples
4. **Quick Navigation**: Task-based and user-type-based navigation
### For Developers
1. **Technical Architecture**: Enhanced architecture documentation
2. **UI/UX Implementation**: Technical details of theme system
3. **Code Organization**: Clear separation of concerns documentation
4. **Development Workflow**: Comprehensive development guide
## Quality Improvements
### Content Quality
- **Comprehensive Coverage**: All major features and improvements documented
- **Clear Structure**: Hierarchical organization with clear headings
- **Practical Examples**: Code snippets and usage examples maintained
- **Cross-References**: Better linking between related sections
### User Experience
- **Progressive Disclosure**: Information organized by user expertise level
- **Task-Oriented**: Documentation organized around user tasks
- **Quick Access**: Multiple entry points and navigation paths
- **Searchable**: Clear headings and consistent formatting
### Maintenance
- **Reduced Redundancy**: Eliminated duplicate information
- **Single Source of Truth**: Consolidated information reduces maintenance burden
- **Version Alignment**: Documentation synchronized with current codebase
- **Future-Proof**: Structure supports easy updates and additions
## Next Steps
### Recommended Maintenance
1. **Keep Features Updated**: Update FEATURES.md as new UI/UX improvements are added
2. **Maintain Changelog**: Continue detailed changelog entries for version tracking
3. **Review Navigation**: Periodically review docs/README.md navigation for completeness
4. **User Feedback**: Collect user feedback on documentation effectiveness
### Future Enhancements
1. **Screenshots**: Consider adding screenshots of the new UI themes
2. **Video Guides**: Potential for video demonstrations of key features
3. **API Documentation**: If public APIs develop, consider separate API docs
4. **Internationalization**: Structure supports future translation efforts
---
**Documentation consolidation completed**: All major UI/UX improvements are now properly documented and easily discoverable through the improved navigation structure.
+113 -16
View File
@@ -1,7 +1,49 @@
# TheChart - Features Documentation
## Overview
TheChart is a comprehensive medication tracking application that allows users to monitor medication intake, symptom tracking, and visualize treatment progress over time.
TheChart is a comprehensive medication tracking application with a modern, professional UI that allows users to monitor medication intake, track symptoms, and visualize treatment progress over time.
## 🎨 Modern UI/UX System (New in v1.9.5)
### Professional Theme Engine
TheChart features a sophisticated theme system powered by ttkthemes, offering 8 carefully curated professional themes.
#### Available Themes:
- **Arc**: Modern flat design with subtle shadows
- **Equilux**: Dark theme with excellent contrast
- **Adapta**: Clean, minimalist design
- **Yaru**: Ubuntu-inspired modern interface
- **Ubuntu**: Official Ubuntu styling
- **Plastik**: Classic professional appearance
- **Breeze**: KDE-inspired clean design
- **Elegance**: Sophisticated dark theme
#### UI Enhancements:
- **Modern Styling**: Card-style frames, enhanced buttons, professional form controls
- **Smart Tooltips**: Context-sensitive help for all interactive elements
- **Improved Tables**: Better selection highlighting and alternating row colors
- **Settings System**: Comprehensive preferences with theme persistence
- **Responsive Design**: Automatic layout adjustments and scaling
### ⌨️ Comprehensive Keyboard Shortcuts
Professional keyboard shortcut system for efficient navigation and operation.
#### File Operations:
- **Ctrl+S**: Save/Add new entry
- **Ctrl+Q**: Quit application (with confirmation)
- **Ctrl+E**: Export data
#### Data Management:
- **Ctrl+N**: Clear entries
- **Ctrl+R / F5**: Refresh data
- **Delete**: Delete selected entry
- **Escape**: Clear selection
#### Window Management:
- **Ctrl+M**: Manage medicines
- **Ctrl+P**: Manage pathologies
- **F1**: Show keyboard shortcuts help
- **F2**: Open settings window
## Core Features
@@ -37,6 +79,36 @@ Each medicine includes:
2. **Manual Configuration**: Edit `medicines.json` directly
3. **Programmatically**: Use the MedicineManager API
### ⚙️ Settings and Theme Management
Advanced configuration system allowing users to customize their experience.
#### Settings Window (F2):
- **Theme Selection**: Choose from 8 professional themes with live preview
- **UI Preferences**: Font scaling, window behavior options
- **About Information**: Detailed application and version information
- **Tabbed Interface**: Organized settings categories for easy navigation
#### Theme Features:
- **Real-time Switching**: No restart required for theme changes
- **Persistence**: Selected theme remembered between sessions
- **Quick Access**: Theme menu for instant switching
- **Fallback Handling**: Graceful handling if themes fail to load
### 💡 Smart Tooltip System
Context-sensitive help system providing guidance throughout the application.
#### Tooltip Types:
- **Pathology Scales**: Usage guidance for symptom tracking
- **Medicine Checkboxes**: Medication information and dosage details
- **Action Buttons**: Functionality description with keyboard shortcuts
- **Form Controls**: Input guidance and format requirements
#### Features:
- **Delayed Display**: Non-intrusive timing (500-800ms delay)
- **Theme-aware Styling**: Tooltips match selected theme
- **Smart Positioning**: Automatic placement to avoid screen edges
- **Rich Content**: Multi-line descriptions with formatting
### 💊 Advanced Dose Tracking
Comprehensive dose tracking system that records exact timestamps and dosages throughout the day.
@@ -192,24 +264,49 @@ Comprehensive keyboard shortcuts for efficient navigation and data entry.
## Technical Architecture
### 🏗️ Modular Design
- **MedicineManager**: Core medicine CRUD operations
- **PathologyManager**: Symptom and pathology management
- **GraphManager**: All graph-related operations and visualizations
- **UIManager**: User interface creation and management
- **DataManager**: CSV operations and data persistence
### Modern UI Architecture
- **ThemeManager**: Centralized theme management with dynamic switching
- **TooltipManager**: Smart tooltip system with context-sensitive help
- **UIManager**: Enhanced UI component creation with theme integration
- **SettingsWindow**: Advanced configuration interface with persistence
### 🔧 Configuration Management
- **JSON-based Configuration**: `medicines.json` and `pathologies.json`
- **Dynamic Loading**: Runtime configuration updates
- **Validation**: Input validation and error handling
- **Backward Compatibility**: Seamless updates and migrations
### 🏗️ Core Application Design
- **MedicineManager**: Core medicine CRUD operations with JSON persistence
- **PathologyManager**: Symptom and pathology management system
- **GraphManager**: Professional graph rendering with matplotlib integration
- **DataManager**: Robust CSV operations and data persistence with validation
### 📈 Data Processing
### 🔧 Configuration and Data Management
- **JSON-based Configuration**: `medicines.json` and `pathologies.json` for easy management
- **Dynamic Loading**: Runtime configuration updates without restarts
- **Data Validation**: Comprehensive input validation and error handling
- **Backward Compatibility**: Seamless updates and migrations across versions
### 📈 Advanced Data Processing
- **Pandas Integration**: Efficient data manipulation and analysis
- **Matplotlib Visualization**: Professional graph rendering
- **Robust Parsing**: Handles various data formats and edge cases
- **Real-time Calculations**: Dynamic dose totals and averages
- **Real-time Calculations**: Dynamic dose totals, averages, and statistics
- **Robust Parsing**: Handles various data formats and edge cases gracefully
- **Performance Optimization**: Efficient batch operations and caching
## UI/UX Technical Implementation
### 🎭 Theme System Architecture
- **Multiple Theme Support**: 8 curated professional themes
- **Dynamic Style Application**: Real-time theme switching without restart
- **Color Extraction**: Automatic color scheme detection and application
- **Fallback Mechanisms**: Graceful handling when themes fail to load
### 💡 Enhanced User Experience
- **Smart Tooltips**: Context-sensitive help with delayed, non-intrusive display
- **Modern Styling**: Card-style frames, enhanced buttons, professional form controls
- **Improved Tables**: Better selection highlighting and alternating row colors
- **Responsive Design**: Automatic layout adjustments and proper scaling
### ⚙️ Settings and Persistence
- **Configuration Management**: Theme and preference persistence across sessions
- **Tabbed Settings Interface**: Organized categories for easy navigation
- **Live Preview**: Real-time theme preview in settings
- **Error Recovery**: Robust handling of corrupted settings with defaults
## Deployment and Distribution
+45 -23
View File
@@ -1,21 +1,27 @@
# TheChart Documentation
Welcome to TheChart documentation! This guide will help you navigate the available documentation.
Welcome to TheChart documentation! This guide will help you navigate the available documentation for the modern medication tracking application.
## 📖 Documentation Index
### For Users
- **[README.md](../README.md)** - Quick start guide and installation
- **[Features Guide](FEATURES.md)** - Complete feature documentation
- **[Features Guide](FEATURES.md)** - Complete feature documentation including new UI/UX improvements
- Modern Theme System (8 Professional Themes)
- Advanced Keyboard Shortcuts
- Smart Tooltip System
- Modular Medicine System
- Advanced Dose Tracking
- Graph Visualizations
- Data Management
- Keyboard Shortcuts
- **[Keyboard Shortcuts](KEYBOARD_SHORTCUTS.md)** - Comprehensive shortcut reference
- File operations shortcuts
- Data management shortcuts
- Navigation shortcuts
- File operations shortcuts (Ctrl+S, Ctrl+Q, Ctrl+E)
- Data management shortcuts (Ctrl+N, Ctrl+R, F5)
- Navigation shortcuts (Ctrl+M, Ctrl+P, F1, F2)
- **[Export System](EXPORT_SYSTEM.md)** - Data export functionality and formats
- JSON, XML, and PDF export options
- Graph visualization inclusion
- Export manager architecture
### For Developers
- **[Development Guide](DEVELOPMENT.md)** - Development setup and testing
@@ -26,53 +32,69 @@ Welcome to TheChart documentation! This guide will help you navigate the availab
### Project History
- **[Changelog](CHANGELOG.md)** - Version history and feature evolution
- Recent updates and improvements
- Migration notes
- Future roadmap
- Recent UI/UX overhaul (v1.9.5)
- Keyboard shortcuts system (v1.7.0)
- Medicine and dose tracking improvements
- Migration notes and future roadmap
## 🚀 Quick Navigation
### Getting Started
1. **Installation**: See [README.md - Installation](../README.md#installation)
2. **First Run**: See [README.md - Running the Application](../README.md#running-the-application)
3. **Key Features**: See [FEATURES.md](FEATURES.md)
3. **UI/UX Features**: See [FEATURES.md - Modern UI/UX System](FEATURES.md#-modern-uiux-system-new-in-v195)
### Using the Application
1. **Theme Selection**: See [FEATURES.md - Settings and Theme Management](FEATURES.md#-settings-and-theme-management)
2. **Keyboard Shortcuts**: See [KEYBOARD_SHORTCUTS.md](KEYBOARD_SHORTCUTS.md)
3. **Medicine Management**: See [FEATURES.md - Modular Medicine System](FEATURES.md#-modular-medicine-system)
4. **Dose Tracking**: See [FEATURES.md - Advanced Dose Tracking](FEATURES.md#-advanced-dose-tracking)
5. **Data Export**: See [EXPORT_SYSTEM.md](EXPORT_SYSTEM.md)
### Development
1. **Setup**: See [DEVELOPMENT.md - Development Environment Setup](DEVELOPMENT.md#development-environment-setup)
2. **Testing**: See [DEVELOPMENT.md - Testing Framework](DEVELOPMENT.md#testing-framework)
3. **Contributing**: See [DEVELOPMENT.md - Development Workflow](DEVELOPMENT.md#development-workflow)
3. **Architecture**: See [FEATURES.md - Technical Architecture](FEATURES.md#technical-architecture)
4. **Contributing**: See [DEVELOPMENT.md - Development Workflow](DEVELOPMENT.md#development-workflow)
### Advanced Usage
1. **Medicine Management**: See [FEATURES.md - Modular Medicine System](FEATURES.md#-modular-medicine-system)
2. **Dose Tracking**: See [FEATURES.md - Advanced Dose Tracking](FEATURES.md#-advanced-dose-tracking)
3. **Visualizations**: See [FEATURES.md - Enhanced Graph Visualization](FEATURES.md#-enhanced-graph-visualization)
## 📋 What's New in Documentation
## 📋 Documentation Standards
### Recent Updates (v1.9.5)
- **Consolidated Structure**: Merged UI improvements into main features documentation
- **Enhanced Features Guide**: Added comprehensive UI/UX documentation
- **Updated Changelog**: Detailed UI/UX overhaul documentation
- **Improved Navigation**: Better cross-referencing between documents
All documentation follows these principles:
- **Clear Structure**: Hierarchical organization with clear headings
- **Practical Examples**: Code snippets and usage examples
- **Up-to-date**: Synchronized with current codebase
- **Comprehensive**: Covers all major features and workflows
- **Cross-referenced**: Links between related sections
### Documentation Highlights
- **Professional UI/UX**: Complete documentation of the new theme system
- **Keyboard Efficiency**: Comprehensive shortcut system documentation
- **Developer-Friendly**: Enhanced development and testing documentation
- **User-Focused**: Clear separation of user vs developer documentation
## 🔍 Finding Information
### By Topic
- **Installation & Setup** → [README.md](../README.md)
- **UI/UX and Themes** → [FEATURES.md - Modern UI/UX System](FEATURES.md#-modern-uiux-system-new-in-v195)
- **Feature Usage** → [FEATURES.md](FEATURES.md)
- **Keyboard Shortcuts** → [KEYBOARD_SHORTCUTS.md](KEYBOARD_SHORTCUTS.md)
- **Data Export** → [EXPORT_SYSTEM.md](EXPORT_SYSTEM.md)
- **Development** → [DEVELOPMENT.md](DEVELOPMENT.md)
- **Version History** → [CHANGELOG.md](CHANGELOG.md)
### By User Type
- **End Users** → Start with [README.md](../README.md), then [FEATURES.md](FEATURES.md)
- **Developers** → [DEVELOPMENT.md](DEVELOPMENT.md) and [CHANGELOG.md](CHANGELOG.md)
- **Power Users** → [KEYBOARD_SHORTCUTS.md](KEYBOARD_SHORTCUTS.md) and [EXPORT_SYSTEM.md](EXPORT_SYSTEM.md)
- **Developers** → [DEVELOPMENT.md](DEVELOPMENT.md) and [FEATURES.md - Technical Architecture](FEATURES.md#technical-architecture)
- **Contributors** → All documentation, especially [DEVELOPMENT.md](DEVELOPMENT.md)
### By Task
- **Install TheChart** → [README.md - Installation](../README.md#installation)
- **Change Theme** → [FEATURES.md - Settings and Theme Management](FEATURES.md#-settings-and-theme-management)
- **Learn Shortcuts** → [KEYBOARD_SHORTCUTS.md](KEYBOARD_SHORTCUTS.md)
- **Add New Medicine** → [FEATURES.md - Modular Medicine System](FEATURES.md#-modular-medicine-system)
- **Track Doses** → [FEATURES.md - Advanced Dose Tracking](FEATURES.md#-advanced-dose-tracking)
- **Export Data** → [EXPORT_SYSTEM.md](EXPORT_SYSTEM.md)
- **Run Tests** → [DEVELOPMENT.md - Testing Framework](DEVELOPMENT.md#testing-framework)
- **Deploy Application** → [README.md - Deployment](../README.md#deployment)