4 // Stefan Bund <info@j32.de>
7 \brief Viewer non-inline non-template implementation */
10 //#include "Viewer.ih"
14 #include <QWebPluginFactory>
15 #include "Publisher.hh"
16 #include "PDFWidget.hh"
18 //#include "Viewer.mpp"
20 ///////////////////////////////cc.p////////////////////////////////////////
26 class PDFWebPluginFactory
27 : public QWebPluginFactory
30 PDFWebPluginFactory(QNetworkAccessManager * manager, QObject * parent = 0);
32 QObject * create(QString const & mimeType, QUrl const & url,
33 QStringList const & argumentNames, QStringList const & argumentValues)
35 QList<QWebPluginFactory::Plugin> plugins() const;
38 QNetworkAccessManager * manager_;
43 prefix_ PDFWebPluginFactory::PDFWebPluginFactory(QNetworkAccessManager * manager,
45 : QWebPluginFactory(parent), manager_ (manager)
48 prefix_ QObject * PDFWebPluginFactory::create(QString const & mimeType, QUrl const & url,
49 QStringList const & /* argumentNames */,
50 QStringList const & /* argumentValues */)
53 if (mimeType == "application/x-pdf") {
54 pykit::PDFWidget * plugin = new pykit::PDFWidget(manager_);
61 prefix_ QList<QWebPluginFactory::Plugin> PDFWebPluginFactory::plugins()
64 QList<QWebPluginFactory::Plugin> plugins;
67 QWebPluginFactory::Plugin plugin;
68 plugin.name = "PDF viewer";
69 plugin.description = "View PDF files";
71 QWebPluginFactory::MimeType mimeType;
72 mimeType.name = "application/x-pdf";
73 mimeType.description = "PDF file";
74 plugin.mimeTypes += mimeType;
84 ///////////////////////////////////////////////////////////////////////////
87 prefix_ pykit::Viewer::Viewer(QUrl const & url, Publisher * publisher, QWidget * parent)
90 QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
91 page()->setNetworkAccessManager(
92 new InternalNetworkAccessManager(page()->networkAccessManager(), this, publisher));
94 page()->setPluginFactory(new PDFWebPluginFactory (page()->networkAccessManager(), this));
99 ///////////////////////////////cc.e////////////////////////////////////////
101 //#include "Viewer.mpp"
107 // comment-column: 40
108 // c-file-style: "j32"
109 // indent-tabs-mode: nil
110 // ispell-local-dictionary: "american"
111 // compile-command: "scons -U"