]> git.lyx.org Git - lyx.git/blobdiff - src/pspell.C
Collapse all those LFUN_XYZ_APPLY to a single LFUN_INSET_APPLY.
[lyx.git] / src / pspell.C
index f0e95901c2f4055adeec63f3408131cd998b4988..832b3c1b51effd617a6b9c0978e032558bc70023 100644 (file)
@@ -9,55 +9,53 @@
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #ifdef USE_PSPELL
 
 #include "support/LAssert.h"
+#include "debug.h"
 
 #define USE_ORIGINAL_MANAGER_FUNCS 1
-// new aspell pspell missing extern "C" 
-extern "C" { 
+// new aspell pspell missing extern "C"
+extern "C" {
 #include <pspell/pspell.h>
 }
 
 #include "pspell.h"
 #include "WordLangTuple.h"
 
+using std::endl;
+
 PSpell::PSpell(BufferParams const &, string const & lang)
        : els(0), spell_error_object(0)
 {
-       addManager(lang); 
+       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) { 
+
+       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();
@@ -66,7 +64,7 @@ void PSpell::addManager(string const & lang)
        if (spell_error_object)
                delete_pspell_can_have_error(spell_error_object);
        spell_error_object = 0;
+
        if (pspell_error_number(err) == 0) {
                Manager m;
                m.manager = to_pspell_manager(err);
@@ -77,22 +75,22 @@ void PSpell::addManager(string const & lang)
        }
 }
 
+
 enum PSpell::Result PSpell::check(WordLangTuple const & word)
 {
        Result res = UNKNOWN;
+
        Managers::iterator it = managers_.find(word.lang_code());
        if (it == managers_.end()) {
                addManager(word.lang_code());
                it = managers_.find(word.lang_code());
                // FIXME
-               if (it == managers_.end()) 
+               if (it == managers_.end())
                        return res;
        }
 
        PspellManager * m = it->second.manager;
+
        int word_ok = pspell_manager_check(m, word.word().c_str());
        lyx::Assert(word_ok != -1);
 
@@ -112,17 +110,6 @@ enum PSpell::Result PSpell::check(WordLangTuple const & word)
 }
 
 
-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());
@@ -134,7 +121,7 @@ void PSpell::insert(WordLangTuple const & word)
 void PSpell::accept(WordLangTuple const & word)
 {
        Managers::iterator it = managers_.find(word.lang_code());
-       if (it != managers_.end()) 
+       if (it != managers_.end())
                pspell_manager_add_to_session(it->second.manager, word.word().c_str());
 }
 
@@ -142,7 +129,7 @@ void PSpell::accept(WordLangTuple const & word)
 string const PSpell::nextMiss()
 {
        char const * str = 0;
+
        if (els)
                str = pspell_string_emulation_next(els);
        if (str)
@@ -154,7 +141,7 @@ string const PSpell::nextMiss()
 string const PSpell::error()
 {
        char const * err = 0;
+
        if (spell_error_object && pspell_error_number(spell_error_object) != 0) {
                err = pspell_error_message(spell_error_object);
        }