diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce4a32fe52ef09d8f5ff1dd22c001110902b60a2 (patch) | |
tree | 5ac38a06f3dde268dc7927dc155896926aaf7012 /kspell2/defaultdictionary.cpp | |
download | tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.tar.gz tdelibs-ce4a32fe52ef09d8f5ff1dd22c001110902b60a2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdelibs@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kspell2/defaultdictionary.cpp')
-rw-r--r-- | kspell2/defaultdictionary.cpp | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/kspell2/defaultdictionary.cpp b/kspell2/defaultdictionary.cpp new file mode 100644 index 000000000..ffa071279 --- /dev/null +++ b/kspell2/defaultdictionary.cpp @@ -0,0 +1,118 @@ +/** + * defaultdictionary.cpp + * + * Copyright (C) 2004 Zack Rusin <zack@kde.org> + * + * 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 QString& lang, Broker *broker ) + : QObject( broker ), Dictionary( lang, true ) +{ + d = new Private; + d->dict = broker->dictionary(); + d->broker = broker; + connect( broker, SIGNAL(configurationChanged()), + 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 QString& word ) +{ + if ( d->dict ) + return d->dict->check( word ); + else + return true; +} + +QStringList DefaultDictionary::suggest( const QString& word ) +{ + if ( d->dict ) + return d->dict->suggest( word ); + else + return QStringList(); + +} + +bool DefaultDictionary::checkAndSuggest( const QString& word, + QStringList& suggestions ) +{ + if ( d->dict ) + return d->dict->checkAndSuggest( word, suggestions ); + else + return true; +} + +bool DefaultDictionary::storeReplacement( const QString& bad, + const QString& good ) +{ + if ( d->dict ) + return d->dict->storeReplacement( bad, good ); + else + return false; +} + +bool DefaultDictionary::addToPersonal( const QString& word ) +{ + if ( d->dict ) + return d->dict->addToPersonal( word ); + else + return false; +} + +bool DefaultDictionary::addToSession( const QString& 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 = QString::null; +} + +#include "defaultdictionary.moc" |