- Introduced WelcomeWidget to display a welcome message when no devices are connected, replacing the previous "No devices detected" page in MainWindow.
- Replaced ClickableLabel with ZLabel in ifusewidget.h for improved UI consistency.
- Removed PCFileExplorerWidget and its associated header file, streamlining the codebase.
- Updated PhotoImportDialog to improve server start process and UI elements, including renaming buttons and adjusting labels.
- Modified RealtimeScreenWidget to increase delay before initializing screenshot service for better reliability.
- Enhanced SimpleHttpServer to include a method for retrieving the JSON file name.
- Updated ToolboxWidget to integrate WirelessPhotoImportWidget, allowing for wireless photo imports.
- Added WirelessPhotoImportWidget to facilitate the selection and import of photos, including a tutorial video feature.
- Created a new WelcomeWidget to guide users on connecting their iOS devices.
- 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 new icons to resources.qrc for improved UI representation.
- Implemented ZIconWidget for buttons in AfcExplorerWidget, replacing ClickableIconWidget.
- Introduced NetworkDevicesWidget for discovering and monitoring network devices.
- Updated AppInstallDialog to use QTemporaryDir for better temporary directory management.
- Enhanced FileExportDialog to prompt user for opening the export directory upon completion.
- Refactored styles in various widgets for consistency and improved theming support.
- Cleaned up unused code and comments across multiple files.
- Added `install_ipa.cpp` to handle IPA installation on iOS devices using the installation proxy.
- Introduced `ServiceManager` class to centralize and thread-safely manage device service operations, including AFC file operations.
- Updated `DeviceInfoWidget` layout for improved UI responsiveness.
- Refactored `GalleryWidget`, `MediaStreamer`, `PhotoExportManager`, and `PhotoModel` to utilize `ServiceManager` for safer AFC operations.
- Enhanced error handling and logging across various components.
- Adjusted `ToolboxWidget` to streamline device change handling and UI updates.
- Added album path management in PhotoModel for better photo loading.
- Updated responsive QLabel to handle scaling more effectively.
- Introduced ClickableIconWidget for better icon interaction in the UI.
- Added new color definitions for blue and accent blue.
- Enhanced the AppTabWidget styles to adapt to dark mode.
- Replaced QLineEdit with ZLineEdit for consistent styling.
- Improved the SSH terminal widget with better error handling and process management.
- Refactored ToolboxWidget methods for device management.
- Adjusted margins and styles in various widgets for improved layout.
- 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.
- Added QStackedWidget to manage different states in InstalledAppsWidget.
- Created separate loading, error, and content widgets for better UI management.
- Updated LoginDialog title and adjusted styles for labels.
- Enhanced MainWindow by removing unused code and improving device handling.
- Updated QueryMobileGestaltWidget UI for better clarity and usability.
- Removed deprecated screenshot handling code in RealtimeScreen.
- Updated AppWidget to utilize QStackedWidget for better UI management, including loading and error states.
- Removed unnecessary includes and improved the organization of private methods in AppWidget.
- Enhanced DevDiskImagesWidget UI by adding a settings button and improving layout with shadows.
- Refactored DeviceInfoWidget to use QGroupBox for better visual grouping of device information.
- Replaced QProcess with libssh for SSH connections in JailbrokenWidget, improving reliability and performance.
- Added a timer to check SSH data and handle input/output more effectively.
- Improved SettingsManager to manage settings dialog display and lifecycle.
- Refactored SettingsWidget to be a QDialog for better user experience and removed unnecessary buttons.
- Adjusted layout margins across various widgets for a cleaner UI.
- Replaced the direct usage of the Go library with AppStoreManager in AppDownloadBaseDialog.
- Removed the C-style callback for download progress and implemented a lambda function for progress updates.
- Added error handling for AppStoreManager initialization in the download process.
- Updated AppDownloadDialog to use QStandardPaths for the default download directory.
- Created AppStoreManager class to handle account management and app operations.
- Implemented login functionality in LoginDialog using AppStoreManager.
- Added QProcessIndicator for visual feedback during login and app download processes.
- Updated AppsWidget to manage login state and display account information using AppStoreManager.
- Cleaned up unused code and improved UI elements for better user experience.
- 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.
- Introduced devicePasswordProtected signal in AppContext to notify when a device is password protected.
- Modified DeviceManagerWidget to handle devicePasswordProtected signal and update pending device state accordingly.
- Enhanced DevicePendingWidget to display appropriate messages based on device lock status.
- Implement CableInfoWidget to display detailed information about connected cables.
- Create associated methods for initializing cable info, analyzing data, and updating the UI.
- Introduce get_cable_info function to retrieve cable details from the device.
- Replace ClickableWidget with iDescriptor-ui.h in DeviceSidebarWidget and ToolboxWidget.
- Update ToolboxWidget to include CableInfoWidget as a selectable tool.
- Remove unused ClickableWidget header file.
- Updated CMakeLists.txt to include platform-specific source files for macOS.
- Added new icon for disk unmount button.
- Modified resources.qrc to include the new icon.
- Implemented iFuse disk unmount button and manager classes for handling iFuse operations on Linux.
- Created iFuseWidget for managing iPhone disk mounting, including UI and process handling.
- Integrated iFuse functionality into the main application, allowing users to mount and unmount iPhone disks.
- Enhanced DeviceInfoWidget and other UI components for better user experience.
- Added support for displaying mounted iFuse paths in the status bar.
- Implemented CustomTab class with notification support and custom painting.
- Created CustomTabWidget to manage multiple tabs with a stacked widget layout.
- Integrated glider animation for smooth tab transitions.
- Updated DeviceInfoWidget to improve layout and visual appearance with shadows.
- Refactored DeviceMenuWidget to use QStackedWidget instead of QTabWidget for better flexibility.
- Enhanced main window setup with custom tab widget and improved device management UI.
- Added macOS specific window styling for a more native look.
- Improved ToolboxWidget layout and styling for better user experience.
- Added InstalledAppsWidget for displaying installed applications on the device.
- Created AppTabWidget for individual app representation with icon and details.
- Integrated fetching of app icons from Apple and displaying them in the widget.
- Implemented search functionality to filter installed apps.
- Added functionality to manage favorite places in SettingsManager.
- Introduced methods to save, remove, and retrieve favorite places with proper cleanup of invalid entries.
- Enhanced UI with responsive design and improved user interaction.
- Added support for AFC2 and improved file exploration capabilities.
- Adds battery widget and real-time battery monitoring
- Creates custom battery widget component for visual battery status display
- Integrates comprehensive battery information including charging state,
current level, connection type (USB/USB-C), and power consumption
- Implements automatic battery status updates every 30 seconds to keep
information current during device connection
- Refactors battery data retrieval into separate service function for
better code organization and reusability
- Enhances device info header with charging status, power consumption,
and connection type indicators alongside visual battery widget