- Add WidgetRegistry for automatic widget registration via REGISTER_DOCK_WIDGET macro
- Implement per-widget notification enable/disable in Settings dialog
- Store widget notification preferences in JSON format in database
- Use C++ RTTI for class name detection (no Q_OBJECT required in widgets)
- Cache class name in AbstractDock::getClassName() for performance
- Sort widget checkboxes alphabetically with proper spacing in UI
- Lazy initialization of DialogSettings to avoid static init order issues
- Tab blinks when content changes while inactive
- Notification clears when user scrolls to see new content
- Auto-detection for QTableWidget, QTableView, QTreeWidget, QTreeView, QTextEdit, QPlainTextEdit
- Support for manual enable/disable via setAutoNotifyEnabled()
- RAII guard (AutoNotifyGuard) for bulk data loading