diff --git a/src/app/qgsidentifyresultsdialog.cpp b/src/app/qgsidentifyresultsdialog.cpp index d09b79236c5..df1708a0daa 100644 --- a/src/app/qgsidentifyresultsdialog.cpp +++ b/src/app/qgsidentifyresultsdialog.cpp @@ -57,6 +57,7 @@ QgsIdentifyResultsWebView::QgsIdentifyResultsWebView( QWidget *parent ) : QWebVi // page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks ); page()->setLinkDelegationPolicy( QWebPage::DontDelegateLinks ); settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true ); + settings()->setAttribute( QWebSettings::JavascriptCanOpenWindows, true ); #ifdef QGISDEBUG settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true ); #endif @@ -85,6 +86,28 @@ void QgsIdentifyResultsWebView::contextMenuEvent( QContextMenuEvent *e ) delete menu; } +QWebView *QgsIdentifyResultsWebView::createWindow( QWebPage::WebWindowType type ) +{ + QDialog *d = new QDialog( this ); + QLayout *l = new QVBoxLayout( d ); + + QWebView *wv = new QWebView( d ); + l->addWidget( wv ); + + wv->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Minimum ); + wv->page()->setNetworkAccessManager( QgsNetworkAccessManager::instance() ); + wv->settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true ); + wv->settings()->setAttribute( QWebSettings::JavascriptCanOpenWindows, true ); +#ifdef QGISDEBUG + wv->settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true ); +#endif + + d->setModal( type != QWebPage::WebBrowserWindow ); + d->show(); + + return wv; +} + // QgsIdentifyResultsWebView size: // --------------- // diff --git a/src/app/qgsidentifyresultsdialog.h b/src/app/qgsidentifyresultsdialog.h index aeb61cebd46..398d022da00 100644 --- a/src/app/qgsidentifyresultsdialog.h +++ b/src/app/qgsidentifyresultsdialog.h @@ -56,6 +56,7 @@ class QgsIdentifyResultsWebView : public QWebView void print( void ); protected: void contextMenuEvent( QContextMenuEvent* ); + QWebView *createWindow( QWebPage::WebWindowType type ); }; class QgsIdentifyResultsFeatureItem: public QTreeWidgetItem