v/GTT
1
0
mirror of https://github.com/eeeXun/GTT.git synced 2025-05-17 00:00:16 -07:00
This commit is contained in:
eeeXun 2022-10-23 15:55:01 +08:00
parent da55f4c16d
commit b4466dba03
2 changed files with 48 additions and 34 deletions

27
main.go
View File

@ -9,18 +9,21 @@ var (
// Translate // Translate
translator = NewTranslator() translator = NewTranslator()
// UI // UI
app = tview.NewApplication() app = tview.NewApplication()
srcBox = tview.NewTextArea() srcBox = tview.NewTextArea()
dstBox = tview.NewTextView() dstBox = tview.NewTextView()
srcDropDown = tview.NewDropDown() srcLangDropDown = tview.NewDropDown()
dstDropDown = tview.NewDropDown() dstLangDropDown = tview.NewDropDown()
langButton = tview.NewButton("(1)Language") themeDropDown = tview.NewDropDown()
styleButton = tview.NewButton("(2)Style") transparentDropDown = tview.NewDropDown()
menuButton = tview.NewButton("(3)KeyMap") langButton = tview.NewButton("(1)Language")
translateWindow = tview.NewFlex() styleButton = tview.NewButton("(2)Style")
langWindow = tview.NewFlex() menuButton = tview.NewButton("(3)KeyMap")
mainPage = tview.NewPages() translateWindow = tview.NewFlex()
window Window langWindow = tview.NewFlex()
styleWindow = tview.NewFlex()
mainPage = tview.NewPages()
window Window
// config // config
config = viper.New() config = viper.New()
theme string theme string

55
ui.go
View File

@ -15,16 +15,16 @@ func updateBackground() {
dstBox.SetBackgroundColor(window.dst.backgroundColor) dstBox.SetBackgroundColor(window.dst.backgroundColor)
// dropdown // dropdown
srcDropDown.SetBackgroundColor(window.src.backgroundColor) srcLangDropDown.SetBackgroundColor(window.src.backgroundColor)
srcDropDown.SetListStyles(tcell.StyleDefault. srcLangDropDown.SetListStyles(tcell.StyleDefault.
Background(window.src.backgroundColor). Background(window.src.backgroundColor).
Foreground(window.src.foregroundColor), Foreground(window.src.foregroundColor),
tcell.StyleDefault. tcell.StyleDefault.
Background(window.src.selectedColor). Background(window.src.selectedColor).
Foreground(window.src.prefixColor)) Foreground(window.src.prefixColor))
dstDropDown.SetBackgroundColor(window.dst.backgroundColor) dstLangDropDown.SetBackgroundColor(window.dst.backgroundColor)
dstDropDown.SetListStyles(tcell.StyleDefault. dstLangDropDown.SetListStyles(tcell.StyleDefault.
Background(window.src.backgroundColor). Background(window.src.backgroundColor).
Foreground(window.src.foregroundColor), Foreground(window.src.foregroundColor),
tcell.StyleDefault. tcell.StyleDefault.
@ -36,10 +36,10 @@ func updateBackground() {
func updateTitle() { func updateTitle() {
srcBox.SetTitle(translator.srcLang) srcBox.SetTitle(translator.srcLang)
dstBox.SetTitle(translator.dstLang) dstBox.SetTitle(translator.dstLang)
srcDropDown.SetCurrentOption(IndexOf(translator.srcLang, Lang)) srcLangDropDown.SetCurrentOption(IndexOf(translator.srcLang, Lang))
srcDropDown.SetTitle(translator.srcLang) srcLangDropDown.SetTitle(translator.srcLang)
dstDropDown.SetCurrentOption(IndexOf(translator.dstLang, Lang)) dstLangDropDown.SetCurrentOption(IndexOf(translator.dstLang, Lang))
dstDropDown.SetTitle(translator.dstLang) dstLangDropDown.SetTitle(translator.dstLang)
} }
func attachButton() *tview.Flex { func attachButton() *tview.Flex {
@ -68,19 +68,19 @@ func uiInit() {
dstBox.SetTextColor(window.dst.foregroundColor) dstBox.SetTextColor(window.dst.foregroundColor)
// dropdown // dropdown
srcDropDown.SetOptions(Lang, nil) srcLangDropDown.SetOptions(Lang, nil)
srcDropDown.SetFieldBackgroundColor(window.src.selectedColor). srcLangDropDown.SetFieldBackgroundColor(window.src.selectedColor).
SetFieldTextColor(window.src.foregroundColor). SetFieldTextColor(window.src.foregroundColor).
SetPrefixTextColor(window.dst.prefixColor) SetPrefixTextColor(window.dst.prefixColor)
srcDropDown.SetBorder(true). srcLangDropDown.SetBorder(true).
SetBorderColor(window.src.borderColor). SetBorderColor(window.src.borderColor).
SetTitleColor(window.src.borderColor) SetTitleColor(window.src.borderColor)
dstDropDown.SetOptions(Lang, nil) dstLangDropDown.SetOptions(Lang, nil)
dstDropDown.SetFieldBackgroundColor(window.src.selectedColor). dstLangDropDown.SetFieldBackgroundColor(window.src.selectedColor).
SetFieldTextColor(window.src.foregroundColor). SetFieldTextColor(window.src.foregroundColor).
SetPrefixTextColor(window.dst.prefixColor) SetPrefixTextColor(window.dst.prefixColor)
dstDropDown.SetBorder(true). dstLangDropDown.SetBorder(true).
SetBorderColor(window.dst.borderColor). SetBorderColor(window.dst.borderColor).
SetTitleColor(window.dst.borderColor) SetTitleColor(window.dst.borderColor)
@ -109,18 +109,29 @@ func uiInit() {
AddItem(nil, 0, 1, false). AddItem(nil, 0, 1, false).
AddItem(tview.NewFlex().SetDirection(tview.FlexColumn). AddItem(tview.NewFlex().SetDirection(tview.FlexColumn).
AddItem(nil, 0, 1, false). AddItem(nil, 0, 1, false).
AddItem(srcDropDown, 32, 1, true). AddItem(srcLangDropDown, 32, 1, true).
AddItem(dstDropDown, 32, 1, false). AddItem(dstLangDropDown, 32, 1, false).
AddItem(nil, 0, 1, false), 20, 1, true). AddItem(nil, 0, 1, false), 20, 1, true).
AddItem(attachButton(), 1, 1, true). AddItem(attachButton(), 1, 1, true).
AddItem(nil, 0, 1, false) AddItem(nil, 0, 1, false)
styleWindow.SetDirection(tview.FlexRow).
AddItem(nil, 0, 1, false).
// AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
// AddItem())
// AddItem(tview.NewFlex().SetDirection(tview.FlexColumn).
// AddItem(nil, 0, 1, false).
// AddItem(srcDropDown, 32, 1, true).
// AddItem(dstDropDown, 32, 1, false).
// AddItem(nil, 0, 1, false), 20, 1, true).
AddItem(attachButton(), 1, 1, true).
AddItem(nil, 0, 1, false)
// handler // handler
mainPage.SetInputCapture(pagesHandler) mainPage.SetInputCapture(pagesHandler)
translateWindow.SetInputCapture(translatePageHandler) translateWindow.SetInputCapture(translatePageHandler)
srcDropDown.SetDoneFunc(srcDropDownHandler). srcLangDropDown.SetDoneFunc(srcDropDownHandler).
SetSelectedFunc(srcSelected) SetSelectedFunc(srcSelected)
dstDropDown.SetDoneFunc(dstDropDownHandler). dstLangDropDown.SetDoneFunc(dstDropDownHandler).
SetSelectedFunc(dstSelected) SetSelectedFunc(dstSelected)
} }
@ -213,19 +224,19 @@ func translatePageHandler(event *tcell.EventKey) *tcell.EventKey {
func srcSelected(text string, index int) { func srcSelected(text string, index int) {
translator.srcLang = text translator.srcLang = text
srcBox.SetTitle(text) srcBox.SetTitle(text)
srcDropDown.SetTitle(text) srcLangDropDown.SetTitle(text)
} }
func dstSelected(text string, index int) { func dstSelected(text string, index int) {
translator.dstLang = text translator.dstLang = text
dstBox.SetTitle(text) dstBox.SetTitle(text)
dstDropDown.SetTitle(text) dstLangDropDown.SetTitle(text)
} }
func srcDropDownHandler(key tcell.Key) { func srcDropDownHandler(key tcell.Key) {
switch key { switch key {
case tcell.KeyTAB: case tcell.KeyTAB:
app.SetFocus(dstDropDown) app.SetFocus(dstLangDropDown)
case tcell.KeyEsc: case tcell.KeyEsc:
mainPage.HidePage("langPage") mainPage.HidePage("langPage")
} }
@ -234,7 +245,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(srcDropDown) app.SetFocus(srcLangDropDown)
case tcell.KeyEsc: case tcell.KeyEsc:
mainPage.HidePage("langPage") mainPage.HidePage("langPage")
} }