Revision: 293 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=293&view=rev Author: eht16 Date: 2008-11-12 19:49:49 +0000 (Wed, 12 Nov 2008)
Log Message: ----------- When using 'Ignore All', add the word to ignore to the enchant session list to really ignore it for further checks, too.
Modified Paths: -------------- trunk/spellcheck/ChangeLog trunk/spellcheck/src/gui.c trunk/spellcheck/src/speller.c trunk/spellcheck/src/speller.h
Modified: trunk/spellcheck/ChangeLog =================================================================== --- trunk/spellcheck/ChangeLog 2008-11-11 21:13:35 UTC (rev 292) +++ trunk/spellcheck/ChangeLog 2008-11-12 19:49:49 UTC (rev 293) @@ -1,3 +1,10 @@ +2008-11-12 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + + * src/speller.c, src/speller.h, src/gui.c: + When using 'Ignore All', add the word to ignore to the enchant + session list to really ignore it for further checks, too. + + 2008-11-10 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* src/speller.c, src/speller.h, src/gui.c:
Modified: trunk/spellcheck/src/gui.c =================================================================== --- trunk/spellcheck/src/gui.c 2008-11-11 21:13:35 UTC (rev 292) +++ trunk/spellcheck/src/gui.c 2008-11-12 19:49:49 UTC (rev 293) @@ -157,6 +157,8 @@ p_sci->set_selection_end(clickinfo.doc->editor->sci, endword); p_sci->replace_sel(clickinfo.doc->editor->sci, sugg);
+ /** TODO replace word */ + p_sci->indicator_clear(clickinfo.doc->editor->sci, startword, endword - startword); } } @@ -172,12 +174,15 @@ if (clickinfo.doc == NULL || clickinfo.word == NULL || clickinfo.pos == -1) return;
- /* we either ignore the word, so we only remove all indicators or - * we add the word to the personal dictionary */ - if (! ignore) + /* if we ignore the word, we add it to the current session, to ignore it + * also for further checks*/ + if (ignore) + speller_add_word_to_session(clickinfo.word); + /* if we do not ignore the word, we add the word to the personal dictionary */ + else speller_add_word(clickinfo.word);
- /* Remove all indicators on the added word */ + /* Remove all indicators on the added/ignored word */ sci = clickinfo.doc->editor->sci; str = g_string_sized_new(256); doc_len = p_sci->get_length(sci);
Modified: trunk/spellcheck/src/speller.c =================================================================== --- trunk/spellcheck/src/speller.c 2008-11-11 21:13:35 UTC (rev 292) +++ trunk/spellcheck/src/speller.c 2008-11-12 19:49:49 UTC (rev 293) @@ -350,7 +350,6 @@ void speller_add_word(const gchar *word) { enchant_dict_add_to_pwl(speller_dict, clickinfo.word, -1); - }
gboolean speller_dict_check(const gchar *word) @@ -369,6 +368,14 @@ }
+void speller_add_word_to_session(const gchar *word) +{ + g_return_if_fail(speller_dict != NULL); + + enchant_dict_add_to_session(speller_dict, word, -1); +} + + void speller_init(void) { speller_broker = enchant_broker_init();
Modified: trunk/spellcheck/src/speller.h =================================================================== --- trunk/spellcheck/src/speller.h 2008-11-11 21:13:35 UTC (rev 292) +++ trunk/spellcheck/src/speller.h 2008-11-12 19:49:49 UTC (rev 293) @@ -45,6 +45,8 @@
gboolean speller_is_text(GeanyDocument *doc, gint pos);
+void speller_add_word_to_session(const gchar *word); + void speller_init(void);
void speller_free(void);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
plugins-commits@lists.geany.org