summaryrefslogtreecommitdiff
path: root/inputmethods/handwriting/qimpenchar.cpp
Unidiff
Diffstat (limited to 'inputmethods/handwriting/qimpenchar.cpp') (more/less context) (show whitespace changes)
-rw-r--r--inputmethods/handwriting/qimpenchar.cpp13
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