diff options
author | Darrell Anderson <humanreadable@yahoo.com> | 2013-03-02 22:09:16 -0600 |
---|---|---|
committer | Darrell Anderson <humanreadable@yahoo.com> | 2013-03-02 22:09:16 -0600 |
commit | 194cf519e45c2c80035014dad11cb7fb245accc4 (patch) | |
tree | 58885e314962a2d5ce8f1e18b76ff8880d86417f | |
parent | d2151830b92cef57979150ed058c5f28fc4aef35 (diff) | |
download | tdegraphics-194cf519e45c2c80035014dad11cb7fb245accc4.tar.gz tdegraphics-194cf519e45c2c80035014dad11cb7fb245accc4.zip |
Add GUI check box control whether to retainn kpdf metadata.
This resolves bug report 1215.
-rw-r--r-- | kghostview/kghostview.kcfg | 15 | ||||
-rw-r--r-- | kpdf/conf/dlggeneral.ui | 20 | ||||
-rw-r--r-- | kpdf/conf/kpdf.kcfg | 5 | ||||
-rw-r--r-- | kpdf/core/document.cpp | 117 | ||||
-rw-r--r-- | kviewshell/kviewshell.kcfg | 3 |
5 files changed, 91 insertions, 69 deletions
diff --git a/kghostview/kghostview.kcfg b/kghostview/kghostview.kcfg index 362191f3..441e1bb3 100644 --- a/kghostview/kghostview.kcfg +++ b/kghostview/kghostview.kcfg @@ -41,11 +41,16 @@ <whatsthis></whatsthis> <default>true</default> </entry> - <entry name="WatchFile" type="Bool"> - <label>Watch File</label> - <whatsthis>If this is on, then the file will be reloaded whenever it changes on disk</whatsthis> - <default>false</default> - </entry> + <entry name="WatchFile" type="Bool"> + <label>Watch File</label> + <whatsthis>If this is on, then the file will be reloaded whenever it changes on disk</whatsthis> + <default>false</default> + </entry> + <entry name="RetainDocumentData" type="Bool"> + <label>Retain document viewing data</label> + <whatsthis>If this is on, then document viewing options are retained</whatsthis> + <default>true</default> + </entry> </group> <group name="Ghostscript"> <entry name="Interpreter" type="String"> 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() diff --git a/kviewshell/kviewshell.kcfg b/kviewshell/kviewshell.kcfg index 3114929c..b292b1ec 100644 --- a/kviewshell/kviewshell.kcfg +++ b/kviewshell/kviewshell.kcfg @@ -11,6 +11,9 @@ <entry key="WatchFile" type="Bool"> <default>true</default> </entry> + <entry key="RetainDocumentData" type="Bool"> + <default>true</default> + </entry> <entry key="Zoom" type="Double"> <default>1.0</default> </entry> |