|
Lines 1404-1468
Link Here
|
| 1404 |
if ( d->docFileName.isNull() ) |
1404 |
if ( d->docFileName.isNull() ) |
| 1405 |
return; |
1405 |
return; |
| 1406 |
|
1406 |
|
| 1407 |
TQFile infoFile( d->xmlFileName ); |
1407 |
if ( KpdfSettings::retainDocumentData() ) |
| 1408 |
if (infoFile.open( IO_WriteOnly | IO_Truncate) ) |
|
|
| 1409 |
{ |
1408 |
{ |
| 1410 |
// Create DOM |
1409 |
TQFile infoFile( d->xmlFileName ); |
| 1411 |
TQDomDocument doc( "documentInfo" ); |
1410 |
if (infoFile.open( IO_WriteOnly | IO_Truncate) ) |
| 1412 |
TQDomElement root = doc.createElement( "documentInfo" ); |
1411 |
{ |
| 1413 |
doc.appendChild( root ); |
1412 |
// Create DOM |
| 1414 |
|
1413 |
TQDomDocument doc( "documentInfo" ); |
| 1415 |
// Add bookmark list to DOM |
1414 |
TQDomElement root = doc.createElement( "documentInfo" ); |
| 1416 |
TQDomElement bookmarkList = doc.createElement( "bookmarkList" ); |
1415 |
doc.appendChild( root ); |
| 1417 |
root.appendChild( bookmarkList ); |
1416 |
|
| 1418 |
|
1417 |
// Add bookmark list to DOM |
| 1419 |
for ( uint i = 0; i < pages_vector.count() ; i++ ) |
1418 |
TQDomElement bookmarkList = doc.createElement( "bookmarkList" ); |
| 1420 |
{ |
1419 |
root.appendChild( bookmarkList ); |
| 1421 |
if ( pages_vector[i]->hasBookmark() ) |
1420 |
|
| 1422 |
{ |
1421 |
for ( uint i = 0; i < pages_vector.count() ; i++ ) |
| 1423 |
TQDomElement page = doc.createElement( "page" ); |
1422 |
{ |
| 1424 |
page.appendChild( doc.createTextNode( TQString::number(i) ) ); |
1423 |
if ( pages_vector[i]->hasBookmark() ) |
| 1425 |
|
1424 |
{ |
| 1426 |
bookmarkList.appendChild( page ); |
1425 |
TQDomElement page = doc.createElement( "page" ); |
| 1427 |
} |
1426 |
page.appendChild( doc.createTextNode( TQString::number(i) ) ); |
| 1428 |
} |
1427 |
|
| 1429 |
|
1428 |
bookmarkList.appendChild( page ); |
| 1430 |
// Add general info to DOM |
1429 |
} |
| 1431 |
TQDomElement generalInfo = doc.createElement( "generalInfo" ); |
1430 |
} |
| 1432 |
root.appendChild( generalInfo ); |
1431 |
|
| 1433 |
|
1432 |
// Add general info to DOM |
| 1434 |
// <general info><history> ... </history> saves history up to 10 viewports |
1433 |
TQDomElement generalInfo = doc.createElement( "generalInfo" ); |
| 1435 |
TQValueList< DocumentViewport >::iterator backIterator = d->viewportIterator; |
1434 |
root.appendChild( generalInfo ); |
| 1436 |
if ( backIterator != d->viewportHistory.end() ) |
1435 |
|
| 1437 |
{ |
1436 |
// <general info><history> ... </history> saves history up to 10 viewports |
| 1438 |
// go back up to 10 steps from the current viewportIterator |
1437 |
TQValueList< DocumentViewport >::iterator backIterator = d->viewportIterator; |
| 1439 |
int backSteps = 10; |
1438 |
if ( backIterator != d->viewportHistory.end() ) |
| 1440 |
while ( backSteps-- && backIterator != d->viewportHistory.begin() ) |
1439 |
{ |
| 1441 |
--backIterator; |
1440 |
// go back up to 10 steps from the current viewportIterator |
| 1442 |
|
1441 |
int backSteps = 10; |
| 1443 |
// create history root node |
1442 |
while ( backSteps-- && backIterator != d->viewportHistory.begin() ) |
| 1444 |
TQDomElement historyNode = doc.createElement( "history" ); |
1443 |
--backIterator; |
| 1445 |
generalInfo.appendChild( historyNode ); |
1444 |
|
| 1446 |
|
1445 |
// create history root node |
| 1447 |
// add old[backIterator] and present[viewportIterator] items |
1446 |
TQDomElement historyNode = doc.createElement( "history" ); |
| 1448 |
TQValueList< DocumentViewport >::iterator endIt = d->viewportIterator; |
1447 |
generalInfo.appendChild( historyNode ); |
| 1449 |
++endIt; |
1448 |
|
| 1450 |
while ( backIterator != endIt ) |
1449 |
// add old[backIterator] and present[viewportIterator] items |
| 1451 |
{ |
1450 |
TQValueList< DocumentViewport >::iterator endIt = d->viewportIterator; |
| 1452 |
TQString name = (backIterator == d->viewportIterator) ? "current" : "oldPage"; |
1451 |
++endIt; |
| 1453 |
TQDomElement historyEntry = doc.createElement( name ); |
1452 |
while ( backIterator != endIt ) |
| 1454 |
historyEntry.setAttribute( "viewport", (*backIterator).toString() ); |
1453 |
{ |
| 1455 |
historyNode.appendChild( historyEntry ); |
1454 |
TQString name = (backIterator == d->viewportIterator) ? "current" : "oldPage"; |
| 1456 |
++backIterator; |
1455 |
TQDomElement historyEntry = doc.createElement( name ); |
| 1457 |
} |
1456 |
historyEntry.setAttribute( "viewport", (*backIterator).toString() ); |
| 1458 |
} |
1457 |
historyNode.appendChild( historyEntry ); |
| 1459 |
|
1458 |
++backIterator; |
| 1460 |
// Save DOM to XML file |
1459 |
} |
| 1461 |
TQString xml = doc.toString(); |
1460 |
} |
| 1462 |
TQTextStream os( &infoFile ); |
1461 |
|
| 1463 |
os << xml; |
1462 |
// Save DOM to XML file |
|
|
1463 |
TQString xml = doc.toString(); |
| 1464 |
TQTextStream os( &infoFile ); |
| 1465 |
os << xml; |
| 1466 |
} |
| 1467 |
infoFile.close(); |
| 1464 |
} |
1468 |
} |
| 1465 |
infoFile.close(); |
|
|
| 1466 |
} |
1469 |
} |
| 1467 |
|
1470 |
|
| 1468 |
void KPDFDocument::slotTimedMemoryCheck() |
1471 |
void KPDFDocument::slotTimedMemoryCheck() |