KUtils
Go to the documentation of this file.
22 #include <QtCore/QFile>
23 #include <QtGui/QLabel>
24 #include <QtGui/QPrinter>
25 #include <QtGui/QShowEvent>
28 #include <kparts/part.h>
36 class KPrintPreviewPrivate
39 KPrintPreviewPrivate(
KPrintPreview *host, QPrinter * _printer)
46 if ( tempdir.exists() ) {
47 filename = tempdir.name() +
"print_preview.pdf";
50 kWarning() <<
"Failed to create temporary directory";
51 filename =
"/dev/null";
67 KParts::ReadOnlyPart *previewPart;
71 void KPrintPreviewPrivate::getPart()
74 kDebug(500) <<
"already got a part";
77 kDebug(500) <<
"querying trader for application/pdf service";
83 KService::List::ConstIterator it = offers.begin();
84 while (!factory && it != offers.end()) {
86 factory = loader.factory();
88 kDebug(500) <<
"Loading failed:" << loader.errorString();
93 kDebug(500) <<
"Trying to create a part";
94 previewPart = factory->create<KParts::ReadOnlyPart>(q, (QVariantList() <<
"Print/Preview"));
96 kDebug(500) <<
"Part creation failed";
101 bool KPrintPreviewPrivate::doPreview()
103 if (!QFile::exists(filename)) {
104 kWarning() <<
"Nothing was produced to be previewed";
111 kWarning() <<
"Could not find a PDF viewer for the preview dialog";
115 q->setMainWidget(previewPart->widget());
116 return previewPart->openUrl(filename);
120 void KPrintPreviewPrivate::fail()
123 failMessage =
new QLabel(
i18n(
"Could not load print preview part"), q);
125 q->setMainWidget(failMessage);
133 , d(new KPrintPreviewPrivate(this, printer))
135 kDebug(500) <<
"kdeprint: creating preview dialog";
144 kDebug(500) <<
"Will print to" << d->filename;
145 printer->setOutputFileName(d->filename);
158 if (!event->spontaneous()) {
160 if (!d->doPreview()) {
173 #include "kprintpreview.moc"
This file is part of the KDE documentation.
Documentation copyright © 1996-2013 The KDE developers.
Generated on Tue Jul 23 2013 20:39:40 by
doxygen 1.8.1.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.