void UBToolWidget::initialize() { if (!sClosePixmap) sClosePixmap = new QPixmap(":/images/close.svg"); if(!sUnpinPixmap) sUnpinPixmap = new QPixmap(":/images/unpin.svg"); UBGraphicsScene *wscene = dynamic_cast<UBGraphicsScene *>(mToolWidget->scene()); if (wscene) { wscene->removeItemFromDeletion(mToolWidget); wscene->removeItem(mToolWidget); } mWebView = new QWebView(this); QPalette palette = mWebView->page()->palette(); palette.setBrush(QPalette::Base, QBrush(Qt::transparent)); mWebView->page()->setPalette(palette); mWebView->installEventFilter(this); mFrameWidth = UBSettings::settings()->objectFrameWidth; mContentMargin = sClosePixmap->width() / 2 + mFrameWidth; setLayout(new QVBoxLayout()); layout()->setContentsMargins(mContentMargin, mContentMargin, mContentMargin, mContentMargin); layout()->addWidget(mWebView); setFixedSize(mToolWidget->boundingRect().width() + mContentMargin * 2, mToolWidget->boundingRect().height() + mContentMargin * 2); connect(mWebView->page()->mainFrame(), &QWebFrame::javaScriptWindowObjectCleared, this, &UBToolWidget::javaScriptWindowObjectCleared); mWebView->load(mToolWidget->mainHtml()); mWebView->setAcceptDrops(false); mWebView->settings()->setAttribute(QWebSettings::PluginsEnabled, true); mWebView->setAttribute(Qt::WA_OpaquePaintEvent, false); connect(UBApplication::boardController, SIGNAL(activeSceneChanged()), this, SLOT(javaScriptWindowObjectCleared())); }