- Added new settings keys in SettingsManager for download path, auto-check updates, auto-raise window, switch to new device, unmount iFuse on exit, theme, and connection timeout.
- Implemented methods to get and set these new settings.
- Updated SettingsWidget to include UI elements for the new settings, including checkboxes and a combo box for theme selection.
- Refactored loadSettings and saveSettings methods to handle new settings.
- Removed deprecated settings UI elements to streamline the interface.
- Introduced VirtualLocation widget for managing virtual location settings with a map interface.
- Integrated QML for map visualization and input handling for latitude and longitude.
- Added functionality to apply virtual location settings to the connected device.
- Added RecoveryDeviceSidebarItem class for managing recovery devices in the sidebar.
- Unified device selection structure with DeviceSelection to handle normal, recovery, and pending devices.
- Updated DeviceSidebarWidget to support adding and removing recovery devices.
- Refactored sidebar navigation and selection handling to accommodate new device types.
refactor: Enhance Disk Usage Widget UI
- Improved styling and layout of disk usage bars for better visual representation.
- Removed unnecessary paint event override and adjusted layout settings.
- Added object names for easier styling and debugging.
fix: Update File Explorer Widget for AFC2 Support
- Integrated a stacked widget to switch between normal and AFC2 explorers.
- Simplified sidebar setup and item handling for better maintainability.
- Connected sidebar item clicks to switch between AFC explorers.
feat: Implement InfoLabel for Copying Text
- Created InfoLabel class to display text that can be copied to the clipboard.
- Added hover effects and temporary text change on copy action.
chore: Clean up Unused Code and Comments
- Removed commented-out code and unnecessary forward declarations across multiple files.
- Streamlined includes and improved code readability.
fix: Improve Recovery Device Info Widget
- Updated RecoveryDeviceInfoWidget to display device information more clearly.
- Added error handling for recovery mode exit operations with user feedback.
feat: Add Responsive QLabel for Image Display
- Introduced ResponsiveQLabel to handle responsive image scaling in the UI.
- Replaced static image display with responsive label in JailbrokenWidget for better adaptability.
- Updated `CableInfoWidget` to include a TODO comment regarding manufacturer verification.
- Refactored `CustomTab` and `CustomTabWidget` to remove notification label functionality, simplifying the class structure.
- Improved `DeviceInfoWidget` by adding a destructor to manage graphics view memory and initializing graphics scene properly.
- Introduced `DiskUsageBar` and `DiskUsageWidget` classes to manage disk usage visualization, including hover popover functionality for detailed information.
- Enhanced `MediaPreviewDialog` to include more descriptive window titles and adjusted status label styling based on platform.
- Added platform-specific functionality in `macos.h` and `macos.mm` for popover management.
- Cleaned up `ToolboxWidget` by adjusting label styles and removing fixed sizes for better responsiveness.
- Added PhotoExportManager class to handle exporting files from a device to a specified output directory, including cancellation support and progress tracking.
- Introduced asynchronous file export using a worker thread, ensuring UI responsiveness during export operations.
- Implemented filtering and sorting capabilities in PhotoModel, allowing users to view images and videos based on selected criteria.
- Enhanced MediaPreviewDialog by commenting out the image loading logic for future implementation.
- Updated VirtualLocation to manage device removal and improved image mounting logic.
- Refactored code for better organization and maintainability, including the addition of helper methods for file handling and metadata extraction.
- Introduced MediaPreviewDialog for previewing images and videos with zoom, pan, and video controls.
- Implemented MediaStreamer to handle HTTP streaming of media files from iOS devices, supporting range requests for video scrubbing.
- Created MediaStreamerManager as a singleton to manage MediaStreamer instances and ensure efficient resource usage.
- Developed PhotoModel to manage photo data, including thumbnail generation for both images and videos, with caching mechanisms.
- Added asynchronous loading of thumbnails using QtConcurrent for improved performance.
- Implemented disk caching for thumbnails to reduce loading times and improve user experience.(beta)