You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
53 lines
1.5 KiB
/*! @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
|
|
|