allow popups from html wms responses

This commit is contained in:
Juergen E. Fischer 2013-05-06 23:11:26 +02:00
parent 97d006cda1
commit 5af75da3e8
2 changed files with 24 additions and 0 deletions

View File

@ -57,6 +57,7 @@ QgsIdentifyResultsWebView::QgsIdentifyResultsWebView( QWidget *parent ) : QWebVi
// page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks ); // page()->setLinkDelegationPolicy( QWebPage::DelegateAllLinks );
page()->setLinkDelegationPolicy( QWebPage::DontDelegateLinks ); page()->setLinkDelegationPolicy( QWebPage::DontDelegateLinks );
settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true ); settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true );
settings()->setAttribute( QWebSettings::JavascriptCanOpenWindows, true );
#ifdef QGISDEBUG #ifdef QGISDEBUG
settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true ); settings()->setAttribute( QWebSettings::DeveloperExtrasEnabled, true );
#endif #endif
@ -85,6 +86,28 @@ void QgsIdentifyResultsWebView::contextMenuEvent( QContextMenuEvent *e )
delete menu; 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: // QgsIdentifyResultsWebView size:
// --------------- // ---------------
// //

View File

@ -56,6 +56,7 @@ class QgsIdentifyResultsWebView : public QWebView
void print( void ); void print( void );
protected: protected:
void contextMenuEvent( QContextMenuEvent* ); void contextMenuEvent( QContextMenuEvent* );
QWebView *createWindow( QWebPage::WebWindowType type );
}; };
class QgsIdentifyResultsFeatureItem: public QTreeWidgetItem class QgsIdentifyResultsFeatureItem: public QTreeWidgetItem