|
|
|
/*! @file
|
|
|
|
|
|
|
|
@id $Id$
|
|
|
|
*/
|
|
|
|
// 1 2 3 4 5 6 7 8
|
|
|
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
|
|
|
|
|
|
|
#ifndef __WEBPAGE_HXX__
|
|
|
|
#define __WEBPAGE_HXX__
|
|
|
|
|
|
|
|
#include <QtWebKit/QWebPage>
|
|
|
|
#include <QtCore/QProcessEnvironment>
|
|
|
|
|
|
|
|
#include <QtCore/QDebug>
|
|
|
|
#ifndef LOG
|
|
|
|
#define LOG qDebug()<<__PRETTY_FUNCTION__
|
|
|
|
#endif
|
|
|
|
|
|
|
|
class WebPage: public QWebPage {
|
|
|
|
Q_OBJECT;
|
|
|
|
signals:
|
|
|
|
void newPage(WebPage*);
|
|
|
|
public:
|
|
|
|
WebPage(QObject *parent = 0): QWebPage(parent) {}
|
|
|
|
protected:
|
|
|
|
virtual QWebPage* createWindow(WebWindowType type) {
|
|
|
|
switch (type) {
|
|
|
|
case QWebPage::WebBrowserWindow:
|
|
|
|
case QWebPage::WebModalDialog: {
|
|
|
|
WebPage *page(new WebPage);
|
|
|
|
newPage(page);
|
|
|
|
return page;
|
|
|
|
} break;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
virtual QString userAgentForUrl(const QUrl& url) const {
|
|
|
|
QString add(QProcessEnvironment::systemEnvironment()
|
|
|
|
.value("SWISSSURFER_USERAGENT"));
|
|
|
|
return QWebPage::userAgentForUrl(url)+(add.size()?" "+add:QString());
|
|
|
|
}
|
|
|
|
QObject* createPlugin(const QString& classid, const QUrl& url,
|
|
|
|
const QStringList& paramNames,
|
|
|
|
const QStringList& paramValues) {
|
|
|
|
LOG<<"classid:"<<classid
|
|
|
|
<<"url:"<<url
|
|
|
|
<<"paramNames:"<<paramNames.join(", ")
|
|
|
|
<<"paramValues:"<<paramValues.join(", ");
|
|
|
|
return QWebPage::createPlugin(classid, url, paramNames, paramValues);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|