Commit Graph

89 Commits

Author SHA1 Message Date
uncor3 f0ab7efc6e use low level apis to generate video thumbnail & remove unnecessary code
- Adjusted status bar layout in MainWindow to include app version label.
- Enhanced video thumbnail generation in PhotoModel using FFmpeg for better performance and resource management.
- Streamlined MediaStreamerManager to ensure proper cleanup and thread safety.
- Updated ServiceManager to include safe methods for retrieving file info and handling AFC operations.
- Removed get_device_version
- Cleaned up code and improved readability across multiple files.
- Passed correct args to ZUpdater
2025-11-09 20:27:22 +00:00
uncor3 5685f1ade0 update CMake configuration for AUR build & add PrivateInfoLabel for masked display of sensitive information 2025-11-08 15:09:07 +00:00
uncor3 bdf248ce26 make recovery device support an optional feature 2025-11-08 05:05:17 +00:00
uncor3 d1a113987c replace hardcoded url with REPO_URL macro 2025-11-07 19:48:52 +00:00
uncor3 f687550471 fix bugs and styles
- Fix a bug where export dir wont open
- Make sure currentBatteryLevel is between bounds
2025-11-07 17:41:19 +00:00
uncor3 d0fb0870d4 fix bugs and styles
- Refactored jailbroken tab
- Added new icons
- Fixed files not closed in  read_afc_file_to_byte_array
- Improved memory cache for thumbnails in `PhotoModel`, increasing limit to 150MB.
- Updated UI elements in `SponsorWidget` and `ToolboxWidget` for better aesthetics and usability.
2025-11-07 14:31:28 +00:00
uncor3 e3a5d576f9 rename WirelessPhotoImportWidget to WirelessGalleryImportWidget 2025-11-05 19:59:02 +00:00
uncor3 02f423e8a2 copy required gstreamer plugins and setup env vars for macOS 2025-11-05 17:35:34 +00:00
uncor3 796de0e719 add license header 2025-11-03 19:55:48 -08:00
uncor3 b1adde58dd Add keychain dialog and settings for unsecure backend usage
- Introduced KeychainDialog for managing keychain access during app store sign-in.
- Added settings for enabling/disabling unsecure backend usage in SettingsManager.
- Updated AppsWidget to initialize keychain dialog based on settings.
- Enhanced error messages and UI adjustments in various components.
2025-11-03 14:14:45 -08:00
uncor3 2a86e3090d bug fixes
- update app icon fetching to use QNetworkAccessManager
- fix App icon label dangling pointer
- check updates if autocheckupdates is enabled
2025-11-03 12:36:59 +00:00
uncor3 fa430efdcf fix recovery script 2025-11-02 20:33:57 +00:00
uncor3 c95039264f udev rule checks for recovery devices 2025-11-02 20:11:29 +00:00
uncor3 7eaed96a85 copy just enough gstreamer plugins and handle deps for Windows build
- Added custom command to copy libZUpdater.dll for deployment
- Updated win-deploy.cmake to copy specific GStreamer plugins
- Introduced install scripts for Apple drivers and WinFsp
- Improved DiagnoseWidget UI with scroll area and process indicators
- Adjusted WelcomeWidget to include DiagnoseWidget on non-Apple platforms
2025-11-02 11:39:17 -08:00
uncor3 d3f4c74fbc cleanup styles 2025-11-02 03:39:31 -08:00
uncor3 3ae707b754 integrate ZUpdater & refactor device management and UI components
- Integrated ZUpdater to handle auto updating
- Updated DeviceManagerWidget to improve device selection logic and ensure current device is set correctly when devices are added or removed.
- Enhanced FileExplorerWidget to reset the view when sidebar items are clicked.
- Changed ZIconWidget to inherit from QAbstractButton for better button behavior and removed unnecessary mouse event handling.
- Updated iDescriptor to include device version parsing and improved device version retrieval logic.
- Refactored iFuseDiskUnmountButton and iFuseDiskUnmountButton to use ZIconWidget for a consistent UI.
- Improved iFuseWidget to handle device selection more robustly and update UI accordingly.
- Added SponsorAppCard and SponsorWidget to promote sponsorship within the app.
- Updated ToolboxWidget to streamline device selection and toolbox functionality.
- General code cleanup and comments for better maintainability.
2025-11-01 23:31:59 +00:00
uncor3 4fc2b49251 bug fixes & replace idevice_get_device_version with get_device_version 2025-10-30 11:32:05 +00:00
uncor3 56d03f069a refactor iFuseWidget: streamline UI updates and improve path handling 2025-10-30 04:07:28 -07:00
uncor3 bee399a7e1 use qDebug for logging 2025-10-28 11:10:39 +00:00
uncor3 5749b87926 fix build errors 2025-10-24 02:30:40 -07:00
uncor3 4b81d7bdf1 fix Windows build
- Updated README.md to include CMake command for installation.
- Improved win-deploy.cmake to handle executable path issues and added detailed logging for deployment steps.
- Introduced checks for runtime dependencies and optimized DLL copying logic to avoid unnecessary copies.
- Added additional MinGW runtime DLLs required for GStreamer and FFmpeg.
- Created idescriptor.rc for application versioning and resource management.
- Updated resources.qrc to include application icon.
- Modified AppsWidget to improve UI for install and download actions.
- Adjusted dnssd_service.h to conditionally include headers based on platform.
- Enhanced install_ipa.cpp with additional includes for better compatibility.
- Updated main.cpp to set up environment variables for GStreamer on Windows.
- Improved mainwindow.cpp to add a no devices detected page and integrate dependency checks.
- Cleaned up mainwindow.ui by removing unnecessary layout elements.
- Implemented check_deps.cpp and check_deps.h for verifying required dependencies on Windows.
- Created diagnose_dialog.cpp and diagnose_dialog.h for a dialog to display dependency checks.
- Developed diagnose_widget.cpp and diagnose_widget.h to manage and display dependency items.
- Enhanced sshterminalwidget.cpp to improve terminal handling on Windows.
- Updated welcomewidget.cpp to refine UI layout and spacing for better aesthetics.
2025-10-24 00:24:58 -07:00
uncor3 493c0fc7ea use bundled iproxy on AppImage builds 2025-10-22 01:17:50 +00:00
uncor3 518f9b803d use bundled ifuse on AppImage builds 2025-10-22 00:31:07 +00:00
uncor3 3900f64c84 remove dbus and svg libs & use versioned tarballs 2025-10-21 07:55:05 +00:00
uncor3 b30da266aa fix styles 2025-10-19 03:47:14 -07:00
uncor3 4f10d64d02 fix linux build 2025-10-19 01:21:35 +00:00
uncor3 14c1da9a84 fix build 2025-10-18 15:59:46 -07:00
uncor3 c783123b8d implement WelcomeWidget , fix bugs , add tutorial videos
- 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.
2025-10-18 22:16:15 +00:00
uncor3 8d7b027992 implement settings, fix bugs and enhance ui
- 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.
2025-10-17 06:56:02 +00:00
uncor3 0c23824a4e add toolbox network devices & enhance UI with new icons
- 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.
2025-10-13 13:35:39 -07:00
uncor3 89afe622ab add app icon & update icon paths 2025-10-13 01:21:44 +00:00
uncor3 2ce27fc968 feat: add DeviceImageWidget to display device mockups and wallpapers with current time 2025-10-13 00:43:33 +00:00
uncor3 bb6b577526 implement ServiceManager to handle services safely & cleanup UI
- 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.
2025-10-11 05:36:26 +00:00
uncor3 8d4f4b11f9 improve UI styles
- 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.
2025-10-09 21:24:45 -07:00
uncor3 777ea21a00 feat: recognize recovery devices & add heic support
- 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.
2025-10-08 05:00:02 +00:00
uncor3 ef56f7af33 Add DeviceDatabase 2025-10-08 04:46:21 +00:00
uncor3 b15b205f52 add initial recovery device support for new UI & update styling
- 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.
2025-10-06 15:30:47 -07:00
uncor3 92847227be refactor: open ssh terminal in a new window 2025-10-06 15:07:35 -07:00
uncor3 c8094b5653 layout updates 2025-10-04 11:05:40 -07:00
uncor3 7f0b2d6136 update media logic to use different afc clients 2025-10-04 14:31:34 +00:00
uncor3 4783e5a4f7 WIP: implement dnssd 2025-10-04 04:10:27 -07:00
uncor3 d8439c7591 abstract file explorer logic into AfcExplorerWidget 2025-10-03 20:49:24 +00:00
uncor3 15a70c62ca WIP: implement avahi service 2025-10-03 20:43:44 +00:00
uncor3 d6282762b1 implement ssh connection
- 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.
2025-10-03 06:45:34 -07:00
uncor3 e25f194ee9 Refactor app download process and integrate AppStoreManager
- 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.
2025-10-02 23:02:04 +00:00
uncor3 f0fede4e81 Refactor and enhance UI components
- 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.
2025-10-02 09:29:55 -07:00
uncor3 6bbad2a3b6 WIP: enchance device pairing process
- 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.
2025-10-01 15:10:40 +00:00
uncor3 94f85bd8fe add CableInfoWidget
- 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.
2025-10-01 15:07:44 +00:00
uncor3 8f095aab89 implement ifuse for Linux
- 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.
2025-09-30 04:45:15 +00:00
uncor3 6b9fdd9299 refactor ui
- 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.
2025-09-29 04:29:13 -07:00