diff options
Diffstat (limited to 'kpdf')
-rw-r--r-- | kpdf/conf/dlggeneral.ui | 20 | ||||
-rw-r--r-- | kpdf/conf/kpdf.kcfg | 5 | ||||
-rw-r--r-- | kpdf/core/document.cpp | 117 |
3 files changed, 78 insertions, 64 deletions
diff --git a/kpdf/conf/dlggeneral.ui b/kpdf/conf/dlggeneral.ui index 430f3dfb..5348111d 100644 --- a/kpdf/conf/dlggeneral.ui +++ b/kpdf/conf/dlggeneral.ui @@ -85,12 +85,20 @@ </property> </widget> <widget class="TQCheckBox"> - <property name="name"> - <cstring>kcfg_WatchFile</cstring> - </property> - <property name="text"> - <string>&Watch file</string> - </property> + <property name="name"> + <cstring>kcfg_WatchFile</cstring> + </property> + <property name="text"> + <string>&Watch file</string> + </property> + </widget> + <widget class="TQCheckBox"> + <property name="name"> + <cstring>kcfg_RetainDocumentData</cstring> + </property> + <property name="text"> + <string>&Retain document viewing data</string> + </property> </widget> </vbox> </widget> diff --git a/kpdf/conf/kpdf.kcfg b/kpdf/conf/kpdf.kcfg index d980fd95..9f54b412 100644 --- a/kpdf/conf/kpdf.kcfg +++ b/kpdf/conf/kpdf.kcfg @@ -54,7 +54,10 @@ <default>true</default> </entry> <entry key="ObeyDRM" type="Bool" > - <default>true</default> + <default>true</default> + </entry> + <entry key="RetainDocumentData" type="Bool" > + <default>true</default> </entry> </group> <group name="MainView" > diff --git a/kpdf/core/document.cpp b/kpdf/core/document.cpp index 8b5a1d4f..f97be985 100644 --- a/kpdf/core/document.cpp +++ b/kpdf/core/document.cpp @@ -1404,65 +1404,68 @@ void KPDFDocument::saveDocumentInfo() const if ( d->docFileName.isNull() ) return; - TQFile infoFile( d->xmlFileName ); - if (infoFile.open( IO_WriteOnly | IO_Truncate) ) + if ( KpdfSettings::retainDocumentData() ) { - // Create DOM - TQDomDocument doc( "documentInfo" ); - TQDomElement root = doc.createElement( "documentInfo" ); - doc.appendChild( root ); - - // Add bookmark list to DOM - TQDomElement bookmarkList = doc.createElement( "bookmarkList" ); - root.appendChild( bookmarkList ); - - for ( uint i = 0; i < pages_vector.count() ; i++ ) - { - if ( pages_vector[i]->hasBookmark() ) - { - TQDomElement page = doc.createElement( "page" ); - page.appendChild( doc.createTextNode( TQString::number(i) ) ); - - bookmarkList.appendChild( page ); - } - } - - // Add general info to DOM - TQDomElement generalInfo = doc.createElement( "generalInfo" ); - root.appendChild( generalInfo ); - - // <general info><history> ... </history> saves history up to 10 viewports - TQValueList< DocumentViewport >::iterator backIterator = d->viewportIterator; - if ( backIterator != d->viewportHistory.end() ) - { - // go back up to 10 steps from the current viewportIterator - int backSteps = 10; - while ( backSteps-- && backIterator != d->viewportHistory.begin() ) - --backIterator; - - // create history root node - TQDomElement historyNode = doc.createElement( "history" ); - generalInfo.appendChild( historyNode ); - - // add old[backIterator] and present[viewportIterator] items - TQValueList< DocumentViewport >::iterator endIt = d->viewportIterator; - ++endIt; - while ( backIterator != endIt ) - { - TQString name = (backIterator == d->viewportIterator) ? "current" : "oldPage"; - TQDomElement historyEntry = doc.createElement( name ); - historyEntry.setAttribute( "viewport", (*backIterator).toString() ); - historyNode.appendChild( historyEntry ); - ++backIterator; - } - } - - // Save DOM to XML file - TQString xml = doc.toString(); - TQTextStream os( &infoFile ); - os << xml; + TQFile infoFile( d->xmlFileName ); + if (infoFile.open( IO_WriteOnly | IO_Truncate) ) + { + // Create DOM + TQDomDocument doc( "documentInfo" ); + TQDomElement root = doc.createElement( "documentInfo" ); + doc.appendChild( root ); + + // Add bookmark list to DOM + TQDomElement bookmarkList = doc.createElement( "bookmarkList" ); + root.appendChild( bookmarkList ); + + for ( uint i = 0; i < pages_vector.count() ; i++ ) + { + if ( pages_vector[i]->hasBookmark() ) + { + TQDomElement page = doc.createElement( "page" ); + page.appendChild( doc.createTextNode( TQString::number(i) ) ); + + bookmarkList.appendChild( page ); + } + } + + // Add general info to DOM + TQDomElement generalInfo = doc.createElement( "generalInfo" ); + root.appendChild( generalInfo ); + + // <general info><history> ... </history> saves history up to 10 viewports + TQValueList< DocumentViewport >::iterator backIterator = d->viewportIterator; + if ( backIterator != d->viewportHistory.end() ) + { + // go back up to 10 steps from the current viewportIterator + int backSteps = 10; + while ( backSteps-- && backIterator != d->viewportHistory.begin() ) + --backIterator; + + // create history root node + TQDomElement historyNode = doc.createElement( "history" ); + generalInfo.appendChild( historyNode ); + + // add old[backIterator] and present[viewportIterator] items + TQValueList< DocumentViewport >::iterator endIt = d->viewportIterator; + ++endIt; + while ( backIterator != endIt ) + { + TQString name = (backIterator == d->viewportIterator) ? "current" : "oldPage"; + TQDomElement historyEntry = doc.createElement( name ); + historyEntry.setAttribute( "viewport", (*backIterator).toString() ); + historyNode.appendChild( historyEntry ); + ++backIterator; + } + } + + // Save DOM to XML file + TQString xml = doc.toString(); + TQTextStream os( &infoFile ); + os << xml; + } + infoFile.close(); } - infoFile.close(); } void KPDFDocument::slotTimedMemoryCheck() |