diff --git a/VoiceInk.xcodeproj/project.pbxproj b/VoiceInk.xcodeproj/project.pbxproj index 2e004b1..63549e3 100644 --- a/VoiceInk.xcodeproj/project.pbxproj +++ b/VoiceInk.xcodeproj/project.pbxproj @@ -11,11 +11,11 @@ E1A261122CC143AC00B233D1 /* KeyboardShortcuts in Frameworks */ = {isa = PBXBuildFile; productRef = E1A261112CC143AC00B233D1 /* KeyboardShortcuts */; }; E1ADD45A2CC5352A00303ECB /* LaunchAtLogin in Frameworks */ = {isa = PBXBuildFile; productRef = E1ADD4592CC5352A00303ECB /* LaunchAtLogin */; }; E1ADD45F2CC544F100303ECB /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = E1ADD45E2CC544F100303ECB /* Sparkle */; }; - E1CE28782E4336150082B758 /* whisper.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E1CE28772E4336150082B758 /* whisper.xcframework */; }; - E1CE28792E4336150082B758 /* whisper.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E1CE28772E4336150082B758 /* whisper.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; E1D7EF992E35E16C00640029 /* MediaRemoteAdapter in Frameworks */ = {isa = PBXBuildFile; productRef = E1D7EF982E35E16C00640029 /* MediaRemoteAdapter */; }; E1D7EF9A2E35E19B00640029 /* MediaRemoteAdapter in Embed Frameworks */ = {isa = PBXBuildFile; productRef = E1D7EF982E35E16C00640029 /* MediaRemoteAdapter */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - E1F5FA7A2DA6CBF900B1FD8A /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = E1F5FA792DA6CBF900B1FD8A /* Zip */; }; + E1ECEC102E44551F00DFFBA8 /* whisper.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = E1B2DCAA2E3DE70A008DFD68 /* whisper.xcframework */; }; + E1ECEC112E44551F00DFFBA8 /* whisper.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = E1B2DCAA2E3DE70A008DFD68 /* whisper.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + E1ECEC162E44591300DFFBA8 /* Zip in Frameworks */ = {isa = PBXBuildFile; productRef = E1ECEC152E44591300DFFBA8 /* Zip */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,7 +42,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - E1CE28792E4336150082B758 /* whisper.xcframework in Embed Frameworks */, + E1ECEC112E44551F00DFFBA8 /* whisper.xcframework in Embed Frameworks */, E1D7EF9A2E35E19B00640029 /* MediaRemoteAdapter in Embed Frameworks */, ); name = "Embed Frameworks"; @@ -81,13 +81,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E1ECEC162E44591300DFFBA8 /* Zip in Frameworks */, E1ADD45A2CC5352A00303ECB /* LaunchAtLogin in Frameworks */, E1D7EF992E35E16C00640029 /* MediaRemoteAdapter in Frameworks */, E10F06092E3F390600F7FBDC /* FluidAudio in Frameworks */, - E1CE28782E4336150082B758 /* whisper.xcframework in Frameworks */, + E1ECEC102E44551F00DFFBA8 /* whisper.xcframework in Frameworks */, E1ADD45F2CC544F100303ECB /* Sparkle in Frameworks */, E1A261122CC143AC00B233D1 /* KeyboardShortcuts in Frameworks */, - E1F5FA7A2DA6CBF900B1FD8A /* Zip in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -162,9 +162,9 @@ E1A261112CC143AC00B233D1 /* KeyboardShortcuts */, E1ADD4592CC5352A00303ECB /* LaunchAtLogin */, E1ADD45E2CC544F100303ECB /* Sparkle */, - E1F5FA792DA6CBF900B1FD8A /* Zip */, E1D7EF982E35E16C00640029 /* MediaRemoteAdapter */, E10F06082E3F390600F7FBDC /* FluidAudio */, + E1ECEC152E44591300DFFBA8 /* Zip */, ); productName = VoiceInk; productReference = E11473B02CBE0F0A00318EE4 /* VoiceInk.app */; @@ -252,9 +252,9 @@ E1A261102CC143AC00B233D1 /* XCRemoteSwiftPackageReference "KeyboardShortcuts" */, E1ADD4582CC5352A00303ECB /* XCRemoteSwiftPackageReference "LaunchAtLogin-Modern" */, E1ADD45D2CC544F100303ECB /* XCRemoteSwiftPackageReference "Sparkle" */, - E1F5FA782DA6CBF900B1FD8A /* XCRemoteSwiftPackageReference "Zip" */, E1D7EF972E35E16C00640029 /* XCRemoteSwiftPackageReference "mediaremote-adapter" */, E10FFA112E3F37D100F7FBDC /* XCRemoteSwiftPackageReference "FluidAudio" */, + E1ECEC142E44590200DFFBA8 /* XCRemoteSwiftPackageReference "Zip" */, ); preferredProjectObjectVersion = 77; productRefGroup = E11473B12CBE0F0A00318EE4 /* Products */; @@ -664,7 +664,7 @@ kind = branch; }; }; - E1F5FA782DA6CBF900B1FD8A /* XCRemoteSwiftPackageReference "Zip" */ = { + E1ECEC142E44590200DFFBA8 /* XCRemoteSwiftPackageReference "Zip" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/marmelroy/Zip"; requirement = { @@ -700,9 +700,9 @@ package = E1D7EF972E35E16C00640029 /* XCRemoteSwiftPackageReference "mediaremote-adapter" */; productName = MediaRemoteAdapter; }; - E1F5FA792DA6CBF900B1FD8A /* Zip */ = { + E1ECEC152E44591300DFFBA8 /* Zip */ = { isa = XCSwiftPackageProductDependency; - package = E1F5FA782DA6CBF900B1FD8A /* XCRemoteSwiftPackageReference "Zip" */; + package = E1ECEC142E44590200DFFBA8 /* XCRemoteSwiftPackageReference "Zip" */; productName = Zip; }; /* End XCSwiftPackageProductDependency section */ diff --git a/VoiceInk/Views/Settings/SettingsView.swift b/VoiceInk/Views/Settings/SettingsView.swift index ce706e1..8d66cc6 100644 --- a/VoiceInk/Views/Settings/SettingsView.swift +++ b/VoiceInk/Views/Settings/SettingsView.swift @@ -18,7 +18,7 @@ struct SettingsView: View { @State private var showResetOnboardingAlert = false @State private var currentShortcut = KeyboardShortcuts.getShortcut(for: .toggleMiniRecorder) @State private var isCustomCancelEnabled = false - @AppStorage("shouldPreserveClipboard") private var shouldPreserveClipboard = false + var body: some View { ScrollView { @@ -133,11 +133,7 @@ struct SettingsView: View { .toggleStyle(.switch) .help("Automatically pause active media playback when recording starts and resume when recording stops") - Toggle(isOn: $shouldPreserveClipboard) { - Text("Preserve clipboard after paste") - } - .toggleStyle(.switch) - .help("After pasting the transcript, the clipboard will be restored to its previous content.") + } } diff --git a/VoiceInk/Whisper/WhisperState.swift b/VoiceInk/Whisper/WhisperState.swift index 622960e..c93bef3 100644 --- a/VoiceInk/Whisper/WhisperState.swift +++ b/VoiceInk/Whisper/WhisperState.swift @@ -27,7 +27,7 @@ class WhisperState: NSObject, ObservableObject { @Published var clipboardMessage = "" @Published var miniRecorderError: String? @Published var shouldCancelRecording = false - @AppStorage("shouldPreserveClipboard") private var shouldPreserveClipboard = false + @Published var recorderType: String = UserDefaults.standard.string(forKey: "RecorderType") ?? "mini" { didSet { @@ -359,7 +359,7 @@ class WhisperState: NSObject, ObservableObject { DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) { - CursorPaster.pasteAtCursor(text, shouldPreserveClipboard: self.shouldPreserveClipboard) + CursorPaster.pasteAtCursor(text, shouldPreserveClipboard: true) let powerMode = PowerModeManager.shared if let activeConfig = powerMode.currentActiveConfiguration, activeConfig.isAutoSendEnabled {