Add theme management and settings functionality
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
Some checks failed
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:
129
docs/FEATURES.md
129
docs/FEATURES.md
@@ -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
|
||||
### <EFBFBD> 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user