v/GTT
1
0
mirror of https://github.com/eeeXun/GTT.git synced 2025-05-17 16:20:33 -07:00
This commit is contained in:
eeeXun 2022-10-23 01:50:13 +08:00
parent af22ee02b9
commit e723b61e8f
3 changed files with 37 additions and 36 deletions

View File

@ -32,8 +32,8 @@ func configInit() {
// setup // setup
theme = config.GetString("theme") theme = config.GetString("theme")
transparent = config.GetBool("transparent") transparent = config.GetBool("transparent")
translator.src_lang = config.GetString("source_language") translator.srcLang = config.GetString("source_language")
translator.dst_lang = config.GetString("destination_language") translator.dstLang = config.GetString("destination_language")
} }
func updateConfig() { func updateConfig() {
@ -47,13 +47,13 @@ func updateConfig() {
changed = true changed = true
config.Set("transparent", transparent) config.Set("transparent", transparent)
} }
if config.GetString("source_language") != translator.src_lang { if config.GetString("source_language") != translator.srcLang {
changed = true changed = true
config.Set("source_language", translator.src_lang) config.Set("source_language", translator.srcLang)
} }
if config.GetString("destination_language") != translator.dst_lang { if config.GetString("destination_language") != translator.dstLang {
changed = true changed = true
config.Set("destination_language", translator.dst_lang) config.Set("destination_language", translator.dstLang)
} }
if changed { if changed {

View File

@ -18,8 +18,8 @@ const (
) )
type Translator struct { type Translator struct {
src_lang string srcLang string
dst_lang string dstLang string
} }
func (t Translator) Translate(message string) (string, error) { func (t Translator) Translate(message string) (string, error) {
@ -28,8 +28,8 @@ func (t Translator) Translate(message string) (string, error) {
url_str := fmt.Sprintf( url_str := fmt.Sprintf(
textURL, textURL,
LangCode[t.src_lang], LangCode[t.srcLang],
LangCode[t.dst_lang], LangCode[t.dstLang],
url.QueryEscape(message), url.QueryEscape(message),
) )
res, err := http.Get(url_str) res, err := http.Get(url_str)

53
ui.go
View File

@ -31,13 +31,14 @@ func updateBackground() {
Foreground(window.src.prefix_color)) Foreground(window.src.prefix_color))
} }
func updateLang() { // update title and option
src_box.SetTitle(translator.src_lang) func updateTitle() {
dst_box.SetTitle(translator.dst_lang) src_box.SetTitle(translator.srcLang)
src_dropdown.SetCurrentOption(IndexOf(translator.src_lang, Lang)) dst_box.SetTitle(translator.dstLang)
src_dropdown.SetTitle(translator.src_lang) src_dropdown.SetCurrentOption(IndexOf(translator.srcLang, Lang))
dst_dropdown.SetCurrentOption(IndexOf(translator.dst_lang, Lang)) src_dropdown.SetTitle(translator.srcLang)
dst_dropdown.SetTitle(translator.dst_lang) dst_dropdown.SetCurrentOption(IndexOf(translator.dstLang, Lang))
dst_dropdown.SetTitle(translator.dstLang)
} }
func uiInit() { func uiInit() {
@ -72,18 +73,18 @@ func uiInit() {
SetTitleColor(window.dst.border_color) SetTitleColor(window.dst.border_color)
updateBackground() updateBackground()
updateLang() updateTitle()
// handler // handler
pages.SetInputCapture(PagesHandler) pages.SetInputCapture(pagesHandler)
translate_page.SetInputCapture(TranslatePageHandler) translate_page.SetInputCapture(translatePageHandler)
src_dropdown.SetDoneFunc(SrcDropDownHandler). src_dropdown.SetDoneFunc(srcDropDownHandler).
SetSelectedFunc(SrcSelected) SetSelectedFunc(srcSelected)
dst_dropdown.SetDoneFunc(DstDropDownHandler). dst_dropdown.SetDoneFunc(dstDropDownHandler).
SetSelectedFunc(DstSelected) SetSelectedFunc(dstSelected)
} }
func PagesHandler(event *tcell.EventKey) *tcell.EventKey { func pagesHandler(event *tcell.EventKey) *tcell.EventKey {
key := event.Key() key := event.Key()
switch key { switch key {
@ -102,7 +103,7 @@ func PagesHandler(event *tcell.EventKey) *tcell.EventKey {
return event return event
} }
func TranslatePageHandler(event *tcell.EventKey) *tcell.EventKey { func translatePageHandler(event *tcell.EventKey) *tcell.EventKey {
key := event.Key() key := event.Key()
switch key { switch key {
@ -118,18 +119,18 @@ func TranslatePageHandler(event *tcell.EventKey) *tcell.EventKey {
case tcell.KeyCtrlQ: case tcell.KeyCtrlQ:
src_box.SetText("", true) src_box.SetText("", true)
case tcell.KeyCtrlN: case tcell.KeyCtrlN:
err := translator.PlaySound(translator.src_lang, src_box.GetText()) err := translator.PlaySound(translator.srcLang, src_box.GetText())
if err != nil { if err != nil {
src_box.SetText(err.Error(), true) src_box.SetText(err.Error(), true)
} }
case tcell.KeyCtrlP: case tcell.KeyCtrlP:
err := translator.PlaySound(translator.dst_lang, dst_box.GetText(false)) err := translator.PlaySound(translator.dstLang, dst_box.GetText(false))
if err != nil { if err != nil {
dst_box.SetText(err.Error()) dst_box.SetText(err.Error())
} }
case tcell.KeyCtrlS: case tcell.KeyCtrlS:
translator.src_lang, translator.dst_lang = translator.dst_lang, translator.src_lang translator.srcLang, translator.dstLang = translator.dstLang, translator.srcLang
updateLang() updateTitle()
src_text := src_box.GetText() src_text := src_box.GetText()
dst_text := dst_box.GetText(false) dst_text := dst_box.GetText(false)
if len(dst_text) > 0 { if len(dst_text) > 0 {
@ -144,19 +145,19 @@ func TranslatePageHandler(event *tcell.EventKey) *tcell.EventKey {
return event return event
} }
func SrcSelected(text string, index int) { func srcSelected(text string, index int) {
translator.src_lang = text translator.srcLang = text
src_box.SetTitle(text) src_box.SetTitle(text)
src_dropdown.SetTitle(text) src_dropdown.SetTitle(text)
} }
func DstSelected(text string, index int) { func dstSelected(text string, index int) {
translator.dst_lang = text translator.dstLang = text
dst_box.SetTitle(text) dst_box.SetTitle(text)
dst_dropdown.SetTitle(text) dst_dropdown.SetTitle(text)
} }
func SrcDropDownHandler(key tcell.Key) { func srcDropDownHandler(key tcell.Key) {
switch key { switch key {
case tcell.KeyTAB: case tcell.KeyTAB:
app.SetFocus(dst_dropdown) app.SetFocus(dst_dropdown)
@ -165,7 +166,7 @@ func SrcDropDownHandler(key tcell.Key) {
} }
} }
func DstDropDownHandler(key tcell.Key) { func dstDropDownHandler(key tcell.Key) {
switch key { switch key {
case tcell.KeyTAB: case tcell.KeyTAB:
app.SetFocus(src_dropdown) app.SetFocus(src_dropdown)