Skip to content

Commit

Permalink
Merge branch 'dev' into stream_service_validation
Browse files Browse the repository at this point in the history
  • Loading branch information
tisfeng authored Feb 9, 2024
2 parents 5931c9b + 213f092 commit 1360105
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 30 deletions.
4 changes: 4 additions & 0 deletions Easydict.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@
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 */; };
9643D9562B73B3CD000FBEA6 /* Shortcut+Menu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9643D9552B73B3CD000FBEA6 /* Shortcut+Menu.swift */; };
9672D7D22B4008B40023B8FB /* MASShortcutBinder+EZMASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 9672D7D12B4008B40023B8FB /* MASShortcutBinder+EZMASShortcutBinder.m */; };
967712EA2B5B913600105E0F /* KeyHolder in Frameworks */ = {isa = PBXBuildFile; productRef = 967712E92B5B913600105E0F /* KeyHolder */; };
967712EE2B5B943400105E0F /* Shortcut.swift in Sources */ = {isa = PBXBuildFile; fileRef = 967712ED2B5B943400105E0F /* Shortcut.swift */; };
Expand Down Expand Up @@ -806,6 +807,7 @@
9643D9452B71D103000FBEA6 /* KeyHolderRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyHolderRowView.swift; sourceTree = "<group>"; };
9643D9492B71EABE000FBEA6 /* KeyHolderAlterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyHolderAlterView.swift; sourceTree = "<group>"; };
9643D94B2B71F74D000FBEA6 /* MainMenuShortcutCommandItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainMenuShortcutCommandItem.swift; sourceTree = "<group>"; };
9643D9552B73B3CD000FBEA6 /* Shortcut+Menu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Shortcut+Menu.swift"; sourceTree = "<group>"; };
9672D7D02B4008B40023B8FB /* MASShortcutBinder+EZMASShortcutBinder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MASShortcutBinder+EZMASShortcutBinder.h"; sourceTree = "<group>"; };
9672D7D12B4008B40023B8FB /* MASShortcutBinder+EZMASShortcutBinder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "MASShortcutBinder+EZMASShortcutBinder.m"; sourceTree = "<group>"; };
967712ED2B5B943400105E0F /* Shortcut.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shortcut.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2273,6 +2275,7 @@
9643D9432B6FEF5F000FBEA6 /* Shortcut+Default.swift */,
9643D9412B6FE4AF000FBEA6 /* Shortcut+Bind.swift */,
9608354F2B6791F200C6A931 /* Shortcut+Validator.swift */,
9643D9552B73B3CD000FBEA6 /* Shortcut+Menu.swift */,
);
path = Shortcut;
sourceTree = "<group>";
Expand Down Expand Up @@ -3031,6 +3034,7 @@
03F639952AA6CFBB009B9914 /* EZBingConfig.m in Sources */,
0AC8A83F2B689E68006DA5CC /* ServiceSecretConfigreValidatable.swift in Sources */,
03D2A3E329F4C6F50035CED4 /* EZNetworkManager.m in Sources */,
9643D9562B73B3CD000FBEA6 /* Shortcut+Menu.swift in Sources */,
0309E1ED292B439A00AFB76A /* EZTextView.m in Sources */,
03B0232B29231FA6001C7E63 /* NSMutableAttributedString+MM.m in Sources */,
03B022E829231FA6001C7E63 /* entry.m in Sources */,
Expand Down
20 changes: 0 additions & 20 deletions Easydict/App/Localizable.xcstrings
Original file line number Diff line number Diff line change
Expand Up @@ -3648,16 +3648,6 @@
}
}
},
"shortcut_confict_message (Shortcut.shared.confictMenuItem?.title ?? \"\")" : {
"localizations" : {
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : ""
}
}
}
},
"shortcut_confict_message %@" : {
"extractionState" : "manual",
"localizations" : {
Expand All @@ -3675,16 +3665,6 @@
}
}
},
"shortcut_confict_title (keyCombo!.keyEquivalentModifierMaskString + keyCombo!.characters)" : {
"localizations" : {
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : ""
}
}
}
},
"shortcut_confict_title %@" : {
"extractionState" : "manual",
"localizations" : {
Expand Down
20 changes: 20 additions & 0 deletions Easydict/NewApp/Feature/Shortcut/Shortcut+Menu.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//
// Shortcut+Menu.swift
// Easydict
//
// Created by Sharker on 2024/2/7.
// Copyright © 2024 izual. All rights reserved.
//

import SwiftUI

extension Shortcut {
@available(macOS 13, *)
func updateMenu(_ type: ShortcutType) { // update shortcut menu
let shortcutTitle = String(localized: LocalizedStringResource(stringLiteral: type.localizedStringKey()))
let menuTitle = String(localized: LocalizedStringResource(stringLiteral: "shortcut"))
let shortcutMenu = NSApp.mainMenu?.items.first(where: { $0.title == menuTitle })
let clearInput = shortcutMenu?.submenu?.items.first(where: { $0.title == shortcutTitle })
clearInput?.keyEquivalent = ""
}
}
2 changes: 0 additions & 2 deletions Easydict/NewApp/View/MenuView/MainMenuCommand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,4 @@ struct EasyDictMainMenu: Commands {
// shortcut
MainMenuShortcutCommand()
}

func showAPIWebSite() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public struct KeyHolderDataItem: Identifiable {
var type: ShortcutType
}

@available(macOS 13, *)
struct KeyHolderWrapper: NSViewRepresentable {
func makeCoordinator() -> Coordinator {
.init(shortcutType: type, confictAlterMessage: $confictAlterMessage)
Expand Down Expand Up @@ -44,6 +45,7 @@ struct KeyHolderWrapper: NSViewRepresentable {
func updateNSView(_: NSViewType, context _: Context) {}
}

@available(macOS 13, *)
extension KeyHolderWrapper {
class Coordinator: NSObject, RecordViewDelegate {
private var type: ShortcutType
Expand All @@ -67,17 +69,17 @@ extension KeyHolderWrapper {
if let key = keyCombo {
// shortcut validate confict
if Shortcut.validateShortcut(key) {
if #available(macOS 12, *) {
confictAlterMessage = ShortcutConfictAlertMessage(title: String(localized: "shortcut_confict_title \(keyCombo!.keyEquivalentModifierMaskString + keyCombo!.characters)"), message: String(localized: "shortcut_confict_message \(Shortcut.shared.confictMenuItem?.title ?? "")"))
} else {
// Fallback on earlier versions
let title = NSLocalizedString("shortcut_confict_title \(keyCombo!.keyEquivalentModifierMaskString + keyCombo!.characters)", comment: "")
let msg = NSLocalizedString("shortcut_confict_message \(Shortcut.shared.confictMenuItem?.title ?? "")", comment: "")
confictAlterMessage = ShortcutConfictAlertMessage(title: title, message: msg)
}
let title = String(localized: "shortcut_confict_title \(key.keyEquivalentModifierMaskString + key.characters)")
let message = String(localized: "shortcut_confict_message \(Shortcut.shared.confictMenuItem?.title ?? "")")
confictAlterMessage = ShortcutConfictAlertMessage(
title: title,
message: message
)
recordView.clear()
return
}
} else { // clear shortcut
Shortcut.shared.updateMenu(type)
}
storeKeyCombo(with: keyCombo)
Shortcut.shared.bindingShortcut(keyCombo: keyCombo, type: type)
Expand Down

0 comments on commit 1360105

Please sign in to comment.