summaryrefslogtreecommitdiffabout
path: root/microkde
authorzautrix <zautrix>2005-07-02 17:36:09 (UTC)
committer zautrix <zautrix>2005-07-02 17:36:09 (UTC)
commit8eea5713638412f5613be51b339f0452f629705c (patch) (unidiff)
tree6c5652cf91f3b9ef6b46a94c4e7d49c10d241d9f /microkde
parent0233482f5f4baf7a0af45229b02c5deaab17a412 (diff)
downloadkdepimpi-8eea5713638412f5613be51b339f0452f629705c.zip
kdepimpi-8eea5713638412f5613be51b339f0452f629705c.tar.gz
kdepimpi-8eea5713638412f5613be51b339f0452f629705c.tar.bz2
fixi
Diffstat (limited to 'microkde') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kconfig.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/microkde/kconfig.cpp b/microkde/kconfig.cpp
index 821e386..940196e 100644
--- a/microkde/kconfig.cpp
+++ b/microkde/kconfig.cpp
@@ -1,452 +1,452 @@
1#include <qfile.h> 1#include <qfile.h>
2#include <qtextstream.h> 2#include <qtextstream.h>
3#include <qwidget.h> 3#include <qwidget.h>
4 4
5#include "kdebug.h" 5#include "kdebug.h"
6 6
7#include "kurl.h" 7#include "kurl.h"
8#include "kstandarddirs.h" 8#include "kstandarddirs.h"
9#include "kconfig.h" 9#include "kconfig.h"
10 10
11QString KConfig::mGroup = ""; 11QString KConfig::mGroup = "";
12//QString KConfig::mGroup = "General"; 12//QString KConfig::mGroup = "General";
13 13
14KConfig::KConfig( const QString &fileName ) 14KConfig::KConfig( const QString &fileName )
15 : mFileName( fileName ), mDirty( false ) 15 : mFileName( fileName ), mDirty( false )
16{ 16{
17 17
18 mTempGroup = ""; 18 mTempGroup = "";
19 load(); 19 load();
20 20
21} 21}
22 22
23 23
24KConfig::~KConfig() 24KConfig::~KConfig()
25{ 25{
26 sync(); 26 sync();
27} 27}
28// we need the temp group for plugins on windows 28// we need the temp group for plugins on windows
29void KConfig::setTempGroup( const QString &group ) 29void KConfig::setTempGroup( const QString &group )
30{ 30{
31 mTempGroup = group; 31 mTempGroup = group;
32 32
33 if ( mTempGroup.right( 1 ) != "/" ) mTempGroup += "/"; 33 if ( mTempGroup.right( 1 ) != "/" ) mTempGroup += "/";
34} 34}
35 35
36 36
37QString KConfig::tempGroup() const { 37QString KConfig::tempGroup() const {
38 return mTempGroup; 38 return mTempGroup;
39} 39}
40 40
41void KConfig::setGroup( const QString &group ) 41void KConfig::setGroup( const QString &group )
42{ 42{
43 43
44 44
45 mGroup = group; 45 mGroup = group;
46 46
47 if ( mGroup.right( 1 ) != "/" ) mGroup += "/"; 47 if ( mGroup.right( 1 ) != "/" ) mGroup += "/";
48} 48}
49 49
50//US 50//US
51QString KConfig::group() const { 51QString KConfig::group() const {
52 return mGroup; 52 return mGroup;
53} 53}
54 54
55//US added method 55//US added method
56QValueList<int> KConfig::readIntListEntry( const QString & key) 56QValueList<int> KConfig::readIntListEntry( const QString & key)
57{ 57{
58// qDebug("KConfig::readIntListEntry key=%s:", key.latin1()); 58// qDebug("KConfig::readIntListEntry key=%s:", key.latin1());
59 59
60 QValueList<int> result; 60 QValueList<int> result;
61 61
62 QMap<QString,QString>::ConstIterator mit = mStringMap.find( mGroup + key ); 62 QMap<QString,QString>::ConstIterator mit = mStringMap.find( mGroup + key );
63 63
64 if ( mit == mStringMap.end() ) { 64 if ( mit == mStringMap.end() ) {
65 return result; 65 return result;
66 } 66 }
67 67
68 QStringList valuesAsStrings = QStringList::split(":@:", *mit ); 68 QStringList valuesAsStrings = QStringList::split(":", *mit );
69 bool ok = false; 69 bool ok = false;
70 bool ok2 = true; 70 bool ok2 = true;
71 int val; 71 int val;
72 72
73 for ( QStringList::Iterator sit = valuesAsStrings.begin(); sit != valuesAsStrings.end(); ++sit ) { 73 for ( QStringList::Iterator sit = valuesAsStrings.begin(); sit != valuesAsStrings.end(); ++sit ) {
74 val = (*sit).toInt(&ok); 74 val = (*sit).toInt(&ok);
75 result << val; 75 result << val;
76 if (ok == false) { 76 if (ok == false) {
77 //qDebug("KConfig::readIntListEntry str=%s , int=%n:", (*sit).latin1(), &val); 77 //qDebug("KConfig::readIntListEntry str=%s , int=%n:", (*sit).latin1(), &val);
78 ok2 = false; 78 ok2 = false;
79 } 79 }
80 } 80 }
81 81
82 if (ok2 == false) 82 if (ok2 == false)
83 { 83 {
84 84
85 qDebug("KConfig::readIntListEntry: error while reading one of the intvalues."); 85 qDebug("KConfig::readIntListEntry: error while reading one of the intvalues.");
86 } 86 }
87 87
88 return result; 88 return result;
89} 89}
90 90
91int KConfig::readNumEntry( const QString & key, int def ) 91int KConfig::readNumEntry( const QString & key, int def )
92{ 92{
93 QString res = readEntry(key, QString::number(def ) ); 93 QString res = readEntry(key, QString::number(def ) );
94 bool ok = false; 94 bool ok = false;
95 int result = res.toInt(&ok); 95 int result = res.toInt(&ok);
96 if ( ok ) 96 if ( ok )
97 return result; 97 return result;
98 return def; 98 return def;
99} 99}
100 100
101QString KConfig::readEntry( const QString &key, const QString &def ) 101QString KConfig::readEntry( const QString &key, const QString &def )
102{ 102{
103 QMap<QString,QString>::ConstIterator it = mStringMap.find( mGroup + key ); 103 QMap<QString,QString>::ConstIterator it = mStringMap.find( mGroup + key );
104 104
105 if ( it == mStringMap.end() ) { 105 if ( it == mStringMap.end() ) {
106 return def; 106 return def;
107 } 107 }
108 108
109 return QString::fromUtf8((*it).latin1()); 109 return QString::fromUtf8((*it).latin1());
110} 110}
111 111
112QSize KConfig::readSizeEntry( const QString &key, QSize* def ) 112QSize KConfig::readSizeEntry( const QString &key, QSize* def )
113{ 113{
114 QValueList<int> intlist = readIntListEntry(key); 114 QValueList<int> intlist = readIntListEntry(key);
115 115
116 if (intlist.count() < 2) 116 if (intlist.count() < 2)
117 { 117 {
118 if (def) 118 if (def)
119 return *def; 119 return *def;
120 else 120 else
121 return QSize(); 121 return QSize();
122 } 122 }
123 123
124 QSize ret; 124 QSize ret;
125 ret.setWidth(intlist[0]); 125 ret.setWidth(intlist[0]);
126 ret.setHeight(intlist[1]); 126 ret.setHeight(intlist[1]);
127 127
128 return ret; 128 return ret;
129} 129}
130 130
131QStringList KConfig::readListEntry( const QString &key ) 131QStringList KConfig::readListEntry( const QString &key )
132{ 132{
133 QMap<QString,QString>::ConstIterator it = mStringMap.find( mGroup + key ); 133 QMap<QString,QString>::ConstIterator it = mStringMap.find( mGroup + key );
134 134
135 if ( it == mStringMap.end() ) { 135 if ( it == mStringMap.end() ) {
136 return QStringList(); 136 return QStringList();
137 } 137 }
138 QStringList temp = QStringList::split(":@:", QString::fromUtf8((*it).latin1())); 138 QStringList temp = QStringList::split(":@:", QString::fromUtf8((*it).latin1()));
139 if ( temp.count() == 1 ) 139 if ( temp.count() == 1 )
140 return QStringList::split(":", QString::fromUtf8((*it).latin1())); 140 return QStringList::split(":", QString::fromUtf8((*it).latin1()));
141 return temp; 141 return temp;
142 142
143} 143}
144 144
145bool KConfig::readBoolEntry( const QString &key, bool def ) 145bool KConfig::readBoolEntry( const QString &key, bool def )
146{ 146{
147 QMap<QString,bool>::ConstIterator it = mBoolMap.find( mGroup + key ); 147 QMap<QString,bool>::ConstIterator it = mBoolMap.find( mGroup + key );
148 148
149 if ( it == mBoolMap.end() ) { 149 if ( it == mBoolMap.end() ) {
150 return def; 150 return def;
151 } 151 }
152 152
153 return *it; 153 return *it;
154} 154}
155 155
156QColor KConfig::readColorEntry( const QString & e, QColor *def ) 156QColor KConfig::readColorEntry( const QString & e, QColor *def )
157{ 157{
158 158
159 QStringList l; 159 QStringList l;
160 l = readListEntry( e.utf8() ); 160 l = readListEntry( e.utf8() );
161 if (l.count() != 3 ) { 161 if (l.count() != 3 ) {
162 if ( def ) 162 if ( def )
163 return *def; 163 return *def;
164 else 164 else
165 return QColor(); 165 return QColor();
166 } 166 }
167 QColor c ( l[0].toInt(), l[1].toInt(), l[2].toInt() ); 167 QColor c ( l[0].toInt(), l[1].toInt(), l[2].toInt() );
168 return c; 168 return c;
169} 169}
170 170
171QFont KConfig::readFontEntry( const QString & e, QFont *def ) 171QFont KConfig::readFontEntry( const QString & e, QFont *def )
172{ 172{
173 QStringList font = readListEntry( e ); 173 QStringList font = readListEntry( e );
174 if ( font.isEmpty() ) 174 if ( font.isEmpty() )
175 return *def; 175 return *def;
176 QFont f; 176 QFont f;
177 f.setFamily( font[0]); 177 f.setFamily( font[0]);
178 f.setBold ( font[1] == "bold"); 178 f.setBold ( font[1] == "bold");
179 f.setPointSize ( font[2].toInt()); 179 f.setPointSize ( font[2].toInt());
180 f.setItalic( font[3] == "italic" ); 180 f.setItalic( font[3] == "italic" );
181 return f; 181 return f;
182} 182}
183 183
184QDateTime KConfig::readDateTimeEntry( const QString &key, const QDateTime *def ) 184QDateTime KConfig::readDateTimeEntry( const QString &key, const QDateTime *def )
185{ 185{
186 QMap<QString,QDateTime>::ConstIterator it = mDateTimeMap.find( mGroup + key ); 186 QMap<QString,QDateTime>::ConstIterator it = mDateTimeMap.find( mGroup + key );
187 187
188 if ( it == mDateTimeMap.end() ) { 188 if ( it == mDateTimeMap.end() ) {
189 if ( def ) return *def; 189 if ( def ) return *def;
190 else return QDateTime(); 190 else return QDateTime();
191 } 191 }
192 192
193 return *it; 193 return *it;
194} 194}
195 195
196//US added method 196//US added method
197void KConfig::writeEntry( const QString &key, const QValueList<int> &value) 197void KConfig::writeEntry( const QString &key, const QValueList<int> &value)
198{ 198{
199 QStringList valuesAsStrings; 199 QStringList valuesAsStrings;
200 200
201 QValueList<int>::ConstIterator it; 201 QValueList<int>::ConstIterator it;
202 202
203 for( it = value.begin(); it != value.end(); ++it ) 203 for( it = value.begin(); it != value.end(); ++it )
204 { 204 {
205 valuesAsStrings << QString::number(*it); 205 valuesAsStrings << QString::number(*it);
206 } 206 }
207 207
208 mStringMap.insert( mGroup + key, valuesAsStrings.join(":") ); 208 mStringMap.insert( mGroup + key, valuesAsStrings.join(":") );
209 mDirty = true; 209 mDirty = true;
210} 210}
211 211
212void KConfig::writeEntry( const QString & key , int num ) 212void KConfig::writeEntry( const QString & key , int num )
213{ 213{
214 writeEntry( key, QString::number ( num ) ); 214 writeEntry( key, QString::number ( num ) );
215} 215}
216 216
217void KConfig::writeEntry( const QString &key, const QString &value ) 217void KConfig::writeEntry( const QString &key, const QString &value )
218{ 218{
219 mStringMap.insert( mGroup + key, value.utf8() ); 219 mStringMap.insert( mGroup + key, value.utf8() );
220 220
221 mDirty = true; 221 mDirty = true;
222} 222}
223 223
224void KConfig::writeEntry( const QString &key, const QStringList &value ) 224void KConfig::writeEntry( const QString &key, const QStringList &value )
225{ 225{
226 mStringMap.insert( mGroup + key, value.join(":@:").utf8() ); 226 mStringMap.insert( mGroup + key, value.join(":@:").utf8() );
227 227
228 mDirty = true; 228 mDirty = true;
229} 229}
230 230
231void KConfig::writeEntry( const QString &key, bool value) 231void KConfig::writeEntry( const QString &key, bool value)
232{ 232{
233 mBoolMap.insert( mGroup + key, value ); 233 mBoolMap.insert( mGroup + key, value );
234 234
235 mDirty = true; 235 mDirty = true;
236} 236}
237 237
238void KConfig::writeEntry( const QString & e, const QColor & c ) 238void KConfig::writeEntry( const QString & e, const QColor & c )
239{ 239{
240 QStringList l; 240 QStringList l;
241 l.append( QString::number ( c.red() ) ); 241 l.append( QString::number ( c.red() ) );
242 l.append( QString::number ( c.green() ) ); 242 l.append( QString::number ( c.green() ) );
243 l.append( QString::number ( c.blue() ) ); 243 l.append( QString::number ( c.blue() ) );
244 writeEntry( e.utf8(), l ); 244 writeEntry( e.utf8(), l );
245} 245}
246 246
247void KConfig::writeEntry( const QString & e, const QSize & s ) 247void KConfig::writeEntry( const QString & e, const QSize & s )
248{ 248{
249 QValueList<int> intlist; 249 QValueList<int> intlist;
250 intlist << s.width() << s.height(); 250 intlist << s.width() << s.height();
251 writeEntry( e, intlist ); 251 writeEntry( e, intlist );
252} 252}
253 253
254void KConfig::writeEntry( const QString & e , const QFont & f ) 254void KConfig::writeEntry( const QString & e , const QFont & f )
255{ 255{
256 QStringList font; 256 QStringList font;
257 font.append( f.family()); 257 font.append( f.family());
258 font.append( (!f.bold ()?"nonbold":"bold") ); 258 font.append( (!f.bold ()?"nonbold":"bold") );
259 font.append( QString::number ( f.pointSize () ) ); 259 font.append( QString::number ( f.pointSize () ) );
260 font.append( !f.italic ()?"nonitalic":"italic" ); 260 font.append( !f.italic ()?"nonitalic":"italic" );
261 writeEntry( e, font ); 261 writeEntry( e, font );
262} 262}
263 263
264void KConfig::writeEntry( const QString &key, const QDateTime &dt ) 264void KConfig::writeEntry( const QString &key, const QDateTime &dt )
265{ 265{
266 mDateTimeMap.insert( mGroup + key, dt ); 266 mDateTimeMap.insert( mGroup + key, dt );
267} 267}
268 268
269void KConfig::load() 269void KConfig::load()
270{ 270{
271 271
272 272
273 QFile f( mFileName ); 273 QFile f( mFileName );
274 if ( !f.open( IO_ReadOnly ) ) { 274 if ( !f.open( IO_ReadOnly ) ) {
275 //qDebug("KConfig: could not open file %s ",mFileName.latin1() ); 275 //qDebug("KConfig: could not open file %s ",mFileName.latin1() );
276 return; 276 return;
277 } 277 }
278 278
279 mBoolMap.clear(); 279 mBoolMap.clear();
280 mStringMap.clear(); 280 mStringMap.clear();
281 281
282 QTextStream t( &f ); 282 QTextStream t( &f );
283 t.setEncoding( QTextStream::Latin1 ); 283 t.setEncoding( QTextStream::Latin1 );
284 QString line = t.readLine(); 284 QString line = t.readLine();
285 285
286 while ( !line.isNull() ) { 286 while ( !line.isNull() ) {
287 QStringList tokens = QStringList::split( ",", line ); 287 QStringList tokens = QStringList::split( ",", line );
288 if ( tokens[0] == "bool" ) { 288 if ( tokens[0] == "bool" ) {
289 bool value = false; 289 bool value = false;
290 if ( tokens[2] == "1" ) value = true; 290 if ( tokens[2] == "1" ) value = true;
291 mBoolMap.insert( tokens[1], value ); 291 mBoolMap.insert( tokens[1], value );
292 } else if ( tokens[0] == "QString" ) { 292 } else if ( tokens[0] == "QString" ) {
293 QString value = tokens[2]; 293 QString value = tokens[2];
294 mStringMap.insert( tokens[1], value ); 294 mStringMap.insert( tokens[1], value );
295 } else if ( tokens[0] == "QDateTime" ) { 295 } else if ( tokens[0] == "QDateTime" ) {
296#if 0 296#if 0
297 int year = tokens[2].toInt(); 297 int year = tokens[2].toInt();
298 QDateTime dt( QDate( year, 298 QDateTime dt( QDate( year,
299 tokens[3].toInt(), 299 tokens[3].toInt(),
300 tokens[4].toInt() ), 300 tokens[4].toInt() ),
301 QTime( tokens[5].toInt(), tokens[6].toInt(), 301 QTime( tokens[5].toInt(), tokens[6].toInt(),
302 tokens[7].toInt() ) ); 302 tokens[7].toInt() ) );
303 mDateTimeMap.insert( tokens[1], dt ); 303 mDateTimeMap.insert( tokens[1], dt );
304#endif 304#endif
305 } 305 }
306 306
307 line = t.readLine(); 307 line = t.readLine();
308 } 308 }
309} 309}
310 310
311void KConfig::sync() 311void KConfig::sync()
312{ 312{
313 313
314 if ( !mDirty ) return; 314 if ( !mDirty ) return;
315 //qDebug("KConfig::sync() %s ",mFileName.latin1() ); 315 //qDebug("KConfig::sync() %s ",mFileName.latin1() );
316 //kdDebug() << "KConfig::sync(): " << mFileName << endl; 316 //kdDebug() << "KConfig::sync(): " << mFileName << endl;
317 317
318//US I took the following code from a newer version of KDE 318//US I took the following code from a newer version of KDE
319 // Create the containing dir if needed 319 // Create the containing dir if needed
320 KURL path; 320 KURL path;
321 path.setPath(mFileName); 321 path.setPath(mFileName);
322 QString dir=path.directory(); 322 QString dir=path.directory();
323 KStandardDirs::makeDir(dir); 323 KStandardDirs::makeDir(dir);
324 324
325 QFile f( mFileName ); 325 QFile f( mFileName );
326 if ( !f.open( IO_WriteOnly ) ) { 326 if ( !f.open( IO_WriteOnly ) ) {
327 327
328 qDebug("KConfig::sync() Can't open file %s ",mFileName.latin1() ); 328 qDebug("KConfig::sync() Can't open file %s ",mFileName.latin1() );
329 329
330 return; 330 return;
331 } 331 }
332 332
333 QTextStream t( &f ); 333 QTextStream t( &f );
334 t.setEncoding( QTextStream::Latin1 ); 334 t.setEncoding( QTextStream::Latin1 );
335 QMap<QString,bool>::ConstIterator itBool; 335 QMap<QString,bool>::ConstIterator itBool;
336 for( itBool = mBoolMap.begin(); itBool != mBoolMap.end(); ++itBool ) { 336 for( itBool = mBoolMap.begin(); itBool != mBoolMap.end(); ++itBool ) {
337 t << "bool," << itBool.key() << "," << ( *itBool ? "1" : "0" ) << endl; 337 t << "bool," << itBool.key() << "," << ( *itBool ? "1" : "0" ) << endl;
338 } 338 }
339 339
340 QMap<QString,QString>::ConstIterator itString; 340 QMap<QString,QString>::ConstIterator itString;
341 for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString ) { 341 for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString ) {
342 t << "QString," << itString.key() << "," << (*itString ) << endl; 342 t << "QString," << itString.key() << "," << (*itString ) << endl;
343 } 343 }
344 344
345 QMap<QString,QDateTime>::ConstIterator itDateTime; 345 QMap<QString,QDateTime>::ConstIterator itDateTime;
346 for( itDateTime = mDateTimeMap.begin(); itDateTime != mDateTimeMap.end(); ++itDateTime ) { 346 for( itDateTime = mDateTimeMap.begin(); itDateTime != mDateTimeMap.end(); ++itDateTime ) {
347 QDateTime dt = *itDateTime; 347 QDateTime dt = *itDateTime;
348 t << "QDateTime," << itDateTime.key() << "," 348 t << "QDateTime," << itDateTime.key() << ","
349 << dt.date().year() << "," 349 << dt.date().year() << ","
350 << dt.date().month() << "," 350 << dt.date().month() << ","
351 << dt.date().day() << "," 351 << dt.date().day() << ","
352 << dt.time().hour() << "," 352 << dt.time().hour() << ","
353 << dt.time().minute() << "," 353 << dt.time().minute() << ","
354 << dt.time().second() << endl; 354 << dt.time().second() << endl;
355 } 355 }
356 356
357 f.close(); 357 f.close();
358 358
359 mDirty = false; 359 mDirty = false;
360} 360}
361 361
362 362
363//US I took the following deleteGroup method from a newer version from KDE. 363//US I took the following deleteGroup method from a newer version from KDE.
364/** 364/**
365 * Deletes a configuration entry group 365 * Deletes a configuration entry group
366 * 366 *
367 * If the group is not empty and bDeep is false, nothing gets 367 * If the group is not empty and bDeep is false, nothing gets
368 * deleted and false is returned. 368 * deleted and false is returned.
369 * If this group is the current group and it is deleted, the 369 * If this group is the current group and it is deleted, the
370 * current group is undefined and should be set with setGroup() 370 * current group is undefined and should be set with setGroup()
371 * before the next operation on the configuration object. 371 * before the next operation on the configuration object.
372 * 372 *
373 * @param group The name of the group 373 * @param group The name of the group
374 * returns true if we deleted at least one entry. 374 * returns true if we deleted at least one entry.
375 */ 375 */
376bool KConfig::deleteGroup( const QString& group) 376bool KConfig::deleteGroup( const QString& group)
377{ 377{
378 bool dirty = false; 378 bool dirty = false;
379 int pos; 379 int pos;
380 380
381 QMap<QString,bool>::Iterator itBool = mBoolMap.begin(); 381 QMap<QString,bool>::Iterator itBool = mBoolMap.begin();
382 QMap<QString,bool>::Iterator delBool; 382 QMap<QString,bool>::Iterator delBool;
383 383
384 while ( itBool != mBoolMap.end() ) { 384 while ( itBool != mBoolMap.end() ) {
385 pos = itBool.key().find( group ); 385 pos = itBool.key().find( group );
386 if (pos == 0) { 386 if (pos == 0) {
387 delBool = itBool; 387 delBool = itBool;
388 ++itBool; 388 ++itBool;
389 mBoolMap.remove(delBool); 389 mBoolMap.remove(delBool);
390 dirty = true; 390 dirty = true;
391 } else 391 } else
392 ++itBool; 392 ++itBool;
393 393
394 } 394 }
395 /* 395 /*
396 for( itBool = mBoolMap.begin(); itBool != mBoolMap.end(); ++itBool ) 396 for( itBool = mBoolMap.begin(); itBool != mBoolMap.end(); ++itBool )
397 { 397 {
398 pos = itBool.key().find( group ); 398 pos = itBool.key().find( group );
399 if (pos == 0) { 399 if (pos == 0) {
400 mBoolMap.remove(itBool); 400 mBoolMap.remove(itBool);
401 dirty = true; 401 dirty = true;
402 } 402 }
403 } 403 }
404 */ 404 */
405 QMap<QString,QString>::Iterator itString = mStringMap.begin(); 405 QMap<QString,QString>::Iterator itString = mStringMap.begin();
406 QMap<QString,QString>::Iterator delString ; 406 QMap<QString,QString>::Iterator delString ;
407 while( itString != mStringMap.end() ) { 407 while( itString != mStringMap.end() ) {
408 pos = itString.key().find( group ); 408 pos = itString.key().find( group );
409 if (pos == 0) { 409 if (pos == 0) {
410 delString = itString; 410 delString = itString;
411 ++itString; 411 ++itString;
412 mStringMap.remove(delString); 412 mStringMap.remove(delString);
413 //qDebug("delte++++++++++++++++++ "); 413 //qDebug("delte++++++++++++++++++ ");
414 dirty = true; 414 dirty = true;
415 } else 415 } else
416 ++itString; 416 ++itString;
417 417
418 } 418 }
419 /* this leads to a memory access violation 419 /* this leads to a memory access violation
420 for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString ) 420 for( itString = mStringMap.begin(); itString != mStringMap.end(); ++itString )
421 { 421 {
422 pos = itString.key().find( group ); 422 pos = itString.key().find( group );
423 if (pos == 0) { 423 if (pos == 0) {
424 mStringMap.remove(itString); 424 mStringMap.remove(itString);
425 dirty = true; 425 dirty = true;
426 } 426 }
427 } 427 }
428 */ 428 */
429 QMap<QString,QDateTime>::Iterator itDateTime= mDateTimeMap.begin(); 429 QMap<QString,QDateTime>::Iterator itDateTime= mDateTimeMap.begin();
430 QMap<QString,QDateTime>::Iterator delDateTime; 430 QMap<QString,QDateTime>::Iterator delDateTime;
431 while ( itDateTime != mDateTimeMap.end() ) { 431 while ( itDateTime != mDateTimeMap.end() ) {
432 pos = itDateTime.key().find( group ); 432 pos = itDateTime.key().find( group );
433 if (pos == 0) { 433 if (pos == 0) {
434 delDateTime = itDateTime; 434 delDateTime = itDateTime;
435 ++itDateTime; 435 ++itDateTime;
436 mDateTimeMap.remove(delDateTime); 436 mDateTimeMap.remove(delDateTime);
437 dirty = true; 437 dirty = true;
438 } else 438 } else
439 ++itDateTime; 439 ++itDateTime;
440 440
441 } 441 }
442 /* 442 /*
443 for( itDateTime = mDateTimeMap.begin(); itDateTime != mDateTimeMap.end(); ++itDateTime ) 443 for( itDateTime = mDateTimeMap.begin(); itDateTime != mDateTimeMap.end(); ++itDateTime )
444 { 444 {
445 pos = itDateTime.key().find( group ); 445 pos = itDateTime.key().find( group );
446 if (pos == 0) { 446 if (pos == 0) {
447 mDateTimeMap.remove(itDateTime); 447 mDateTimeMap.remove(itDateTime);
448 dirty = true; 448 dirty = true;
449 } 449 }
450 } 450 }
451 */ 451 */
452 452