From dbdc8e47f2ef2391714b8ba6ff16193514f2a797 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 19 Feb 2024 23:18:39 +0100 Subject: [PATCH 1/5] #1181 Keep Coriolis URL Selection fix/1181/coriolis-overrides-change-when-switching-languages --- plugins/coriolis.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/plugins/coriolis.py b/plugins/coriolis.py index 9de635d0..1c34e217 100644 --- a/plugins/coriolis.py +++ b/plugins/coriolis.py @@ -45,6 +45,9 @@ class CoriolisConfig: self.normal_url = '' self.beta_url = '' self.override_mode = '' + self.override_text_old_auto = _('Auto') # LANG: Coriolis normal/beta selection - auto + self.override_text_old_normal = _('Normal') # LANG: Coriolis normal/beta selection - normal + self.override_text_old_beta = _('Beta') # LANG: Coriolis normal/beta selection - beta self.normal_textvar = tk.StringVar() self.beta_textvar = tk.StringVar() @@ -87,6 +90,11 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str | None, is_beta: bool) -> tk.Fr PADY = 1 # noqa: N806 BOXY = 2 # noqa: N806 # box spacing + # Save the old text values for the override mode, so we can update them if the language is changed + coriolis_config.override_text_old_auto = _('Auto') # LANG: Coriolis normal/beta selection - auto + coriolis_config.override_text_old_normal = _('Normal') # LANG: Coriolis normal/beta selection - normal + coriolis_config.override_text_old_beta = _('Beta') # LANG: Coriolis normal/beta selection - beta + conf_frame = nb.Frame(parent) conf_frame.columnconfigure(index=1, weight=1) cur_row = 0 @@ -157,6 +165,24 @@ def prefs_changed(cmdr: str | None, is_beta: bool) -> None: _('Auto'): 'auto', # LANG: Coriolis normal/beta selection - auto }.get(coriolis_config.override_mode, coriolis_config.override_mode) + # Check if the language was changed and the override_mode was valid before the change + if coriolis_config.override_mode not in ('beta', 'normal', 'auto'): + coriolis_config.override_mode = { + coriolis_config.override_text_old_normal: 'normal', + coriolis_config.override_text_old_beta: 'beta', + coriolis_config.override_text_old_auto: 'auto', + }.get(coriolis_config.override_mode, coriolis_config.override_mode) + # Language was seemingly changed, so we need to update the textvars + if coriolis_config.override_mode in ('beta', 'normal', 'auto'): + coriolis_config.override_textvar.set( + value={ + 'auto': _('Auto'), # LANG: 'Auto' label for Coriolis site override selection + 'normal': _('Normal'), # LANG: 'Normal' label for Coriolis site override selection + 'beta': _('Beta') # LANG: 'Beta' label for Coriolis site override selection + }.get(coriolis_config.override_mode) + ) + + # If the override mode is still invalid, default to auto if coriolis_config.override_mode not in ('beta', 'normal', 'auto'): logger.warning(f'Unexpected value {coriolis_config.override_mode=!r}. Defaulting to "auto"') coriolis_config.override_mode = 'auto' From 51fea68909486235f2582bc07a48b957ded44982 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 19 Feb 2024 23:23:56 +0100 Subject: [PATCH 2/5] [Minor] Flake8 and mypy --- plugins/coriolis.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/coriolis.py b/plugins/coriolis.py index 1c34e217..70de067f 100644 --- a/plugins/coriolis.py +++ b/plugins/coriolis.py @@ -94,7 +94,7 @@ def plugin_prefs(parent: ttk.Notebook, cmdr: str | None, is_beta: bool) -> tk.Fr coriolis_config.override_text_old_auto = _('Auto') # LANG: Coriolis normal/beta selection - auto coriolis_config.override_text_old_normal = _('Normal') # LANG: Coriolis normal/beta selection - normal coriolis_config.override_text_old_beta = _('Beta') # LANG: Coriolis normal/beta selection - beta - + conf_frame = nb.Frame(parent) conf_frame.columnconfigure(index=1, weight=1) cur_row = 0 @@ -179,9 +179,9 @@ def prefs_changed(cmdr: str | None, is_beta: bool) -> None: 'auto': _('Auto'), # LANG: 'Auto' label for Coriolis site override selection 'normal': _('Normal'), # LANG: 'Normal' label for Coriolis site override selection 'beta': _('Beta') # LANG: 'Beta' label for Coriolis site override selection - }.get(coriolis_config.override_mode) + }.get(coriolis_config.override_mode, _('Auto')) # LANG: 'Auto' label for Coriolis site override selection ) - + # If the override mode is still invalid, default to auto if coriolis_config.override_mode not in ('beta', 'normal', 'auto'): logger.warning(f'Unexpected value {coriolis_config.override_mode=!r}. Defaulting to "auto"') From e322dedba7e9b7f8bccf3f17087cb54d51d8a37a Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 19 Feb 2024 23:30:16 +0100 Subject: [PATCH 3/5] Flake8 fix the second --- plugins/coriolis.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/coriolis.py b/plugins/coriolis.py index 70de067f..3d5659e3 100644 --- a/plugins/coriolis.py +++ b/plugins/coriolis.py @@ -179,7 +179,8 @@ def prefs_changed(cmdr: str | None, is_beta: bool) -> None: 'auto': _('Auto'), # LANG: 'Auto' label for Coriolis site override selection 'normal': _('Normal'), # LANG: 'Normal' label for Coriolis site override selection 'beta': _('Beta') # LANG: 'Beta' label for Coriolis site override selection - }.get(coriolis_config.override_mode, _('Auto')) # LANG: 'Auto' label for Coriolis site override selection + # LANG: 'Auto' label for Coriolis site override selection + }.get(coriolis_config.override_mode, _('Auto')) ) # If the override mode is still invalid, default to auto From 57a1f1cdd9aeb679d1d1b0972d5611ea014e3b0b Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 19 Feb 2024 23:42:39 +0100 Subject: [PATCH 4/5] Flake8 the third --- plugins/coriolis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/coriolis.py b/plugins/coriolis.py index 3d5659e3..c142c686 100644 --- a/plugins/coriolis.py +++ b/plugins/coriolis.py @@ -179,7 +179,7 @@ def prefs_changed(cmdr: str | None, is_beta: bool) -> None: 'auto': _('Auto'), # LANG: 'Auto' label for Coriolis site override selection 'normal': _('Normal'), # LANG: 'Normal' label for Coriolis site override selection 'beta': _('Beta') # LANG: 'Beta' label for Coriolis site override selection - # LANG: 'Auto' label for Coriolis site override selection + # LANG: 'Auto' label for Coriolis site override selection }.get(coriolis_config.override_mode, _('Auto')) ) From 41b789c5d2c8b4a1ef7b455d20beb017f6d60f03 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Sun, 25 Feb 2024 12:27:07 +0100 Subject: [PATCH 5/5] Update en.template --- L10n/en.template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/L10n/en.template b/L10n/en.template index 5c07ae8f..8793873a 100644 --- a/L10n/en.template +++ b/L10n/en.template @@ -255,13 +255,13 @@ /* l10n.py: The system default language choice in Settings > Appearance; prefs.py: Settings > Configuration - Label on 'reset journal files location to default' button; prefs.py: The system default language choice in Settings > Appearance; prefs.py: Label for 'Default' theme radio button; In files: l10n.py:193; prefs.py:455; prefs.py:709; prefs.py:742; */ "Default" = "Default"; -/* coriolis.py: 'Auto' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - auto; In files: coriolis.py:74; coriolis.py:77; coriolis.py:123; coriolis.py:139; coriolis.py:145; */ +/* coriolis.py: 'Auto' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - auto; In files: coriolis.py:48; coriolis.py:74; coriolis.py:77; coriolis.py:94; coriolis.py:123; coriolis.py:139; coriolis.py:145; coriolis.py:179; coriolis.py:182; */ "Auto" = "Auto"; -/* coriolis.py: 'Normal' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - normal; In files: coriolis.py:75; coriolis.py:121; coriolis.py:137; */ +/* coriolis.py: 'Normal' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - normal; In files: coriolis.py:49; coriolis.py:75; coriolis.py:95; coriolis.py:121; coriolis.py:137; coriolis.py:180; */ "Normal" = "Normal"; -/* coriolis.py: 'Beta' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - beta; In files: coriolis.py:76; coriolis.py:122; coriolis.py:138; */ +/* coriolis.py: 'Beta' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - beta; In files: coriolis.py:50; coriolis.py:76; coriolis.py:96; coriolis.py:122; coriolis.py:138; coriolis.py:181; */ "Beta" = "Beta"; /* coriolis.py: Settings>Coriolis: Help/hint for changing coriolis URLs; In files: coriolis.py:91:93; */