Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.9, 0.9.1, and 0.9.1.1

gtklib: add entry to context menu for selecting spell check language

The language is selected in a dialog. No list of installed languages is
available.

Changeset f62bc272bec9

Parent 3b1b4433b339

by Simon Heimberg

Changes to one file · Browse files at f62bc272bec9 Showing diff from parent 3b1b4433b339 Diff from another changeset...

Change 1 of 1 Show Entire File hggtk/​gtklib.py Stacked
 
325
326
327
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
@@ -325,3 +325,42 @@
  gtkspell.Spell(textview)   except ImportError:   pass + else: + def selectlang(senderitem): + from hggtk import dialog + spell = gtkspell.get_from_text_view(textview) + lang = '' + while True: + msg = _('Select language for spell checking.\n\n' + 'Empty is for the default language.\n' + 'When all text is highlited, the dictionary\n' + 'is probably not installed.\n\n' + 'examples: en, en_GB, en_US') + if lang: + msg = _('Lang "%s" can not be set.\n') % lang + msg + lang = dialog.entry_dialog(None, msg) + if lang is None: # cancel + return + lang = lang.strip() + if not lang: + lang = None # set default language from $LANG + try: + spell.set_language(lang) + return + except Exception, e: + pass + def langmenu(textview, menu): + item = gtk.MenuItem(_('Spell Check Language')) + item.connect('activate', selectlang) + menuitems = menu.get_children()[:2] + x = menuitems[0].get_submenu() + if len(menuitems) >= 2 and menuitems[1].get_child() is None and menuitems[0].get_submenu(): + # the spellcheck language menu seems to be at the top + menu.insert(item, 1) + else: + sep = gtk.SeparatorMenuItem() + sep.show() + menu.append(sep) + menu.append(item) + item.show() + textview.connect('populate-popup', langmenu)