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////////////////////////////////////////
24 class PDFWebPluginFactory
25 : public QWebPluginFactory
28 PDFWebPluginFactory(QNetworkAccessManager * manager, QObject * parent = 0);
30 QObject * create(QString const & mimeType, QUrl const & url,
31 QStringList const & argumentNames, QStringList const & argumentValues)
33 QList<QWebPluginFactory::Plugin> plugins() const;
36 QNetworkAccessManager * manager_;
41 prefix_ PDFWebPluginFactory::PDFWebPluginFactory(QNetworkAccessManager * manager,
43 : QWebPluginFactory(parent), manager_ (manager)
46 prefix_ QObject * PDFWebPluginFactory::create(QString const & mimeType, QUrl const & url,
47 QStringList const & /* argumentNames */,
48 QStringList const & /* argumentValues */)
51 if (mimeType == "application/x-pdf") {
52 pykit::PDFWidget * plugin = new pykit::PDFWidget(manager_);
59 prefix_ QList<QWebPluginFactory::Plugin> PDFWebPluginFactory::plugins()
62 QList<QWebPluginFactory::Plugin> plugins;
65 QWebPluginFactory::Plugin plugin;
66 plugin.name = "PDF viewer";
67 plugin.description = "View PDF files";
69 QWebPluginFactory::MimeType mimeType;
70 mimeType.name = "application/x-pdf";
71 mimeType.description = "PDF file";
72 plugin.mimeTypes += mimeType;
80 ///////////////////////////////////////////////////////////////////////////
83 prefix_ pykit::Viewer::Viewer(QUrl const & url, Publisher * publisher, QWidget * parent)
86 QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
87 page()->setNetworkAccessManager(
88 new InternalNetworkAccessManager(page()->networkAccessManager(), this, publisher));
89 page()->setPluginFactory(new PDFWebPluginFactory (page()->networkAccessManager(), this));
93 ///////////////////////////////cc.e////////////////////////////////////////
95 //#include "Viewer.mpp"
101 // comment-column: 40
102 // c-file-style: "j32"
103 // indent-tabs-mode: nil
104 // ispell-local-dictionary: "american"
105 // compile-command: "scons -U"