From cba185dfa0037c9d8e874753cb1274d5fbe711b6 Mon Sep 17 00:00:00 2001 From: Lava <34743145+CanglongCl@users.noreply.github.com> Date: Thu, 8 Feb 2024 23:58:24 -0800 Subject: [PATCH] Implement global shortcuts default value in SwiftUI Mode (#395) * fix: default value in short cut * refactor: delete unused file --- Easydict.xcodeproj/project.pbxproj | 4 -- .../Configuration+Defaults.swift | 46 ++++++++----------- .../Feature/Shortcut/Shortcut+Default.swift | 31 ------------- .../NewApp/Feature/Shortcut/Shortcut.swift | 8 ---- 4 files changed, 20 insertions(+), 69 deletions(-) delete mode 100644 Easydict/NewApp/Feature/Shortcut/Shortcut+Default.swift diff --git a/Easydict.xcodeproj/project.pbxproj b/Easydict.xcodeproj/project.pbxproj index a56b655cb..4c142dfe5 100644 --- a/Easydict.xcodeproj/project.pbxproj +++ b/Easydict.xcodeproj/project.pbxproj @@ -279,7 +279,6 @@ 9643D93D2B6F829C000FBEA6 /* MainMenuCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D93C2B6F829C000FBEA6 /* MainMenuCommand.swift */; }; 9643D9402B6FC426000FBEA6 /* MainMenuShortcutCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D93F2B6FC426000FBEA6 /* MainMenuShortcutCommand.swift */; }; 9643D9422B6FE4AF000FBEA6 /* Shortcut+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D9412B6FE4AF000FBEA6 /* Shortcut+Bind.swift */; }; - 9643D9442B6FEF5F000FBEA6 /* Shortcut+Default.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D9432B6FEF5F000FBEA6 /* Shortcut+Default.swift */; }; 9643D9462B71D103000FBEA6 /* KeyHolderRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D9452B71D103000FBEA6 /* KeyHolderRowView.swift */; }; 9643D94A2B71EABE000FBEA6 /* KeyHolderAlterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D9492B71EABE000FBEA6 /* KeyHolderAlterView.swift */; }; 9643D94C2B71F74D000FBEA6 /* MainMenuShortcutCommandItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D94B2B71F74D000FBEA6 /* MainMenuShortcutCommandItem.swift */; }; @@ -803,7 +802,6 @@ 9643D93C2B6F829C000FBEA6 /* MainMenuCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuCommand.swift; sourceTree = ""; }; 9643D93F2B6FC426000FBEA6 /* MainMenuShortcutCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuShortcutCommand.swift; sourceTree = ""; }; 9643D9412B6FE4AF000FBEA6 /* Shortcut+Bind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Shortcut+Bind.swift"; sourceTree = ""; }; - 9643D9432B6FEF5F000FBEA6 /* Shortcut+Default.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Shortcut+Default.swift"; sourceTree = ""; }; 9643D9452B71D103000FBEA6 /* KeyHolderRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyHolderRowView.swift; sourceTree = ""; }; 9643D9492B71EABE000FBEA6 /* KeyHolderAlterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyHolderAlterView.swift; sourceTree = ""; }; 9643D94B2B71F74D000FBEA6 /* MainMenuShortcutCommandItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuShortcutCommandItem.swift; sourceTree = ""; }; @@ -2272,7 +2270,6 @@ isa = PBXGroup; children = ( 967712ED2B5B943400105E0F /* Shortcut.swift */, - 9643D9432B6FEF5F000FBEA6 /* Shortcut+Default.swift */, 9643D9412B6FE4AF000FBEA6 /* Shortcut+Bind.swift */, 9608354F2B6791F200C6A931 /* Shortcut+Validator.swift */, 9643D9552B73B3CD000FBEA6 /* Shortcut+Menu.swift */, @@ -3003,7 +3000,6 @@ 03BDA7B92A26DA280079D04F /* NSProcessInfo+XPMArgumentParser.m in Sources */, 03542A4F2937B64B00C34C33 /* EZYoudaoOCRResponse.m in Sources */, 03B0233929231FA6001C7E63 /* MMTool.m in Sources */, - 9643D9442B6FEF5F000FBEA6 /* Shortcut+Default.swift in Sources */, 03542A552937B7DE00C34C33 /* EZError.m in Sources */, 17BCAEF72B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m in Sources */, 03BDA7B82A26DA280079D04F /* XPMValuedArgument.m in Sources */, diff --git a/Easydict/NewApp/Configuration/Configuration+Defaults.swift b/Easydict/NewApp/Configuration/Configuration+Defaults.swift index 240aed001..ea4839965 100644 --- a/Easydict/NewApp/Configuration/Configuration+Defaults.swift +++ b/Easydict/NewApp/Configuration/Configuration+Defaults.swift @@ -10,12 +10,6 @@ import Defaults import Foundation import Magnet -/// Utils -extension Defaults.Keys { - /// is first launch - static let firstLaunch = Key("EZConfiguration_kFirstLaunch", default: true) -} - // Setting extension Defaults.Keys { // rename `from` @@ -178,26 +172,26 @@ extension Defaults.Keys { /// shortcut extension Defaults.Keys { // Global - static let selectionShortcut = Key("EZSelectionShortcutKey_keyHolder") - static let snipShortcut = Key("EZSnipShortcutKey_keyHolder") - static let inputShortcut = Key("EZInputShortcutKey_keyHolder") - static let screenshotOCRShortcut = Key("EZScreenshotOCRShortcutKey_keyHolder") - static let showMiniWindowShortcut = Key("EZShowMiniShortcutKey_keyHolder") + static let selectionShortcut = Key("EZSelectionShortcutKey_keyHolder", default: KeyCombo(key: .d, cocoaModifiers: .option)) + static let snipShortcut = Key("EZSnipShortcutKey_keyHolder", default: KeyCombo(key: .s, cocoaModifiers: .option)) + static let inputShortcut = Key("EZInputShortcutKey_keyHolder", default: KeyCombo(key: .a, cocoaModifiers: .option)) + static let screenshotOCRShortcut = Key("EZScreenshotOCRShortcutKey_keyHolder", default: KeyCombo(key: .f, cocoaModifiers: [.option, .shift])) + static let showMiniWindowShortcut = Key("EZShowMiniShortcutKey_keyHolder", default: KeyCombo(key: .s, cocoaModifiers: .option)) // App - static let clearInputShortcut = Key("EZClearInputShortcutKey_keyHolder") - static let clearAllShortcut = Key("EZClearAllShortcutKey_keyHolder") - static let copyShortcut = Key("EZCopyShortcutKey_keyHolder") - static let copyFirstResultShortcut = Key("EZCopyFirstResultShortcutKey_keyHolder") - static let focusShortcut = Key("EZFocusShortcutKey_keyHolder") - static let playShortcut = Key("EZPlayShortcutKey_keyHolder") - static let retryShortcut = Key("EZRetryShortcutKey_keyHolder") - static let toggleShortcut = Key("EZToggleShortcutKey_keyHolder") - static let pinShortcut = Key("EZPinShortcutKey_keyHolder") - static let hideShortcut = Key("EZHideShortcutKey_keyHolder") - static let increaseFontSize = Key("EZIncreaseFontSizeShortcutKey_keyHolder") - static let decreaseFontSize = Key("EZDecreaseFontSizeShortcutKey_keyHolder") - static let googleShortcut = Key("EZGoogleShortcutKey_keyHolder") - static let eudicShortcut = Key("EZEudicShortcutKey_keyHolder") - static let appleDictionaryShortcut = Key("EZAppleDictionaryShortcutKey_keyHolder") + static let clearInputShortcut = Key("EZClearInputShortcutKey_keyHolder", default: KeyCombo(key: .k, cocoaModifiers: .command)) + static let clearAllShortcut = Key("EZClearAllShortcutKey_keyHolder", default: KeyCombo(key: .k, cocoaModifiers: [.command, .shift])) + static let copyShortcut = Key("EZCopyShortcutKey_keyHolder", default: KeyCombo(key: .c, cocoaModifiers: [.command, .shift])) + static let copyFirstResultShortcut = Key("EZCopyFirstResultShortcutKey_keyHolder", default: KeyCombo(key: .j, cocoaModifiers: [.command, .shift])) + static let focusShortcut = Key("EZFocusShortcutKey_keyHolder", default: KeyCombo(key: .i, cocoaModifiers: .command)) + static let playShortcut = Key("EZPlayShortcutKey_keyHolder", default: KeyCombo(key: .s, cocoaModifiers: .command)) + static let retryShortcut = Key("EZRetryShortcutKey_keyHolder", default: KeyCombo(key: .r, cocoaModifiers: .command)) + static let toggleShortcut = Key("EZToggleShortcutKey_keyHolder", default: KeyCombo(key: .t, cocoaModifiers: .command)) + static let pinShortcut = Key("EZPinShortcutKey_keyHolder", default: KeyCombo(key: .p, cocoaModifiers: .command)) + static let hideShortcut = Key("EZHideShortcutKey_keyHolder", default: KeyCombo(key: .y, cocoaModifiers: .command)) + static let increaseFontSize = Key("EZIncreaseFontSizeShortcutKey_keyHolder", default: KeyCombo(key: .keypadPlus, cocoaModifiers: .command)) + static let decreaseFontSize = Key("EZDecreaseFontSizeShortcutKey_keyHolder", default: KeyCombo(key: .keypadMinus, cocoaModifiers: .command)) + static let googleShortcut = Key("EZGoogleShortcutKey_keyHolder", default: KeyCombo(key: .return, cocoaModifiers: .command)) + static let eudicShortcut = Key("EZEudicShortcutKey_keyHolder", default: KeyCombo(key: .return, cocoaModifiers: [.command, .shift])) + static let appleDictionaryShortcut = Key("EZAppleDictionaryShortcutKey_keyHolder", default: KeyCombo(key: .d, cocoaModifiers: [.command, .shift])) } diff --git a/Easydict/NewApp/Feature/Shortcut/Shortcut+Default.swift b/Easydict/NewApp/Feature/Shortcut/Shortcut+Default.swift deleted file mode 100644 index d48d74d1d..000000000 --- a/Easydict/NewApp/Feature/Shortcut/Shortcut+Default.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// Shortcut+Default.swift -// Easydict -// -// Created by Sharker on 2024/2/5. -// Copyright © 2024 izual. All rights reserved. -// - -import Defaults -import Magnet - -extension Shortcut { - // set defalut for app shortcut - func setDefaultForAppShortcut() { - Defaults[.clearInputShortcut] = KeyCombo(key: .k, cocoaModifiers: .command) - Defaults[.clearAllShortcut] = KeyCombo(key: .k, cocoaModifiers: [.command, .shift]) - Defaults[.copyShortcut] = KeyCombo(key: .c, cocoaModifiers: [.command, .shift]) - Defaults[.copyFirstResultShortcut] = KeyCombo(key: .j, cocoaModifiers: [.command, .shift]) - Defaults[.focusShortcut] = KeyCombo(key: .i, cocoaModifiers: .command) - Defaults[.playShortcut] = KeyCombo(key: .s, cocoaModifiers: .command) - Defaults[.retryShortcut] = KeyCombo(key: .r, cocoaModifiers: .command) - Defaults[.toggleShortcut] = KeyCombo(key: .t, cocoaModifiers: .command) - Defaults[.pinShortcut] = KeyCombo(key: .p, cocoaModifiers: .command) - Defaults[.hideShortcut] = KeyCombo(key: .y, cocoaModifiers: .command) - Defaults[.increaseFontSize] = KeyCombo(key: .keypadPlus, cocoaModifiers: .command) - Defaults[.decreaseFontSize] = KeyCombo(key: .keypadMinus, cocoaModifiers: .command) - Defaults[.googleShortcut] = KeyCombo(key: .return, cocoaModifiers: .command) - Defaults[.eudicShortcut] = KeyCombo(key: .return, cocoaModifiers: [.command, .shift]) - Defaults[.appleDictionaryShortcut] = KeyCombo(key: .d, cocoaModifiers: [.command, .shift]) - } -} diff --git a/Easydict/NewApp/Feature/Shortcut/Shortcut.swift b/Easydict/NewApp/Feature/Shortcut/Shortcut.swift index c08c2dc2a..d4be0b625 100644 --- a/Easydict/NewApp/Feature/Shortcut/Shortcut.swift +++ b/Easydict/NewApp/Feature/Shortcut/Shortcut.swift @@ -99,14 +99,6 @@ class Shortcut: NSObject { @objc static func setupShortcut() { let shortcut = Shortcut.shared shortcut.restoreShortcut() - - if Defaults[.firstLaunch] { - Defaults[.firstLaunch] = false - // set defalut for app shortcut - shortcut.setDefaultForAppShortcut() - } else { - // do nothing - } } // Make sure the class has only one instance