A simple Qt based browser with no bullshit that supports PKCS#11 tokens (such as the SuisseID).
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.

54 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