-
Notifications
You must be signed in to change notification settings - Fork 0
/
GoogleHotkeys.au3
104 lines (78 loc) · 2.67 KB
/
GoogleHotkeys.au3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#AutoIt3Wrapper_Icon=icons\ghMain.ico
#AutoIt3Wrapper_Outfile_x64=GoogleHotkeys-0.4.0\GoogleHotkeys.exe
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Description=Hotkeys for Google Translate and Search
#AutoIt3Wrapper_Res_ProductName=GoogleHotkeys
#AutoIt3Wrapper_Res_ProductVersion=0.4.0
#AutoIt3Wrapper_Res_LegalCopyright=VJ-Duardo
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
#include <TrayConstants.au3>
#include <Misc.au3>
#include <Shared.au3>
;AutoIt: v3.3.14.5
;Author: VJ-Duardo
_Singleton(@ScriptName)
Global $hDataFile = 0
Global Const $eEmptyKey = "$"
Global Const $eSeparatorKey = ","
Global Const $eTranslateLinkMain = "https://translate.google.com/?sl=auto&tl={language}&text="
Global $sTranslateLink = StringReplace($eTranslateLinkMain, "{language}", $eTranslateLanguageDefault)
Global Const $eSearchLink = "https://www.google.com/search?q="
_OpenDataFile()
While 1
Sleep(100)
WEnd
Func _OpenDataFile($bSecondTry = False)
If Call("_SaveFileCheck") == True Then
$hDataFile = FileOpen($eSettingsFilename, $FO_READ)
Else
MsgBox($MB_SYSTEMMODAL, "", "There is an issue with the save file.")
Exit
EndIf
_ReadDataFile()
Local Const $eTrayTimeout = 3
if(UBound($CmdLine) > 1) Then
If $CmdLine[1] == "restart" Then
TrayTip($eProgramName, $eProgramName & " has been restarted.", $eTrayTimeout, $TIP_ICONASTERISK)
EndIf
Else
TrayTip($eProgramName, $eProgramName & " is now active.", $eTrayTimeout, $TIP_ICONASTERISK)
EndIf
FileClose($hDataFile)
EndFunc
Func _ReadDataFile()
Local $sHotkeyString = StringReplace(StringReplace(FileReadLine($hDataFile), $eSeparatorKey, ""), $eEmptyKey, "")
HotKeySet($sHotkeyString, "_Translate")
$sHotkeyString = StringReplace(StringReplace(FileReadLine($hDataFile, 2), $eSeparatorKey, ""), $eEmptyKey, "")
HotKeySet($sHotkeyString, "_Research")
$sTranslateLink = StringReplace($eTranslateLinkMain, "{language}", FileReadLine($hDataFile, 3))
EndFunc
Func _UseMarkedText($sLink)
Local $vClipboard = ClipGet()
ClipPut("")
While _IsPressed("11") or _IsPressed("10") or _IsPressed("12")
sleep(1)
WEnd
Send("^c")
sleep(100)
Local $vClipContent = ClipGet()
If Not @error Then
Local $sClipped = Call("_EscapeURLSymbols", $vClipContent)
ShellExecute($sLink & $sClipped)
EndIf
ClipPut($vClipboard)
EndFunc
Func _EscapeURLSymbols($sInput)
For $i = 0 To $oURLEscapeDic.Count -1
$sInput = StringReplace($sInput, $oURLEscapeDic.Keys[$i], $oURLEscapeDic.Item($oURLEscapeDic.Keys[$i]))
Next
Return $sInput
EndFunc
Func _Translate ()
Call("_UseMarkedText", $sTranslateLink)
EndFunc
Func _Research()
Call("_UseMarkedText", $eSearchLink)
EndFunc