]> git.lyx.org Git - lyx.git/blobdiff - src/pspell.C
Add GTK bibitem dialog
[lyx.git] / src / pspell.C
index 1c3692775cadafb2cc754e1d440c1360dbbd61aa..f7122650ba6eafa317d065efd8cf8bda9c8f961b 100644 (file)
@@ -1,17 +1,17 @@
 /**
  * \file pspell.C
- * Copyright 2001 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
  * \author Kevin Atkinson
- * \author John Levon <levon@movementarian.org>
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
 
-#ifdef USE_PSPELL
-
-#include "support/LAssert.h"
+#include "debug.h"
 
 #define USE_ORIGINAL_MANAGER_FUNCS 1
 // new aspell pspell missing extern "C"
@@ -22,38 +22,43 @@ extern "C" {
 #include "pspell.h"
 #include "WordLangTuple.h"
 
+#include <boost/assert.hpp>
+
+using std::endl;
+using std::string;
+
+
 PSpell::PSpell(BufferParams const &, string const & lang)
        : els(0), spell_error_object(0)
 {
        addManager(lang);
+       lyxerr[Debug::GUI] << "created pspell" << endl;
 }
 
 
 PSpell::~PSpell()
 {
-       cleanUp();
-       close();
+       lyxerr[Debug::GUI] << "killed pspell" << endl;
+
+       if (spell_error_object) {
+               delete_pspell_can_have_error(spell_error_object);
+               spell_error_object = 0;
+       }
+
        if (els)
                delete_pspell_string_emulation(els);
+
        Managers::iterator it = managers_.begin();
        Managers::iterator end = managers_.end();
 
        for (; it != end; ++it) {
+               pspell_manager_save_all_word_lists(it->second.manager);
                delete_pspell_manager(it->second.manager);
                delete_pspell_config(it->second.config);
        }
 }
 
 
-void PSpell::cleanUp()
-{
-       if (spell_error_object) {
-               delete_pspell_can_have_error(spell_error_object);
-               spell_error_object = 0;
-       }
-}
-
-
 void PSpell::addManager(string const & lang)
 {
        PspellConfig * config = new_pspell_config();
@@ -76,7 +81,7 @@ void PSpell::addManager(string const & lang)
 
 enum PSpell::Result PSpell::check(WordLangTuple const & word)
 {
-       Result res = UNKNOWN;
+       Result res = UNKNOWN_WORD;
 
        Managers::iterator it = managers_.find(word.lang_code());
        if (it == managers_.end()) {
@@ -90,35 +95,24 @@ enum PSpell::Result PSpell::check(WordLangTuple const & word)
        PspellManager * m = it->second.manager;
 
        int word_ok = pspell_manager_check(m, word.word().c_str());
-       lyx::Assert(word_ok != -1);
+       BOOST_ASSERT(word_ok != -1);
 
        if (word_ok) {
                res = OK;
        } else {
                PspellWordList const * sugs =
                        pspell_manager_suggest(m, word.word().c_str());
-               lyx::Assert(sugs != 0);
+               BOOST_ASSERT(sugs != 0);
                els = pspell_word_list_elements(sugs);
                if (pspell_word_list_empty(sugs))
-                       res = UNKNOWN;
+                       res = UNKNOWN_WORD;
                else
-                       res = MISSED;
+                       res = SUGGESTED_WORDS;
        }
        return res;
 }
 
 
-void PSpell::close()
-{
-       Managers::iterator it = managers_.begin();
-       Managers::iterator end = managers_.end();
-
-       for (; it != end; ++it) {
-               pspell_manager_save_all_word_lists(it->second.manager);
-       }
-}
-
-
 void PSpell::insert(WordLangTuple const & word)
 {
        Managers::iterator it = managers_.find(word.lang_code());
@@ -159,5 +153,3 @@ string const PSpell::error()
                return err;
        return "";
 }
-
-#endif // USE_PSPELL