WebPreviewItem::WebPreviewItem(const QString &url) : QGraphicsItem(0), // needs to be a top level item as we otherwise cannot guarantee that it's on top of other chatlines _boundingRect(0, 0, 400, 300) { qreal frameWidth = 5; QWebView *webView = new QWebView; webView->load(url); webView->resize(1000, 750); QGraphicsProxyWidget *proxyItem = new QGraphicsProxyWidget(this); proxyItem->setWidget(webView); proxyItem->setAcceptHoverEvents(false); qreal xScale = (_boundingRect.width() - 2 * frameWidth) / webView->width(); qreal yScale = (_boundingRect.height() - 2 * frameWidth) / webView->height(); proxyItem->scale(xScale, yScale); proxyItem->setPos(frameWidth, frameWidth); setZValue(30); }
WebPreviewItem::WebPreviewItem(const QUrl &url) : QGraphicsItem(0), // needs to be a top level item as we otherwise cannot guarantee that it's on top of other chatlines _boundingRect(0, 0, 400, 300) { qreal frameWidth = 5; QWebView *webView = new QWebView; webView->settings()->setAttribute(QWebSettings::JavascriptEnabled, false); webView->load(url); webView->setDisabled(true); webView->resize(1000, 750); QGraphicsProxyWidget *proxyItem = new QGraphicsProxyWidget(this); proxyItem->setWidget(webView); proxyItem->setAcceptHoverEvents(false); qreal xScale = (_boundingRect.width() - 2 * frameWidth) / webView->width(); qreal yScale = (_boundingRect.height() - 2 * frameWidth) / webView->height(); proxyItem->setTransform(QTransform::fromScale(xScale, yScale), true); proxyItem->setPos(frameWidth, frameWidth); setZValue(30); }