From 875f4f88943b53030b7298855e486bbb5638d571 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger <asterix@lagaule.org> Date: Sun, 10 Sep 2006 22:25:07 +0000 Subject: [PATCH] check if dictionary is installed when enabling spell checking and at gajim startup. For #2387 --- src/config.py | 20 ++++++++++++++++++-- src/gajim.py | 15 +++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/config.py b/src/config.py index 170121acb5..dd8e7bce38 100644 --- a/src/config.py +++ b/src/config.py @@ -620,7 +620,23 @@ class PreferencesWindow: gajim.config.set('use_speller', active) gajim.interface.save_config() if active: - self.apply_speller() + lang = gajim.config.get('speller_language') + if not lang: + lang = gajim.LANG + tv = gtk.TextView() + try: + spell = gtkspell.Spell(tv, lang) + except: + dialogs.ErrorDialog( + _('Dictionary for lang %s not available') % lang, + _('You have to install %s dictionary to use spellchecking, or ' + 'choose another language by setting the speller_language option.' + ) % lang) + gajim.config.set('use_speller', False) + widget.set_active(False) + else: + gajim.config.set('speller_language', lang) + self.apply_speller() else: self.remove_speller() @@ -2239,7 +2255,7 @@ class RemoveAccountWindow: self.window = xml.get_widget('remove_account_window') self.window.set_transient_for(gajim.interface.roster.window) self.remove_and_unregister_radiobutton = xml.get_widget( - 'remove_and_unregister_radiobutton') + 'remove_and_unregister_radiobutton') self.window.set_title(_('Removing %s account') % self.account) xml.signal_autoconnect(self) self.window.show_all() diff --git a/src/gajim.py b/src/gajim.py index 8fa3d1c765..73d865cecd 100755 --- a/src/gajim.py +++ b/src/gajim.py @@ -1923,6 +1923,21 @@ class Interface: # get transports type from DB gajim.transport_type = gajim.logger.get_transports_type() + # test is dictionnary is present for speller + if gajim.config.get('use_speller'): + lang = gajim.config.get('speller_language') + if not lang: + lang = gajim.LANG + tv = gtk.TextView() + try: + spell = gtkspell.Spell(tv, lang) + except: + dialogs.ErrorDialog( + _('Dictionary for lang %s not available') % lang, + _('You have to install %s dictionary to use spellchecking, or ' + 'choose another language by setting the speller_language option.' + ) % lang) + gajim.config.set('use_speller', False) gobject.timeout_add(100, self.autoconnect) gobject.timeout_add(200, self.process_connections) gobject.timeout_add(500, self.read_sleepy) -- GitLab