Called on self.src_lang_selector::notify::selected signal
(self, *_args)
| 1011 | |
| 1012 | @Gtk.Template.Callback() |
| 1013 | def _on_src_lang_changed(self, *_args): |
| 1014 | """Called on self.src_lang_selector::notify::selected signal""" |
| 1015 | if not self.provider["trans"]: |
| 1016 | return |
| 1017 | |
| 1018 | code = self.src_lang_selector.selected |
| 1019 | dest_code = self.dest_lang_selector.selected |
| 1020 | |
| 1021 | if self.provider["trans"].cmp_langs(code, dest_code): |
| 1022 | # Get first lang from saved src langs that is not current dest |
| 1023 | if valid := first_exclude(self.src_langs, dest_code): |
| 1024 | # Check if it's a valid dest lang |
| 1025 | valid = find_item_match([valid], self.provider["trans"].dest_languages) |
| 1026 | if not valid: # If not, just get the first lang from the list that is not selected |
| 1027 | valid = first_exclude(self.provider["trans"].dest_languages, dest_code) |
| 1028 | |
| 1029 | self.dest_lang_selector.selected = valid or "" |
| 1030 | |
| 1031 | if code in self.provider["trans"].src_languages: |
| 1032 | # Update saved src langs list |
| 1033 | if code in self.src_langs: |
| 1034 | # Bring lang to the top |
| 1035 | self.src_langs.remove(code) |
| 1036 | elif code.lower() in self.src_langs: |
| 1037 | # Bring lang to the top |
| 1038 | self.src_langs.remove(code.lower()) |
| 1039 | elif len(self.src_langs) == 4: |
| 1040 | self.src_langs.pop() |
| 1041 | self.src_langs.insert(0, code) |
| 1042 | |
| 1043 | # Try to set the language in the spell checker. |
| 1044 | self._pick_spell_checking_language(code) |
| 1045 | |
| 1046 | # Rewrite recent langs |
| 1047 | self.src_recent_lang_model.set_langs(self.src_langs, auto=True) |
| 1048 | |
| 1049 | self._check_switch_enabled() |
| 1050 | self._check_speech_enabled() |
| 1051 | |
| 1052 | @Gtk.Template.Callback() |
| 1053 | def _on_dest_lang_changed(self, *_args): |
nothing calls this directly
no test coverage detected