Repository navigation
v1.1
✨ What's New
🖼️ Gallery View (Major Feature)
- Justified Gallery Layout: Adaptive grid layout that efficiently utilizes screen space with ±25% row height tolerance
- Virtualized Rendering: Only renders visible items for smooth performance with thousands of images
- Smart Image Loading: Priority-based system that loads visible images first, then preloads adjacent images in background
- Seamless View Switching: Toggle between gallery and single image view with 'G' key
- Scroll Wheel Navigation: Navigate between images in single view using mouse scroll wheel
- Session Persistence: Remembers view mode preference and automatically opens in appropriate view
🚀 Performance Improvements
- Optimized Loading Pipeline: Reduced initial gallery loading delay with priority queue system
- Multi-threaded Thumbnail Loading: Increased to 16 parallel threads for faster thumbnail generation
- Intelligent Caching: Bucket-based thumbnail caching system for efficient memory usage
- Background Preloading: Continuously loads images in background while browsing
- Thread Pool Optimization: Configured for optimal batch processing (16 threads, batch size 8, priority batch 20)
🎨 User Experience Enhancements
- Keyboard Shortcuts:
- Press 'Esc' to return to gallery from single view
- Smooth Transitions: Optimized view switching with minimal delay
🐛 Bug Fixes
- ✅ Fixed persistent loading message when returning to gallery view
- ✅ Fixed images not displaying in gallery view after loading (cache key matching issue)
- ✅ Improved cache key matching for better thumbnail display
- ✅ Fixed widget visibility issues in gallery view
- ✅ Added basename fallback matching for path resolution issues
Core Implementation
-
New
JustifiedGalleryWidget: Custom QWidget with virtualization support- Adaptive row height calculation with tolerance
- Widget pooling for efficient memory usage
- Scroll-aware visible area detection
- Background image loading queue management
-
Priority Queue System:
- Separate queues for visible (priority) and background images
- Immediate processing of visible images
- Batched background loading with rate limiting
-
Enhanced
ImageLoadTask:- Detailed performance logging for debugging
- Embedded JPEG thumbnail extraction for RAW files
- EXIF orientation correction
- Proper error handling and fallbacks
-
Cache Management:
- Bucket-based height matching for cache keys
- LRU cache for thumbnails
- Efficient cache lookup with fallback mechanisms