From 2a5803b1c55364f03c08a19dbead0d83953b9157 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 28 Feb 2024 22:17:18 +1100 Subject: [PATCH 1/2] [macOS] A couple of small bugfixes --- macos/QMK Toolbox/Info.plist | 8 ++++++-- macos/QMK Toolbox/MainViewController.swift | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/macos/QMK Toolbox/Info.plist b/macos/QMK Toolbox/Info.plist index dac16aa8cd..2e9747eeb5 100644 --- a/macos/QMK Toolbox/Info.plist +++ b/macos/QMK Toolbox/Info.plist @@ -13,6 +13,8 @@ CFBundleTypeRole Viewer + LSHandlerRank + Default LSItemContentTypes fm.qmk.hex @@ -20,7 +22,7 @@ LSTypeIsPackage 0 NSDocumentClass - NSDocument + CFBundleTypeExtensions @@ -29,6 +31,8 @@ CFBundleTypeRole Viewer + LSHandlerRank + Default LSItemContentTypes com.apple.macbinary-archive @@ -36,7 +40,7 @@ LSTypeIsPackage 0 NSDocumentClass - NSDocument + CFBundleExecutable diff --git a/macos/QMK Toolbox/MainViewController.swift b/macos/QMK Toolbox/MainViewController.swift index cdf5e98c94..4e8298b022 100644 --- a/macos/QMK Toolbox/MainViewController.swift +++ b/macos/QMK Toolbox/MainViewController.swift @@ -1,4 +1,5 @@ import Cocoa +import UniformTypeIdentifiers class MainViewController: NSViewController, USBListenerDelegate { @IBOutlet var filepathBox: NSComboBox! @@ -273,7 +274,10 @@ class MainViewController: NSViewController, USBListenerDelegate { openPanel.canChooseDirectories = false openPanel.allowsMultipleSelection = false openPanel.message = "Select firmware to load" - openPanel.allowedFileTypes = ["bin", "hex"] + openPanel.allowedContentTypes = [ + UTType(filenameExtension: "bin")!, + UTType(filenameExtension: "hex")! + ] openPanel.beginSheetModal(for: window) { response in guard response == .OK, let file = openPanel.url else { return } self.setFilePath(file) From ae1f99513ca4524efdd630327c25760859ad34ec Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 28 Feb 2024 22:26:00 +1100 Subject: [PATCH 2/2] Update some deprecated names --- macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift | 2 +- macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift | 2 +- macos/QMK Toolbox/USB/USBListener.swift | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift b/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift index aedf0bf512..903db6123e 100644 --- a/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift +++ b/macos/QMK Toolbox/USB/Bootloader/BootloaderDevice.swift @@ -124,7 +124,7 @@ class BootloaderDevice: USBDeviceProtocol, CustomStringConvertible { let serialMatcher = IOServiceMatching(kIOSerialBSDServiceValue) var serialIterator: io_iterator_t = 0 - guard IOServiceGetMatchingServices(kIOMasterPortDefault, serialMatcher, &serialIterator) == KERN_SUCCESS else { return nil } + guard IOServiceGetMatchingServices(kIOMainPortDefault, serialMatcher, &serialIterator) == KERN_SUCCESS else { return nil } repeat { let port = IOIteratorNext(serialIterator) diff --git a/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift b/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift index ec235014c0..1995bde460 100644 --- a/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift +++ b/macos/QMK Toolbox/USB/Bootloader/LUFAMSDevice.swift @@ -41,7 +41,7 @@ class LUFAMSDevice: BootloaderDevice { massStorageMatcher[kIOMediaRemovableKey] = true var massStorageIterator: io_iterator_t = 0 - guard IOServiceGetMatchingServices(kIOMasterPortDefault, massStorageMatcher as CFDictionary, &massStorageIterator) == KERN_SUCCESS else { return nil } + guard IOServiceGetMatchingServices(kIOMainPortDefault, massStorageMatcher as CFDictionary, &massStorageIterator) == KERN_SUCCESS else { return nil } repeat { let media = IOIteratorNext(massStorageIterator) diff --git a/macos/QMK Toolbox/USB/USBListener.swift b/macos/QMK Toolbox/USB/USBListener.swift index 81666151f7..bbc28671ea 100644 --- a/macos/QMK Toolbox/USB/USBListener.swift +++ b/macos/QMK Toolbox/USB/USBListener.swift @@ -25,7 +25,7 @@ class USBListener: BootloaderDeviceDelegate { } func start() { - notificationPort = IONotificationPortCreate(kIOMasterPortDefault) + notificationPort = IONotificationPortCreate(kIOMainPortDefault) let runLoopSource = IONotificationPortGetRunLoopSource(notificationPort).takeUnretainedValue() CFRunLoopAddSource(RunLoop.current.getCFRunLoop(), runLoopSource, .defaultMode)