feat: Implement application preferences with JSON persistence
Some checks failed
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.
This commit is contained in:
William Valentin
2025-08-07 16:26:17 -07:00
parent 73498af138
commit 9372d6ef29
15 changed files with 1997 additions and 468 deletions

View File

@@ -398,6 +398,28 @@ TheChart application supports comprehensive keyboard shortcuts for improved prod
- **Double-click**: Edit entry - Opens the edit dialog for the selected entry
### Help
### Backup and Restore
#### Creating Backups
- Automatic backups are created on startup and shutdown
- Manual backups: Tools → Create Backup Now (Ctrl+Shift+B)
- Backups are stored in your backups folder (Tools → Open Backups Folder)
#### Restoring from Backup
You can restore the main CSV from a previous backup file.
Steps:
1. Open Tools → Restore from Backup… (or press Ctrl+Shift+R)
2. Select a backup CSV file from the backups folder
3. Review the confirmation dialog (file name, size, last modified)
4. Confirm to proceed
Notes:
- A safety backup of the current data is created automatically before restore
- After restore, the table and graph refresh automatically
- The status bar shows the result and a brief toast confirms success
- Use Tools → Open Backups Folder to locate backup files quickly
- **F1**: Show keyboard shortcuts help - Displays a dialog with all available keyboard shortcuts
### Implementation Details