/*! @file @id $Id$ */ // 1 2 3 4 5 6 7 8 // 45678901234567890123456789012345678901234567890123456789012345678901234567890 #ifndef WEBVIEW_HXX #define WEBVIEW_HXX #include #include #include #include class WebView: public QWebView { Q_OBJECT; signals: void newView(WebView*); public: WebView(WebPage* webpage) { x(webpage); //! @bugfix, gcc does not yet support constructor calling } WebView(QWidget *parent=0): QWebView(parent) { x(new WebPage); //! @bugfix, gcc does not yet support constructor calling } private: //! @bugfix, gcc does not yet support constructor calling /*! @see http://en.wikipedia.org/wiki/C++11#Object_construction_improvement */ void x(WebPage* webpage) { webpage->setParent(this); setPage(webpage); page()->setPluginFactory(new PluginFactory); page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); page()->setForwardUnsupportedContent(true); assert(connect(page(), SIGNAL(newPage(WebPage*)), SLOT(newPage(WebPage*)))); } private slots: void newPage(WebPage* p) { newView(new WebView(p)); } }; #endif