PDA

View Full Version : QWebPluginFactory::create issue with QNetworkAccessManager



brcontainer
15th December 2013, 19:32
I’m trying to implement plugins in QWebView.

The problem is that pages that use sessions/cookie/POST method to display a file (such as PDF or SWF in my case) do not receive this information.

How do I send sessions/cookie/POST method in QWebPluginFactory::create ?


QObject *PluginsFactory::create(const QString &mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) const
{
if (mimeType == "application/pdf") {
QAxWidget *pdfWidget = new QAxWidget;
if(!pdfWidget->setControl("{ca8a9780-280d-11cf-a24d-444553540000}")){
qDebug() << "Please install Adobe Acrobat Reader (R) for Pdf support!";
pdfWidget->clear();
} else {
pdfWidget->setProperty("src", url.url());
return pdfWidget;
}
}

if (mimeType == "application/swf") {
QAxWidget *flash = new QAxWidget;
flash->resize(740, 580);
if(!flash->setControl("{d27cdb6e-ae6d-11cf-96b8-444553540000}")){
qDebug() << "Adobe Flash Player (R) for SWF support!";
flash->clear();
} else {
flash->dynamicCall("LoadMovie(long,string)", 0, url.url());
return flash;
}
}
return 0;
}