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"
17 #include "PDFWidget.hh"
20 //#include "Viewer.mpp"
22 ///////////////////////////////cc.p////////////////////////////////////////
28 class PDFWebPluginFactory
29 : public QWebPluginFactory
32 PDFWebPluginFactory(QNetworkAccessManager * manager, QObject * parent = 0);
34 QObject * create(QString const & mimeType, QUrl const & url,
35 QStringList const & argumentNames, QStringList const & argumentValues)
37 QList<QWebPluginFactory::Plugin> plugins() const;
40 QNetworkAccessManager * manager_;
45 prefix_ PDFWebPluginFactory::PDFWebPluginFactory(QNetworkAccessManager * manager,
47 : QWebPluginFactory(parent), manager_ (manager)
50 prefix_ QObject * PDFWebPluginFactory::create(QString const & mimeType, QUrl const & url,
51 QStringList const & argumentNames,
52 QStringList const & argumentValues)
55 if (mimeType == "application/pdf") {
56 int idix (argumentNames.indexOf("id"));
59 id = argumentValues[idix];
60 pykit::PDFWidget * plugin = new pykit::PDFWidget(
61 id, manager_, dynamic_cast<QWidget*>(parent()));
68 prefix_ QList<QWebPluginFactory::Plugin> PDFWebPluginFactory::plugins()
71 QList<QWebPluginFactory::Plugin> plugins;
74 QWebPluginFactory::Plugin plugin;
75 plugin.name = "PDF viewer";
76 plugin.description = "View PDF files";
78 QWebPluginFactory::MimeType mimeType;
79 mimeType.name = "application/pdf";
80 mimeType.description = "PDF file";
81 plugin.mimeTypes += mimeType;
91 ///////////////////////////////////////////////////////////////////////////
94 prefix_ pykit::Viewer::Viewer(QUrl const & url, Publisher * publisher, QWidget * parent)
97 QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
98 page()->setNetworkAccessManager(
99 new InternalNetworkAccessManager(page()->networkAccessManager(), this, publisher));
101 page()->setPluginFactory(new PDFWebPluginFactory (page()->networkAccessManager(), this));
106 ///////////////////////////////cc.e////////////////////////////////////////
108 //#include "Viewer.mpp"
114 // comment-column: 40
115 // c-file-style: "j32"
116 // indent-tabs-mode: nil
117 // ispell-local-dictionary: "american"
118 // compile-command: "scons -U"