print functionality
[pykit.git] / Viewer.cc
index 7c726c9..56708ee 100644 (file)
--- a/Viewer.cc
+++ b/Viewer.cc
@@ -16,6 +16,8 @@
 #ifdef POPPLER
 #include "PDFWidget.hh"
 #endif
+#include <QPrinter>
+#include <QPrintDialog>
 
 //#include "Viewer.mpp"
 #define prefix_
@@ -100,9 +102,19 @@ prefix_ pykit::Viewer::Viewer(QUrl const & url, Publisher * publisher, QWidget *
 #ifdef POPPLER
     page()->setPluginFactory(new PDFWebPluginFactory (page()->networkAccessManager(), this));
 #endif
+    connect(page(), SIGNAL(printRequested(QWebFrame*)), this, SLOT(printRequested()));
     load(url);
 }
 
+prefix_ void pykit::Viewer::printRequested()
+{
+    QPrinter printer;
+    QPrintDialog printDialog(&printer, this);
+    if (printDialog.exec() == QPrintDialog::Accepted) {
+        print(&printer);
+    }
+}
+
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_
 //#include "Viewer.mpp"