32 #include <tqstringlist.h>
36 class Settings::Private
40 KSharedConfig::Ptr config;
43 TQString defaultLanguage;
44 TQString defaultClient;
48 bool backgroundCheckerEnabled;
50 TQMap<TQString, bool> ignore;
53 Settings::Settings( Broker *broker, KSharedConfig *config )
70 KSharedConfig *Settings::sharedConfig()
const
75 void Settings::setDefaultLanguage(
const TQString& lang )
77 TQStringList cs = d->broker->languages();
78 if ( cs.find( lang ) != cs.end() &&
79 d->defaultLanguage != lang ) {
80 d->defaultLanguage = lang;
87 TQString Settings::defaultLanguage()
const
89 return d->defaultLanguage;
92 void Settings::setDefaultClient(
const TQString& client )
97 if ( d->broker->clients().contains( client ) ) {
98 d->defaultClient = client;
100 d->broker->changed();
104 TQString Settings::defaultClient()
const
106 return d->defaultClient;
109 void Settings::setCheckUppercase(
bool check )
111 if ( d->checkUppercase != check ) {
113 d->checkUppercase = check;
117 bool Settings::checkUppercase()
const
119 return d->checkUppercase;
122 void Settings::setSkipRunTogether(
bool skip )
124 if ( d->skipRunTogether != skip ) {
126 d->skipRunTogether = skip;
130 bool Settings::skipRunTogether()
const
132 return d->skipRunTogether;
135 void Settings::setBackgroundCheckerEnabled(
bool enable )
137 if ( d->backgroundCheckerEnabled != enable ) {
139 d->backgroundCheckerEnabled = enable;
143 bool Settings::backgroundCheckerEnabled()
const
145 return d->backgroundCheckerEnabled;
148 void Settings::setCurrentIgnoreList(
const TQStringList& ignores )
150 setQuietIgnoreList( ignores );
154 void Settings::setQuietIgnoreList(
const TQStringList& ignores )
156 d->ignore = TQMap<TQString, bool>();
157 for ( TQStringList::const_iterator itr = ignores.begin();
158 itr != ignores.end(); ++itr ) {
159 d->ignore.insert( *itr,
true );
163 TQStringList Settings::currentIgnoreList()
const
165 return d->ignore.keys();
168 void Settings::addWordToIgnore(
const TQString& word )
170 if ( !d->ignore.contains( word ) ) {
172 d->ignore.insert( word,
true );
176 bool Settings::ignore(
const TQString& word )
178 return d->ignore.contains( word );
181 void Settings::readIgnoreList()
183 KConfigGroup conf( d->config,
"Spelling" );
184 TQString ignoreEntry = TQString(
"ignore_%1" ).arg( d->defaultLanguage );
185 TQStringList ignores = conf.readListEntry( ignoreEntry );
186 setQuietIgnoreList( ignores );
189 void Settings::save()
192 KConfigGroup conf( d->config,
"Spelling" );
193 conf.writeEntry(
"defaultClient", d->defaultClient );
194 conf.writeEntry(
"defaultLanguage", d->defaultLanguage );
195 conf.writeEntry(
"checkUppercase", d->checkUppercase );
196 conf.writeEntry(
"skipRunTogether", d->skipRunTogether );
197 conf.writeEntry(
"backgroundCheckerEnabled", d->backgroundCheckerEnabled );
198 conf.writeEntry( TQString(
"ignore_%1" ).arg( d->defaultLanguage ),
204 void Settings::loadConfig()
206 KConfigGroup conf( d->config,
"Spelling" );
207 d->defaultClient = conf.readEntry(
"defaultClient",
209 d->defaultLanguage = conf.readEntry(
210 "defaultLanguage", KGlobal::locale()->language() );
213 d->checkUppercase = conf.readBoolEntry(
214 "checkUppercase",
true );
216 d->skipRunTogether = conf.readBoolEntry(
217 "skipRunTogether",
true );
219 d->backgroundCheckerEnabled = conf.readBoolEntry(
220 "backgroundCheckerEnabled",
true );