Diffstat (limited to 'inputmethods/handwriting/qimpenchar.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | inputmethods/handwriting/qimpenchar.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/inputmethods/handwriting/qimpenchar.cpp b/inputmethods/handwriting/qimpenchar.cpp index 152bfec..0c37e5c 100644 --- a/inputmethods/handwriting/qimpenchar.cpp +++ b/inputmethods/handwriting/qimpenchar.cpp | |||
@@ -363,23 +363,26 @@ bool QIMPenCharSet::save( Domain d ) | |||
363 | QString fn = filename( d ); | 363 | QString fn = filename( d ); |
364 | QString tmpFn = fn + ".new"; | 364 | QString tmpFn = fn + ".new"; |
365 | QFile file( tmpFn ); | 365 | QFile file( tmpFn ); |
366 | if ( file.open( IO_WriteOnly|IO_Raw ) ) { | 366 | if ( file.open( IO_WriteOnly|IO_Raw ) ) { |
367 | QDataStream ds( &file ); | 367 | QByteArray buf; |
368 | QDataStream ds( buf, IO_WriteOnly ); | ||
368 | ds << QString( "QPT 1.1" ); | 369 | ds << QString( "QPT 1.1" ); |
369 | ds << csTitle; | 370 | ds << csTitle; |
370 | ds << desc; | 371 | ds << desc; |
371 | ds << (Q_INT8)csType; | 372 | ds << (Q_INT8)csType; |
372 | QIMPenCharIterator ci( chars ); | 373 | QIMPenCharIterator ci( chars ); |
373 | for ( ; ci.current(); ++ci ) { | 374 | for ( ; ci.current(); ++ci ) { |
374 | QIMPenChar *pc = ci.current(); | 375 | QIMPenChar *pc = ci.current(); |
375 | if ( ( (d == System) && pc->testFlag( QIMPenChar::System ) ) || | 376 | if ( ( ( (d == System) && pc->testFlag( QIMPenChar::System ) ) || |
376 | ( (d == User) && !pc->testFlag( QIMPenChar::System ) ) ) { | 377 | ( (d == User) && !pc->testFlag( QIMPenChar::System ) ) ) && |
378 | ( !pc->testFlag (QIMPenChar::Combined ) ) ) { | ||
377 | ds << *pc; | 379 | ds << *pc; |
378 | } | 380 | } |
379 | if ( file.status() != IO_Ok ) | ||
380 | break; | ||
381 | } | 381 | } |
382 | |||
383 | file.writeBlock( buf ); | ||
384 | file.close(); | ||
382 | if ( file.status() == IO_Ok ) | 385 | if ( file.status() == IO_Ok ) |
383 | ok = TRUE; | 386 | ok = TRUE; |
384 | } | 387 | } |
385 | 388 | ||