| 248 | ) |
| 249 | |
| 250 | def setup_spell_checking(self): |
| 251 | # Enable spell-checking |
| 252 | self.spell_checker: Spelling.Checker = Spelling.Checker.get_default() |
| 253 | spell_checker_adapter = Spelling.TextBufferAdapter.new(self.src_buffer, self.spell_checker) |
| 254 | spell_checker_menu = spell_checker_adapter.get_menu_model() |
| 255 | self.src_text.set_extra_menu(spell_checker_menu) |
| 256 | self.src_text.insert_action_group("spelling", spell_checker_adapter) |
| 257 | spell_checker_adapter.set_enabled(True) |
| 258 | |
| 259 | # Collect the spell checking provider's supported languages. |
| 260 | self.spell_checker_supported_languages = {} |
| 261 | for lang_object in self.spell_checker.get_provider().list_languages(): |
| 262 | lang_code = lang_object.get_code() |
| 263 | lang_base_code = re.split("_|-", lang_code)[0] |
| 264 | if lang_base_code not in self.spell_checker_supported_languages: |
| 265 | self.spell_checker_supported_languages[lang_base_code] = [] |
| 266 | self.spell_checker_supported_languages[lang_base_code].append(lang_code) |
| 267 | |
| 268 | def setup_selectors(self): |
| 269 | def lang_names_func(code: str): |