diff --git a/program/MainWindow.cs b/program/MainWindow.cs index a684f73..e87516b 100644 --- a/program/MainWindow.cs +++ b/program/MainWindow.cs @@ -19,7 +19,8 @@ [UI] private Button Option1Button = null; [UI] private Button Option2Button = null; [UI] private Button Option3Button = null; - [UI] private Switch LanguageSwitch = null; + // [UI] private Switch LanguageSwitch = null; + [UI] private ToggleButton LanguageToggle = null; [UI] private Label LanguageLabel = null; [UI] private Button CloseButton = null; [UI] private Button SettingButton = null; @@ -62,7 +63,9 @@ StyleContext.AddProviderForScreen(Gdk.Screen.Default, _scaleCssProvider, 600); // StyleContext.AddProviderForScreen(Gdk.Screen.Default, _Language._languageCssProvider, 600); + // make it full screen this.Fullscreen(); + // RootStack.TransitionType = StackTransitionType.None; // RootStack.TransitionType = StackTransitionType.SlideLeftRight; @@ -73,7 +76,8 @@ Option3Button.Clicked += OnExamModeClicked; CloseButton.Clicked += OnCloseClicked; SettingButton.Clicked += OnSettingClicked; - LanguageSwitch.AddNotification("active", OnLanguageSwitchNotify); + // LanguageSwitch.AddNotification("active", OnLanguageSwitchNotify); + LanguageToggle.Toggled += OnLanguageToggled; DeleteEvent += OnDeleteEvent; SizeAllocated += OnWindowSizeAllocated; @@ -98,11 +102,14 @@ _Language = new Language(_buttonsById,LanguageLabel); - _Language.ApplyLanguage(LanguageSwitch.Active); + // _Language.ApplyLanguage(LanguageSwitch.Active); _settingsWindow = new SettingsWindow(builder, _arduino); _settingsWindow.BackRequested += OnSettingsClosed; + // single source of truth: the toggle drives both pages + ApplyLanguageEverywhere(LanguageToggle.Active); + RootNoteBook.ShowTabs = false; RootNoteBook.ShowBorder = false; RootNoteBook.CurrentPage = PageSplash; @@ -275,10 +282,15 @@ Console.WriteLine("Exam Mode selected"); } - private void OnLanguageSwitchNotify(object o, GLib.NotifyArgs args) + private void OnLanguageToggled(object sender, EventArgs e) { - Language.LanguageSwitchValue = LanguageSwitch.Active; - _Language.ApplyLanguage(LanguageSwitch.Active); - _settingsWindow?._Language?.ApplyLanguages(LanguageSwitch.Active); + ApplyLanguageEverywhere(LanguageToggle.Active); + } + + private void ApplyLanguageEverywhere(bool isEnglish) + { + Language.LanguageSwitchValue = isEnglish; + _Language.ApplyLanguage(isEnglish); + _settingsWindow?._Language?.ApplyLanguages(isEnglish); } } \ No newline at end of file diff --git a/program/SettingWindow.cs b/program/SettingWindow.cs index 644495c..1fed549 100644 --- a/program/SettingWindow.cs +++ b/program/SettingWindow.cs @@ -63,7 +63,7 @@ kvp.Value.Name = kvp.Key; _Language = new Language(_buttonsById); - _Language.ApplyLanguages(Language.LanguageSwitchValue); + // _Language.ApplyLanguages(Language.LanguageSwitchValue); RefreshPorts(); OnConnectionChanged(_arduino.IsOpen); diff --git a/program/homepageall.glade b/program/homepageall.glade index b591320..07009b2 100644 --- a/program/homepageall.glade +++ b/program/homepageall.glade @@ -72,9 +72,11 @@ - + + A / あ True True + True True