GoogleTranslate-TUI/TUI/LanguageForm.py

54 lines
1.9 KiB
Python

import npyscreen
import curses
from TUI.Box import EditBox, SelectBox
from config import config
class LanguageForm(npyscreen.ActionForm):
def create(self):
# get language list
languages = list(self.parentApp.translator.languageCode.keys())
codes = list(self.parentApp.translator.languageCode.values())
# get terminal's size
y, x = self.useable_space()
inputDefault = languages.index(self.parentApp.translator.inputLanguage)
outputDefault = languages.index(self.parentApp.translator.outputLanguage)
self.input = self.add(SelectBox, name="Input Language",
value=inputDefault,
values=languages,
max_height=y-5, max_width = x//2-5,
relx=3, rely=3,
)
self.output = self.add(SelectBox, name="Output Language",
value=outputDefault,
values=languages,
max_height=y-5, max_width = x//2-5,
relx=x//2+3, rely=3,
)
def resize(self):
# get terminal's size
y, x = self.useable_space()
self.input.max_height = y-5
self.input_max_width = x//2-5
self.output.max_height = y-5
self.output.max_width = x//2-5
self.output.relx = x//2+3
self.output.entry_widget.relx = x//2+4
def on_cancel(self):
self.parentApp.switchFormPrevious()
def on_ok(self):
languages = list(self.parentApp.translator.languageCode.keys())
codes = list(self.parentApp.translator.languageCode.values())
self.parentApp.translator.fr = codes[self.input.value[0]]
self.parentApp.translator.to = codes[self.output.value[0]]
self.parentApp.translator.inputLanguage = languages[self.input.value[0]]
self.parentApp.translator.outputLanguage = languages[self.output.value[0]]
self.parentApp.setNextForm("MAIN")