4 // Stefan Bund <info@j32.de>
7 \brief PDFWidget non-inline non-template implementation */
9 #include "PDFWidget.hh"
10 //#include "PDFWidget.ih"
14 #include <QNetworkRequest>
15 #include <QNetworkReply>
17 //#include "PDFWidget.mpp"
19 ///////////////////////////////cc.p////////////////////////////////////////
21 prefix_ pykit::PDFWidget::PDFWidget(QNetworkAccessManager * manager, QWidget * parent)
22 : QLabel(parent), manager_ (manager), currentPage_ (0)
25 prefix_ pykit::PDFWidget::PDFWidget(QString const & document, QNetworkAccessManager * manager,
27 : QLabel(parent), manager_ (manager), currentPage_ (0)
29 document_.reset(Poppler::Document::load(document));
34 prefix_ void pykit::PDFWidget::load(QUrl const & url)
36 QNetworkRequest request (url);
37 QNetworkReply * reply (manager_->get(request));
38 connect(reply, SIGNAL(finished()), this, SLOT(netLoadDocument()));
41 prefix_ void pykit::PDFWidget::netLoadDocument()
43 QNetworkReply * reply = static_cast<QNetworkReply*>(sender());
44 if (reply->error() != QNetworkReply::NoError)
46 QByteArray data (reply->read(reply->size()));
47 document_.reset(Poppler::Document::loadFromData(data));
53 prefix_ void pykit::PDFWidget::documentSetup()
55 document_->setRenderHint(Poppler::Document::Antialiasing, true);
56 document_->setRenderHint(Poppler::Document::TextAntialiasing, true);
57 document_->setRenderHint(Poppler::Document::TextHinting, false);
60 prefix_ void pykit::PDFWidget::showPage()
64 QImage image (document_->page(currentPage_)->renderToImage(
65 physicalDpiX(), physicalDpiY()));
66 setPixmap(QPixmap::fromImage(image));
69 ///////////////////////////////cc.e////////////////////////////////////////
71 //#include "PDFWidget.mpp"
78 // c-file-style: "j32"
79 // indent-tabs-mode: nil
80 // ispell-local-dictionary: "american"
81 // compile-command: "scons -U"