diff options
Diffstat (limited to 'tdespell2/defaultdictionary.cpp')
-rw-r--r-- | tdespell2/defaultdictionary.cpp | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/tdespell2/defaultdictionary.cpp b/tdespell2/defaultdictionary.cpp new file mode 100644 index 000000000..39b80e7cf --- /dev/null +++ b/tdespell2/defaultdictionary.cpp @@ -0,0 +1,118 @@ +/** + * defaultdictionary.cpp + * + * Copyright (C) 2004 Zack Rusin <[email protected]> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA + */ +#include "defaultdictionary.h" + +#include "broker.h" + +using namespace KSpell2; + + +class DefaultDictionary::Private +{ +public: + Dictionary *dict; + Broker *broker; //not a Ptr because Broker holds DefaultDictionary + //we need it only to switch the dics +}; + +DefaultDictionary::DefaultDictionary( const TQString& lang, Broker *broker ) + : TQObject( broker ), Dictionary( lang, true ) +{ + d = new Private; + d->dict = broker->dictionary(); + d->broker = broker; + connect( broker, TQT_SIGNAL(configurationChanged()), + TQT_SLOT(defaultConfigurationChanged()) ); +} + +DefaultDictionary::~DefaultDictionary() +{ + delete d; d = 0; +} + +bool DefaultDictionary::isValid() const +{ + //if d->dict exists then we're valid + return d->dict; +} + +bool DefaultDictionary::check( const TQString& word ) +{ + if ( d->dict ) + return d->dict->check( word ); + else + return true; +} + +TQStringList DefaultDictionary::suggest( const TQString& word ) +{ + if ( d->dict ) + return d->dict->suggest( word ); + else + return TQStringList(); + +} + +bool DefaultDictionary::checkAndSuggest( const TQString& word, + TQStringList& suggestions ) +{ + if ( d->dict ) + return d->dict->checkAndSuggest( word, suggestions ); + else + return true; +} + +bool DefaultDictionary::storeReplacement( const TQString& bad, + const TQString& good ) +{ + if ( d->dict ) + return d->dict->storeReplacement( bad, good ); + else + return false; +} + +bool DefaultDictionary::addToPersonal( const TQString& word ) +{ + if ( d->dict ) + return d->dict->addToPersonal( word ); + else + return false; +} + +bool DefaultDictionary::addToSession( const TQString& word ) +{ + if ( d->dict ) + return d->dict->addToSession( word ); + else + return false; +} + +void DefaultDictionary::defaultConfigurationChanged() +{ + delete d->dict; + d->dict = d->broker->dictionary(); + if ( d->dict ) + m_language = d->dict->language(); + else + m_language = TQString::null; +} + +#include "defaultdictionary.moc" |