void WebPage::loadJavascript() { QResource javascript(":/capybara.js"); if (javascript.isCompressed()) { QByteArray uncompressedBytes(qUncompress(javascript.data(), javascript.size())); m_capybaraJavascript = QString(uncompressedBytes); } else { char * javascriptString = new char[javascript.size() + 1]; strcpy(javascriptString, (const char *)javascript.data()); javascriptString[javascript.size()] = 0; m_capybaraJavascript = javascriptString; } }
void WebPage::loadSingleJavascript(const QString &path) { QResource javascript(path); if (javascript.isCompressed()) { QByteArray uncompressedBytes(qUncompress(javascript.data(), javascript.size())); m_capybaraJavascript.append(QString(uncompressedBytes)); } else { char * javascriptString = new char[javascript.size() + 1]; strcpy(javascriptString, (const char *)javascript.data()); javascriptString[javascript.size()] = 0; m_capybaraJavascript.append(javascriptString); } }
WebPage::WebPage(QObject *parent) : QWebPage(parent) { QResource javascript(":/capybara.js"); if (javascript.isCompressed()) { QByteArray uncompressedBytes(qUncompress(javascript.data(), javascript.size())); m_capybaraJavascript = QString(uncompressedBytes); } else { char * javascriptString = new char[javascript.size() + 1]; strcpy(javascriptString, (const char *)javascript.data()); javascriptString[javascript.size()] = 0; m_capybaraJavascript = javascriptString; } m_loading = false; this->setNetworkAccessManager(new NetworkAccessManager()); connect(this, SIGNAL(loadStarted()), this, SLOT(loadStarted())); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool))); connect(this, SIGNAL(frameCreated(QWebFrame *)), this, SLOT(frameCreated(QWebFrame *))); }
QgsHtmlAnnotationItem::QgsHtmlAnnotationItem( QgsMapCanvas* canvas, QgsVectorLayer* vlayer, bool hasFeature, int feature ) : QgsAnnotationItem( canvas ) , mWidgetContainer( 0 ) , mWebView( 0 ) , mVectorLayer( vlayer ) , mHasAssociatedFeature( hasFeature ) , mFeatureId( feature ) { mWebView = new QgsWebView(); mWebView->page()->setNetworkAccessManager( QgsNetworkAccessManager::instance() ); mWidgetContainer = new QGraphicsProxyWidget( this ); mWidgetContainer->setWidget( mWebView ); QObject::connect( mWebView->page()->mainFrame(), SIGNAL( javaScriptWindowObjectCleared() ), this, SLOT( javascript() ) ); if ( mVectorLayer && mMapCanvas ) { QObject::connect( mVectorLayer, SIGNAL( layerModified() ), this, SLOT( setFeatureForMapPosition() ) ); QObject::connect( mMapCanvas, SIGNAL( renderComplete( QPainter* ) ), this, SLOT( setFeatureForMapPosition() ) ); QObject::connect( mMapCanvas, SIGNAL( layersChanged() ), this, SLOT( updateVisibility() ) ); }