Skip to content

Commit

Permalink
Implement Reverso Context #19
Browse files Browse the repository at this point in the history
Prevent to speak selected text by holding Alt or Cmd while selecting text with  in Safari
  • Loading branch information
filimo committed Oct 10, 2019
1 parent 9369957 commit 5f1f8fb
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 21 deletions.
29 changes: 14 additions & 15 deletions ReaderTranslator/Views/ReaderView/Modes/SafariView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,25 @@ struct SafariView: View {
if let extra = event.extra,
extra.shiftKey == false {

if extra.metaKey == true {
SpeechSynthesizer.speak()
}else{
if extra.keyCode == 65 { // a
self.store.isVoiceEnabled.toggle()
}
if extra.keyCode == 83 { // s
self.store.canSafariSendSelectedText.toggle()
if self.store.canSafariSendSelectedText {
self.store.translateAction = .translator(event.extra?.selectedText ?? "")
}
}
if extra.altKey == true && extra.metaKey == true { //Alt+Cmd
SpeechSynthesizer.speak()
if extra.keyCode == 65 { // a
self.store.isVoiceEnabled.toggle()
}
if extra.keyCode == 83 { // s
self.store.canSafariSendSelectedText.toggle()
if self.store.canSafariSendSelectedText {
self.store.translateAction = .translator(event.extra?.selectedText ?? "")
}
}
if extra.altKey == true && extra.metaKey == true { //Alt+Cmd
SpeechSynthesizer.speak()
}
}
case "selectionchange":
if store.canSafariSendSelectedText {
store.translateAction = .translator(event.extra?.selectedText ?? "")
if let extra = event.extra,
extra.altKey != true && extra.metaKey != true {
store.translateAction = .translator(event.extra?.selectedText ?? "")
}
}
default:
os_log("DOMEvent %@ is not recognized", type: .debug, event.name)
Expand Down
22 changes: 16 additions & 6 deletions ReaderTranslatorSafari/reader-translate-extension.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
(function() {
var keysStatus = {}

function send(name, source, e) {
var txt = document.getSelection().toString()
if(txt.trim()) {
Expand All @@ -7,12 +9,12 @@
name: name,
source: source,
extra: {
ctrlKey: e.ctrlKey,
altKey: e.altKey,
metaKey: e.metaKey, //⌘ Command
shiftKey: e.shiftKey,
which: e.which,
keyCode: e.keyCode,
ctrlKey: e.ctrlKey || keysStatus.ctrlKey,
altKey: e.altKey || keysStatus.altKey,
metaKey: e.metaKey || keysStatus.metaKey, //⌘ Command
shiftKey: e.shiftKey || keysStatus.shiftKey,
which: e.which || keysStatus.which,
keyCode: e.keyCode || keysStatus.keyCode,
selectedText: txt,
}
}
Expand All @@ -25,6 +27,14 @@
// send({name: 'DOMContentLoaded', source: 'document'})
})

document.addEventListener("mousedown", (event) => {
keysStatus = event
})

document.addEventListener("mouseup", (event) => {
keysStatus = {}
})

document.addEventListener('selectionchange', (event) => {
var txt = document.getSelection().toString()
if(txt.trim()) {
Expand Down

0 comments on commit 5f1f8fb

Please sign in to comment.