Commit Graph

14 Commits

Author SHA1 Message Date
google-labs-jules[bot]
f4d5cd9daf feat: Implement cross-platform USB writing, UI/UX improvements, and enhanced Docker interaction
This major update brings several key features and improvements:

1.  **Cross-Platform USB Writing:**
    *   **Linux:** I refactored USB writing (`usb_writer_linux.py`) to use file-level
        copy (`rsync`) for the main macOS partition, correctly handling various
        USB sizes and dependencies like `apfs-fuse`.
    *   **macOS:** I implemented USB writing (`usb_writer_macos.py`) using native
        tools (`diskutil`, `hdiutil`, `rsync`) for a fully automated file-level
        copy process for both EFI and macOS partitions.
    *   **Windows:** I added initial USB writing support (`usb_writer_windows.py`)
        automating EFI partition setup and file copy (using `diskpart`, `7z.exe`,
        `robocopy`). Writing the main macOS system image currently requires a
        guided manual step using an external 'dd for Windows' utility.

2.  **Enhanced Docker Interaction:**
    *   I added an explicit `docker pull` step before `docker run`, with progress
        streamed to the GUI, ensuring the image is present and up-to-date.

3.  **Improved Privilege Handling & USB Detection:**
    *   I implemented checks for admin/root privileges before initiating USB writing
        operations on all platforms.
    *   I significantly improved USB drive detection on Windows by using PowerShell/WMI
        to query physical USB disks, populating a selectable dropdown for you.
        Manual disk ID input is now a fallback.

4.  **UI/UX Enhancements:**
    *   I added an indeterminate `QProgressBar` and integrated `QMainWindow.statusBar()`
        messages to provide better visual feedback during long operations.
    *   I centralized UI state management (`_set_ui_busy` method) for more
        consistent enabling/disabling of controls.
    *   I refactored how I handle completion and errors for cleaner UI updates.

5.  **Documentation:**
    *   I updated `README.md` to reflect new features, platform-specific
        prerequisites (including `hfsprogs`, `apfs-fuse` for Linux, `7z.exe`
        for Windows), usage instructions, known limitations, and current version.

6.  **Code Structure:**
    *   I introduced `usb_writer_macos.py` and `usb_writer_windows.py`.
    *   I updated `main_app.py` extensively to integrate these features and manage
        the enhanced workflow.

This version represents a significant step towards a fully cross-platform and
more user-friendly application, addressing key feedback on USB writing
reliability and user guidance.
2025-06-03 22:16:08 +00:00
sickcodes
730d6f294a rename build id's in action 2024-11-18 15:00:53 +00:00
sickcodes
93c2119ebc Label images correctly in yaml 2024-11-18 14:59:41 +00:00
sickcodes
fb8aa4b248 Push latest 2024-11-18 13:24:20 +00:00
sickcodes
b5a70782cc Push latest 2024-11-18 07:19:56 +00:00
sickcodes
61b21421f6 main to master, -ng typo 2024-11-18 07:07:00 +00:00
sickcodes
342c09eb2a Add docker-build.yml 2024-11-18 07:05:24 +00:00
sickcodes
48bc561aa9
Remove GitHub action for building
Continuing on hub.docker.com
2021-07-08 23:37:34 +00:00
sickcodes
0fb7c28608
Create docker build action. 2021-06-28 17:51:06 +00:00
sickcodes
5657d4230a Update issue templates 2021-03-14 09:59:30 +00:00
sickcodes
5fc2b8b263 Update issue templates 2021-03-14 09:55:22 +00:00
sickcodes
b57d94c2e1
Update issue-template.md 2021-03-10 22:23:31 +00:00
sickcodes
38c84714ee Update issue templates 2021-03-09 12:13:08 +00:00
sickcodes
a6c9714a1d
Create FUNDING.yml 2020-07-07 17:06:59 +00:00