Remove language selection to a new settings section.
This commit is contained in:
@@ -17,6 +17,7 @@ type MenuHandler struct {
|
||||
app kernel.AppContract
|
||||
convertorHandler ConvertorHandlerContract
|
||||
menuView menu.ViewContract
|
||||
menuViewSetting menu.ViewSettingContract
|
||||
localizerView localizer.ViewContract
|
||||
localizerRepository localizer.RepositoryContract
|
||||
}
|
||||
@@ -25,6 +26,7 @@ func NewMenuHandler(
|
||||
app kernel.AppContract,
|
||||
convertorHandler ConvertorHandlerContract,
|
||||
menuView menu.ViewContract,
|
||||
menuViewSetting menu.ViewSettingContract,
|
||||
localizerView localizer.ViewContract,
|
||||
localizerRepository localizer.RepositoryContract,
|
||||
) *MenuHandler {
|
||||
@@ -32,6 +34,7 @@ func NewMenuHandler(
|
||||
app: app,
|
||||
convertorHandler: convertorHandler,
|
||||
menuView: menuView,
|
||||
menuViewSetting: menuViewSetting,
|
||||
localizerView: localizerView,
|
||||
localizerRepository: localizerRepository,
|
||||
}
|
||||
@@ -53,11 +56,11 @@ func (h MenuHandler) getMenuSettings() *fyne.Menu {
|
||||
quit.Label = text
|
||||
})
|
||||
|
||||
languageSelection := fyne.NewMenuItem(h.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
MessageID: "changeLanguage",
|
||||
}), h.LanguageSelection)
|
||||
h.app.GetLocalizerService().AddChangeCallback("changeLanguage", func(text string) {
|
||||
languageSelection.Label = text
|
||||
settingsSelection := fyne.NewMenuItem(h.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
MessageID: "settings",
|
||||
}), h.settingsSelection)
|
||||
h.app.GetLocalizerService().AddChangeCallback("settings", func(text string) {
|
||||
settingsSelection.Label = text
|
||||
})
|
||||
|
||||
ffPathSelection := fyne.NewMenuItem(h.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
@@ -69,7 +72,7 @@ func (h MenuHandler) getMenuSettings() *fyne.Menu {
|
||||
|
||||
settings := fyne.NewMenu(h.app.GetLocalizerService().GetMessage(&i18n.LocalizeConfig{
|
||||
MessageID: "settings",
|
||||
}), languageSelection, ffPathSelection, quit)
|
||||
}), settingsSelection, ffPathSelection, quit)
|
||||
h.app.GetLocalizerService().AddChangeCallback("settings", func(text string) {
|
||||
settings.Label = text
|
||||
settings.Refresh()
|
||||
@@ -140,3 +143,22 @@ func (h MenuHandler) LanguageSelection() {
|
||||
h.convertorHandler.MainConvertor()
|
||||
})
|
||||
}
|
||||
|
||||
func (h MenuHandler) settingsSelection() {
|
||||
save := func(setting *menu.SettingForm) error {
|
||||
err := h.app.GetLocalizerService().SetCurrentLanguage(setting.Language)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = h.localizerRepository.Save(setting.Language.Code)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
h.convertorHandler.MainConvertor()
|
||||
return nil
|
||||
}
|
||||
cancel := func() {
|
||||
h.convertorHandler.MainConvertor()
|
||||
}
|
||||
h.menuViewSetting.Main(save, cancel)
|
||||
}
|
||||
|
Reference in New Issue
Block a user