Use Okular's own print preview dialog for all documents

frameworks
Martin T. H. Sandsmark 10 years ago
parent 2639b1e8ed
commit decd4849a8
  1. 21
      part.cpp

@ -68,8 +68,6 @@
#include <KXMLGUIClient> #include <KXMLGUIClient>
#include <KXMLGUIFactory> #include <KXMLGUIFactory>
#include <KPrintPreview>
#if 0 #if 0
#include <knewstuff2/engine.h> #include <knewstuff2/engine.h>
#endif #endif
@ -2453,19 +2451,23 @@ void Part::slotPrintPreview()
if (m_document->pages() == 0) return; if (m_document->pages() == 0) return;
QPrinter printer; QPrinter printer;
QString tempFilePattern;
// Native printing supports KPrintPreview, Postscript needs to use FilePrinterPreview if ( m_document->printingSupport() == Okular::Document::PostscriptPrinting )
if ( m_document->printingSupport() == Okular::Document::NativePrinting )
{ {
KPrintPreview previewdlg( &printer, widget() ); tempFilePattern = (QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps"));
setupPrint( printer ); }
doPrint( printer ); else if ( m_document->printingSupport() == Okular::Document::NativePrinting )
previewdlg.exec(); {
tempFilePattern = (QDir::tempPath() + QLatin1String("/okular_XXXXXX.pdf"));
} }
else else
{ {
return;
}
// Generate a temp filename for Print to File, then release the file so generator can write to it // Generate a temp filename for Print to File, then release the file so generator can write to it
QTemporaryFile tf(QDir::tempPath() + QLatin1String("/okular_XXXXXX.ps")); QTemporaryFile tf(tempFilePattern);
tf.setAutoRemove( true ); tf.setAutoRemove( true );
tf.open(); tf.open();
printer.setOutputFileName( tf.fileName() ); printer.setOutputFileName( tf.fileName() );
@ -2477,7 +2479,6 @@ void Part::slotPrintPreview()
Okular::FilePrinterPreview previewdlg( printer.outputFileName(), widget() ); Okular::FilePrinterPreview previewdlg( printer.outputFileName(), widget() );
previewdlg.exec(); previewdlg.exec();
} }
}
} }

Loading…
Cancel
Save