26 #include <tdeglobal.h> 27 #include <tdelocale.h> 28 #include <tdeconfig.h> 32 #include <tqstringlist.h> 36 class Settings::Private
40 TDESharedConfig::Ptr config;
43 TQString defaultLanguage;
44 TQString defaultClient;
48 bool backgroundCheckerEnabled;
50 TQMap<TQString, bool> ignore;
53 Settings::Settings( Broker *broker, TDESharedConfig *config )
70 TDESharedConfig *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 TDEConfigGroup 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 TDEConfigGroup 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 TDEConfigGroup conf( d->config,
"Spelling" );
207 d->defaultClient = conf.readEntry(
"defaultClient",
209 d->defaultLanguage = conf.readEntry(
210 "defaultLanguage", TDEGlobal::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 );