MCPcopy Create free account
hub / github.com/dialect-app/dialect / _on_src_lang_changed

Method _on_src_lang_changed

dialect/window.py:1013–1050  ·  view source on GitHub ↗

Called on self.src_lang_selector::notify::selected signal

(self, *_args)

Source from the content-addressed store, hash-verified

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):

Callers

nothing calls this directly

Calls 7

_check_switch_enabledMethod · 0.95
_check_speech_enabledMethod · 0.95
first_excludeFunction · 0.90
find_item_matchFunction · 0.90
cmp_langsMethod · 0.80
set_langsMethod · 0.80

Tested by

no test coverage detected