void TestRunner::overridePreference(const QString& name, const QVariant& value) { QWebSettings* settings = m_topLoadingFrame->page()->settings(); if (name == "WebKitJavaScriptEnabled") settings->setAttribute(QWebSettings::JavascriptEnabled, value.toBool()); else if (name == "WebKitTabToLinksPreferenceKey") settings->setAttribute(QWebSettings::LinksIncludedInFocusChain, value.toBool()); else if (name == "WebKitOfflineWebApplicationCacheEnabled") settings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, value.toBool()); else if (name == "WebKitDefaultFontSize") settings->setFontSize(QWebSettings::DefaultFontSize, value.toInt()); else if (name == "WebKitUsesPageCachePreferenceKey") QWebSettings::setMaximumPagesInCache(value.toInt()); else if (name == "WebKitEnableCaretBrowsing") setCaretBrowsingEnabled(value.toBool()); else if (name == "WebKitPluginsEnabled") settings->setAttribute(QWebSettings::PluginsEnabled, value.toBool()); else if (name == "WebKitWebGLEnabled") settings->setAttribute(QWebSettings::WebGLEnabled, value.toBool()); else if (name == "WebKitCSSRegionsEnabled") settings->setAttribute(QWebSettings::CSSRegionsEnabled, value.toBool()); else if (name == "WebKitCSSGridLayoutEnabled") settings->setAttribute(QWebSettings::CSSGridLayoutEnabled, value.toBool()); else if (name == "WebKitHyperlinkAuditingEnabled") settings->setAttribute(QWebSettings::HyperlinkAuditingEnabled, value.toBool()); else if (name == "WebKitAcceleratedCompositingEnabled") settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, value.toBool()); else if (name == "WebKitDisplayImagesKey") settings->setAttribute(QWebSettings::AutoLoadImages, value.toBool()); else printf("ERROR: TestRunner::overridePreference() does not support the '%s' preference\n", name.toLatin1().data()); }
void BrowserApplication::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("websettings")); QWebSettings *defaultSettings = QWebSettings::globalSettings(); QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont); int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize); QFont standardFont = QFont(standardFontFamily, standardFontSize); standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont)); defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize()); int minimumFontSize = settings.value(QLatin1String("minimumFontSize"), defaultSettings->fontSize(QWebSettings::MinimumFontSize)).toInt(); defaultSettings->setFontSize(QWebSettings::MinimumFontSize, minimumFontSize); QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont); int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize); QFont fixedFont = QFont(fixedFontFamily, fixedFontSize); fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont)); defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize()); defaultSettings->setAttribute(QWebSettings::JavascriptCanOpenWindows, !(settings.value(QLatin1String("blockPopupWindows"), true).toBool())); defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool()); defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool()); defaultSettings->setAttribute(QWebSettings::AutoLoadImages, settings.value(QLatin1String("enableImages"), true).toBool()); defaultSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, settings.value(QLatin1String("enableInspector"), false).toBool()); QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl(); defaultSettings->setUserStyleSheetUrl(url); settings.endGroup(); }
void BrowserApplication::loadSettings() { QSettings settings; settings.beginGroup(QLatin1String("websettings")); QWebSettings *defaultSettings = QWebSettings::globalSettings(); QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont); int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize); QFont standardFont = QFont(standardFontFamily, standardFontSize); standardFont = qvariant_cast<QFont>(settings.value(QLatin1String("standardFont"), standardFont)); defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize()); QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont); int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize); QFont fixedFont = QFont(fixedFontFamily, fixedFontSize); fixedFont = qvariant_cast<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont)); defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family()); defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize()); defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool()); defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool()); QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl(); defaultSettings->setUserStyleSheetUrl(url); defaultSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, true); settings.endGroup(); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); app.setApplicationName(app.translate("main", "Matrix Quiz")); #ifdef Q_WS_MAC app.setCursorFlashTime(0); #endif qsrand(static_cast<uint>(time(0))); QWebSettings *webSettings = QWebSettings::globalSettings(); webSettings->setAttribute(QWebSettings::AutoLoadImages, true); webSettings->setAttribute(QWebSettings::JavascriptEnabled, true); webSettings->setAttribute(QWebSettings::PluginsEnabled, true); QString url = QUrl::fromLocalFile(AQP::applicationPathOf() + "/matrixquiz.html").toString(); BrowserWindow *browser = new BrowserWindow(url, new WebPage); browser->showToolBar(false); browser->enableActions(false); QDialogButtonBox *buttonBox = new QDialogButtonBox; QPushButton *quitButton = buttonBox->addButton( app.translate("main", "&Quit"), QDialogButtonBox::AcceptRole); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(browser, 1); layout->addWidget(buttonBox); QDialog dialog; dialog.setLayout(layout); QObject::connect(quitButton, SIGNAL(clicked()), &dialog, SLOT(accept())); dialog.setWindowTitle(app.applicationName()); dialog.show(); return app.exec(); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), config_(kimai::paths::dataFolder() + "Config.ini") { ui->setupUi(this); configDialog_ = NULL; setWindowTitle("Kimai"); QWebSettings* webSettings = QWebSettings::globalSettings(); webSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true); webSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); jsBridge_ = new KimaiJavaScriptBridge(this); connect(ui->webView, SIGNAL(loadFinished(bool)), this, SLOT(webView_loadFinished(bool))); connect(ui->webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(mainFrame_javaScriptWindowObjectCleared())); connect(ui->actionConfiguration, SIGNAL(triggered()), this, SLOT(menuBar_configuration_triggered())); connect(&config_, SIGNAL(valueChanged(QString)), this, SLOT(config_valueChanged(QString))); QVariant kimaiUrl = config_.value("kimaiUrl"); if (kimaiUrl.isNull() || kimaiUrl.toString().trimmed().isEmpty()) { QMessageBox::information(this, "Kimai URL not set", "No Kimai URL set. Please set it in the configuration dialog."); showConfigDialog(); } else { ui->webView->load(QUrl(kimaiUrl.toString())); } QSettings settings("Kimai", "Kimai Desktop Client"); QVariant geometry = settings.value("kimai/windowGeometry"); if (!geometry.isNull()) restoreGeometry(geometry.toByteArray()); }
WBBrowserWindow::WBBrowserWindow(QWidget *parent, Ui::MainWindow* uniboardMainWindow, bool isViewerWebInstance) : QWidget(parent) , mWebToolBar(0) , mSearchToolBar(0) , mTabWidget(new WBTabWidget(this)) , mSearchAction(0) , mUniboardMainWindow(uniboardMainWindow) { QWebSettings *defaultSettings = QWebSettings::globalSettings(); defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, true); defaultSettings->setAttribute(QWebSettings::PluginsEnabled, true); setupMenu(); if(!isViewerWebInstance) setupToolBar(); else{ setupToolBarForTutorial(); } QVBoxLayout *layout = new QVBoxLayout; layout->setSpacing(0); layout->setMargin(0); layout->addWidget(mTabWidget); this->setLayout(layout); connect(mTabWidget, SIGNAL(loadPage(const QString &)), this, SLOT(loadPage(const QString &))); connect(mTabWidget, SIGNAL(setCurrentTitle(const QString &)), this, SLOT(slotUpdateWindowTitle(const QString &))); if (!isViewerWebInstance) { connect(mTabWidget, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int))); }
itsBrowser::itsBrowser( QWidget *parent ) : QWebView( parent ){ //This is needed in Ubuntu under QT 5 for SSL to work //Still need to test in Windows7 QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration(); sslConfig.setProtocol( QSsl::SslV3 ); //Seems under ubuntu we need to specify the version QSslConfiguration::setDefaultConfiguration( sslConfig ); QWebSettings *Tsettings = settings(); Tsettings->setAttribute( QWebSettings::JavascriptEnabled , true ); Tsettings->setAttribute( QWebSettings::PluginsEnabled , true ); Tsettings->setAttribute( QWebSettings::AutoLoadImages , true ); Tsettings->setAttribute( QWebSettings::JavaEnabled , true ); Tsettings->setAttribute( QWebSettings::JavascriptCanOpenWindows , true); QNetworkCookieJar *myjar = new QNetworkCookieJar(); this->page()->networkAccessManager()->setCookieJar(myjar); connect( page()->networkAccessManager(), SIGNAL( sslErrors( QNetworkReply*, const QList<QSslError> & ) ) ,this,SLOT( handleSslErrors( QNetworkReply*, const QList<QSslError> & ) ) ); connect( page()->networkAccessManager(), SIGNAL( authenticationRequired( QNetworkReply*,QAuthenticator* ) ) , this,SLOT( ProvideAuthentication(QNetworkReply*,QAuthenticator* ) ) ); connect( page()->networkAccessManager(), SIGNAL( proxyAuthenticationRequired(const QNetworkProxy &, QAuthenticator *)) , this , SLOT( ProvideProxAuthentication( const QNetworkProxy&, QAuthenticator*) ) ); connect( page()->networkAccessManager(), SIGNAL( finished ( QNetworkReply *)),this,SLOT(NetworkTaskfinished (QNetworkReply *))); }
WebWidget* QtWebKitWebBackend::createWidget(bool isPrivate, ContentsWidget *parent) { if (!m_isInitialized) { m_isInitialized = true; QWebHistoryInterface::setDefaultInterface(new QtWebKitHistoryInterface(this)); QWebSettings *globalSettings = QWebSettings::globalSettings(); globalSettings->setAttribute(QWebSettings::DnsPrefetchEnabled, true); globalSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); const QString cachePath = SessionsManager::getCachePath(); if (!cachePath.isEmpty()) { QDir().mkpath(cachePath); globalSettings->setIconDatabasePath(cachePath); globalSettings->setLocalStoragePath(cachePath + QLatin1String("/localStorage/")); globalSettings->setOfflineStoragePath(cachePath + QLatin1String("/offlineStorage/")); globalSettings->setOfflineWebApplicationCachePath(cachePath + QLatin1String("/offlineWebApplicationCache/")); } QWebSettings::setMaximumPagesInCache(SettingsManager::getValue(QLatin1String("Cache/PagesInMemoryLimit")).toInt()); optionChanged(QLatin1String("Browser/")); connect(SettingsManager::getInstance(), SIGNAL(valueChanged(QString,QVariant)), this, SLOT(optionChanged(QString))); } return new QtWebKitWebWidget(isPrivate, this, NULL, parent); }
LoginForm::LoginForm(QUrl url, QWidget *parent) : QMainWindow(parent), ui(new Ui::LoginForm) { url.addEncodedQueryItem(OAUTH_CALLBACK,QByteArray(REDIRECT_URL).toPercentEncoding()); qDebug() << url; #ifdef Q_WS_MAEMO_5 setAttribute(Qt::WA_Maemo5AutoOrientation); setAttribute(Qt::WA_Maemo5StackedWindow); #endif QWebSettings* defaultSettings = QWebSettings::globalSettings(); defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, true); defaultSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true); ui->setupUi(this); // defaultSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled,true); page = new JsConsoleWebPage(this); ui->webView->setPage(page); QWebViewSelectionSuppressor *suppressor = new QWebViewSelectionSuppressor(ui->webView); suppressor->enable(); ui->webView->setInputMethodHints(Qt::ImhNoAutoUppercase|Qt::ImhNoPredictiveText); connect(page,SIGNAL(consoleMessage(QString)),this,SLOT(consoleMessage(QString))); connect(ui->webView, SIGNAL(urlChanged(QUrl)), this, SLOT(handleChange(QUrl))); ui->webView->load(url); }
void QHFWebView::load(const QUrl &url) { QWebView::load(url); QWebSettings *sets = this->page()->settings(); sets->setAttribute(QWebSettings::JavascriptEnabled,true); sets->setAttribute(QWebSettings::LocalContentCanAccessFileUrls,true); connect(page()->mainFrame(),SIGNAL(javaScriptWindowObjectCleared()),this,SLOT(registerObject())); }
BrowserWidget::BrowserWidget(QWidget *parent, QSettings *settings, QObject *jsProxy): QGraphicsView(parent), scene(0), jsProxy(jsProxy), zoomStepFactor (settings->value("browser/zoom_step_factor").toFloat()), homePageUrl (settings->value("browser/home_page_url").toString()), errorPageUrl (settings->value("browser/error_url").toString()), unsupportedPageUrl (settings->value("browser/unsupported_url").toString()), pagesInFastHistory (settings->value("browser/pages_in_fast_history").toInt()), freezeForMsecsWhenZooming (settings->value("browser/freeze_time_when_zoom_ms").toInt()), freezeForMsecsWhenDragging (settings->value("browser/freeze_time_when_drag_ms").toInt()), maxDragDistanceToEmitClick (settings->value("browser/click_if_drag_at_most_px").toInt()), dragDistance(maxDragDistanceToEmitClick) { webView = new QGraphicsWebView(); webPage = new BrowserWebPage(); webView->setPage(webPage); newScene(); // visual settings setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setFrameShape(QFrame::NoFrame); setViewportUpdateMode(QGraphicsView::SmartViewportUpdate); webView->setResizesToContents(true); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); QPalette pal(palette()); pal.setColor(QPalette::Base, Qt::white); setPalette(pal); // web settings QWebSettings *globalSettings = QWebSettings::globalSettings(); globalSettings->setAttribute(QWebSettings::PluginsEnabled, true); globalSettings->setAttribute(QWebSettings::TiledBackingStoreEnabled, true); globalSettings->setMaximumPagesInCache(pagesInFastHistory); webView->page()->history()->setMaximumItemCount(pagesInFastHistory); webView->page()->setForwardUnsupportedContent(true); // connects connect(webView, SIGNAL(urlChanged(QUrl)), this, SLOT(urlChanging(QUrl))); connect(webView, SIGNAL(titleChanged(QString)), this, SIGNAL(titleChanged(QString))); connect(webView, SIGNAL(loadFinished(bool)), this, SLOT(newScene())); connect(webView, SIGNAL(loadProgress(int)), this, SIGNAL(loadProgress(int))); connect(webView->page(), SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(unsupportedContent(QNetworkReply*))); connect(webView->page()->networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)), this, SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&)) ); connect(&unfreezeTimer, SIGNAL(timeout()), this, SLOT(unfreezeTiles())); unfreezeTimer.setSingleShot(true); connect(webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(addJavaScriptBinding())); addJavaScriptBinding(); }
QtMainWindow::QtMainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::QtMainWindow), webInspectorWindow(new QtWebInspector()), cb(NULL), cur_tbrp(0), m_alertDialog(0), m_LogicalDpiX(0), m_LogicalDpiY(0), firstShow(true) //TODO: m_SyncStatusDlg { #ifdef OS_WINDOWS_DESKTOP QPixmap icon(":/images/rho.png"); QApplication::setWindowIcon(icon); #endif ui->setupUi(this); QWebSettings* qs = QWebSettings::globalSettings(); //this->ui->webView->settings(); qs->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); qs->setAttribute(QWebSettings::LocalStorageEnabled, true); qs->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); qs->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); qs->setOfflineStorageDefaultQuota(1024*1024*1024); rho::String rs_dir = RHODESAPP().getRhoRootPath()+RHO_EMULATOR_DIR; qs->setOfflineWebApplicationCachePath(rs_dir.c_str()); qs->setLocalStoragePath(rs_dir.c_str()); qs->setOfflineStoragePath(rs_dir.c_str()); this->ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); this->ui->webView->page()->mainFrame()->securityOrigin().setDatabaseQuota(1024*1024*1024); this->main_webView = this->ui->webView; this->main_webInspector = webInspectorWindow->webInspector(); this->cur_webInspector = this->main_webInspector; this->move(0,0); this->ui->toolBar->hide(); this->ui->toolBarRight->hide(); // connecting WebInspector main_webInspector->setPage(ui->webView->page()); #ifdef OS_SYMBIAN QWebViewKineticScroller *newScroller = new QWebViewKineticScroller(); newScroller->setWidget(this->ui->webView); QWebViewSelectionSuppressor* suppressor = new QWebViewSelectionSuppressor(this->ui->webView); #endif #if defined(RHODES_EMULATOR) webInspectorWindow->show(); #endif }
void Manitou::postInitialize() { // load WebKit settings QSettings settings; QWebSettings *globalSettings = QWebSettings::globalSettings(); settings.beginGroup("WebKit"); globalSettings->setAttribute(QWebSettings::AutoLoadImages, settings.value("AutoLoadImages", true).toBool()); globalSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, settings.value("DevelopersExtras", true).toBool()); globalSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value("Plugins", true).toBool()); globalSettings->setAttribute(QWebSettings::LocalStorageEnabled, settings.value("LocalStorage", true).toBool()); globalSettings->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, settings.value("LocalDatabase", true).toBool()); settings.endGroup(); }
void View::doWebSettings() { QWebSettings* defaultSettings = QWebSettings::globalSettings(); QWebSettings::enablePersistentStorage(""); // Inspect Support defaultSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, true); // Plug-ins must be set to be enabled to use plug-ins. defaultSettings->setAttribute(QWebSettings::PluginsEnabled,true); defaultSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls,true); defaultSettings->setObjectCacheCapacities(0, 0, 0); }
WebPage::WebPage(QObject* parent, DumpRenderTree* drt) : QWebPage(parent) , m_webInspector(0) , m_drt(drt) { QWebSettings* globalSettings = QWebSettings::globalSettings(); globalSettings->setFontSize(QWebSettings::MinimumFontSize, 0); globalSettings->setFontSize(QWebSettings::MinimumLogicalFontSize, 5); globalSettings->setFontSize(QWebSettings::DefaultFontSize, 16); globalSettings->setFontSize(QWebSettings::DefaultFixedFontSize, 13); globalSettings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); globalSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); globalSettings->setAttribute(QWebSettings::LinksIncludedInFocusChain, false); globalSettings->setAttribute(QWebSettings::PluginsEnabled, true); globalSettings->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true); globalSettings->setAttribute(QWebSettings::JavascriptEnabled, true); globalSettings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false); globalSettings->setAttribute(QWebSettings::SpatialNavigationEnabled, false); connect(this, SIGNAL(geometryChangeRequested(const QRect &)), this, SLOT(setViewGeometry(const QRect & ))); setNetworkAccessManager(m_drt->networkAccessManager()); setPluginFactory(new TestPlugin(this)); connect(this, SIGNAL(featurePermissionRequested(QWebFrame*, QWebPage::Feature)), this, SLOT(requestPermission(QWebFrame*, QWebPage::Feature))); connect(this, SIGNAL(featurePermissionRequestCanceled(QWebFrame*, QWebPage::Feature)), this, SLOT(cancelPermission(QWebFrame*, QWebPage::Feature))); }
void Editor::fullConstructor(const Theme &theme) { m_jsToCppProxy = new JsToCppProxy(this); connect(m_jsToCppProxy, &JsToCppProxy::messageReceived, this, &Editor::on_proxyMessageReceived); m_webView = new CustomQWebView(this); QUrlQuery query; query.addQueryItem("themePath", theme.path); query.addQueryItem("themeName", theme.name); QUrl url = QUrl("file://" + Notepadqq::editorPath()); url.setQuery(query); m_webView->setUrl(url); // To load the page in the background (http://stackoverflow.com/a/10520029): // (however, no noticeable improvement here on an i5, september 2014) //QString content = QString("<html><body onload='setTimeout(function() { window.location=\"%1\"; }, 1);'>Loading...</body></html>").arg("file://" + Notepadqq::editorPath()); //m_webView->setContent(content.toUtf8()); m_webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); QWebSettings *pageSettings = m_webView->page()->settings(); #ifdef QT_DEBUG pageSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); #endif pageSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); m_layout = new QVBoxLayout(this); m_layout->setContentsMargins(0, 0, 0, 0); m_layout->setSpacing(0); m_layout->addWidget(m_webView, 1); setLayout(m_layout); connect(m_webView->page()->mainFrame(), &QWebFrame::javaScriptWindowObjectCleared, this, &Editor::on_javaScriptWindowObjectCleared); connect(m_webView, &CustomQWebView::mouseWheel, this, &Editor::mouseWheel); connect(m_webView, &CustomQWebView::urlsDropped, this, &Editor::urlsDropped); // TODO Display a message if a javascript error gets triggered. // Right now, if there's an error in the javascript code, we // get stuck waiting a J_EVT_READY that will never come. }
WebViewWindow::WebViewWindow(QWidget *parent) : QMainWindow(parent) { QAction* reloadAction = new QAction(QApplication::style()->standardIcon(QStyle::SP_BrowserReload), tr("Reload"), this); reloadAction->setShortcut(QKeySequence(QKeySequence::Refresh)); QToolBar* toolBar = new QToolBar(tr("ToolBar"), this); mAddressBar = new QLineEdit(toolBar); mAddressBar->setReadOnly(true); toolBar->addWidget(mAddressBar); toolBar->addAction(reloadAction); toolBar->setMovable(false); toolBar->hide(); toolBar->installEventFilter(this); mToolBar = toolBar; addToolBar(toolBar); QMenuBar* menuBar = this->menuBar(); QMenu* fileMenu = menuBar->addMenu(tr("&File")); fileMenu->addAction(reloadAction); QAction* quitAction = fileMenu->addAction(QIcon(":/media/application_exit.png"), tr("Quit")); connect(quitAction, SIGNAL(triggered()), this, SLOT(close())); QMenu* viewMenu = menuBar->addMenu(tr("&View")); viewMenu->addAction(toolBar->toggleViewAction()); QMenu* debugMenu = menuBar->addMenu(tr("&Debug")); QAction* inspectAction = debugMenu->addAction(tr("Inspect")); connect(inspectAction, SIGNAL(triggered()), this, SLOT(showWebInspector())); mWebView = new QWebView(this); mWebInspector = 0; QWebSettings* webSettings = mWebView->settings(); webSettings->setAttribute(QWebSettings::LocalStorageEnabled, true); webSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); QWidget* centralWidget = new QWidget(this); QVBoxLayout* layout = new QVBoxLayout(centralWidget); layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(mWebView); layout->setAlignment(mWebView, Qt::AlignCenter); setCentralWidget(centralWidget); setWindowModality(Qt::WindowModal); connect(reloadAction, SIGNAL(triggered()), mWebView, SLOT(reload())); loadWebInspector(); }
LinkFetcher::LinkFetcher(const QString &site_, const QString &scriptOrScriptName_, QObject *parent) : QObject(parent), site(site_), scriptOrScriptName(scriptOrScriptName_) { QWebSettings *webSettings = page.settings(); webSettings->setAttribute(QWebSettings::AutoLoadImages, false); webSettings->setAttribute(QWebSettings::PluginsEnabled, false); webSettings->setAttribute(QWebSettings::JavaEnabled, false); webSettings->setAttribute(QWebSettings::JavascriptEnabled, true); webSettings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); connect(page.mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(injectJavaScriptIntoWindowObject())); connect(&page, SIGNAL(loadFinished(bool)), this, SLOT(fetchLinks(bool))); }
WebCapture::WebCapture(QObject *parent) : QObject(parent), zoom_(100) { connect(&page_, SIGNAL(loadFinished(bool)), this, SLOT(saveResult(bool))); connect(&page_, SIGNAL(loadProgress(int)), this, SLOT(showProgress(int))); QWebSettings *settings = page_.settings(); settings->setAttribute(QWebSettings::AutoLoadImages, true); settings->setAttribute(QWebSettings::DnsPrefetchEnabled, true); settings->setAttribute(QWebSettings::JavascriptEnabled, true); settings->setAttribute(QWebSettings::PluginsEnabled, false); settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, false); settings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, false); settings->setAttribute(QWebSettings::DeveloperExtrasEnabled, false); settings->setAttribute(QWebSettings::LinksIncludedInFocusChain, false); settings->setAttribute(QWebSettings::ZoomTextOnly, false); settings->setAttribute(QWebSettings::PrintElementBackgrounds, true); }
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); QWebSettings *settings = QWebSettings::globalSettings(); settings->setAttribute(QWebSettings::PluginsEnabled, true);//允许插件 settings->setAttribute(QWebSettings::JavascriptEnabled, true);//JavaScript settings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);// settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); settings->setFontFamily(QWebSettings::FixedFont,"幼圆"); ui->webView->setStyle(new CustomStyle()); ui->webView->load(QUrl("file:///D:/BigData/Qt-Tools/Demo/testwebview/map.html")); // ui->webView->load(QUrl("http://www.yicai.com/video/")); connect(ui->webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(populateJavaScriptWindowObject())); }
void TestRunner::setXSSAuditorEnabled(bool enable) { // Set XSSAuditingEnabled globally so that windows created by the test inherit it too. // resetSettings() will call this to reset the page and global setting to false again. // Needed by http/tests/security/xssAuditor/link-opens-new-window.html QWebSettings* globalSettings = QWebSettings::globalSettings(); globalSettings->setAttribute(QWebSettings::XSSAuditingEnabled, enable); m_drt->webPage()->settings()->setAttribute(QWebSettings::XSSAuditingEnabled, enable); }
void LayoutTestController::overridePreference(const QString& name, const QVariant& value) { QWebSettings* settings = m_topLoadingFrame->page()->settings(); if (name == "WebKitJavaScriptEnabled") settings->setAttribute(QWebSettings::JavascriptEnabled, value.toBool()); else if (name == "WebKitTabToLinksPreferenceKey") settings->setAttribute(QWebSettings::LinksIncludedInFocusChain, value.toBool()); else if (name == "WebKitOfflineWebApplicationCacheEnabled") settings->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, value.toBool()); else if (name == "WebKitDefaultFontSize") settings->setFontSize(QWebSettings::DefaultFontSize, value.toInt()); else if (name == "WebKitUsesPageCachePreferenceKey") QWebSettings::setMaximumPagesInCache(value.toInt()); else printf("ERROR: LayoutTestController::overridePreference() does not support the '%s' preference\n", name.toLatin1().data()); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); app.setApplicationName(app.translate("main", "Browser Window")); #ifdef Q_WS_MAC app.setCursorFlashTime(0); #endif if (int error = enableNetworkProxying()) return error; QWebSettings *webSettings = QWebSettings::globalSettings(); webSettings->setAttribute(QWebSettings::AutoLoadImages, true); webSettings->setAttribute(QWebSettings::JavascriptEnabled, true); webSettings->setAttribute(QWebSettings::PluginsEnabled, true); #if QT_VERSION >= 0x040500 webSettings->setAttribute(QWebSettings::ZoomTextOnly, true); #endif #ifdef DEBUG webSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); #endif QString url("en.wikipedia.org/wiki/Main_Page"); if (argc > 1) url = argv[1]; QDialog dialog; BrowserWindow *browser = new BrowserWindow(url); if (argc > 2) browser->showToolBar(false); // For testing; don't quote QDialogButtonBox *buttonBox = new QDialogButtonBox; QPushButton *quitButton = buttonBox->addButton( app.translate("main", "&Quit"), QDialogButtonBox::AcceptRole); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(browser, 1); layout->addWidget(buttonBox); dialog.setLayout(layout); QObject::connect(quitButton, SIGNAL(clicked()), &dialog, SLOT(accept())); dialog.setWindowTitle(app.applicationName()); dialog.setWindowFlags(Qt::WindowSystemMenuHint); dialog.show(); return app.exec(); }
EmbeddedWebView::EmbeddedWebView(QWidget *parent, QNetworkAccessManager *networkManager) : QWebView(parent) , m_scrollParent(nullptr) , m_resizeInProgress(0) , m_staticWidth(0) , m_colorScheme(ColorScheme::System) { // set to expanding, ie. "freely" - this is important so the widget will attempt to shrink below the sizehint! setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setFocusPolicy(Qt::StrongFocus); // not by the wheel setPage(new ErrorCheckingPage(this)); page()->setNetworkAccessManager(networkManager); QWebSettings *s = settings(); s->setAttribute(QWebSettings::JavascriptEnabled, false); s->setAttribute(QWebSettings::JavaEnabled, false); s->setAttribute(QWebSettings::PluginsEnabled, false); s->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); s->setAttribute(QWebSettings::JavaEnabled, false); s->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, false); s->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, false); s->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, false); s->clearMemoryCaches(); page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(this, &QWebView::linkClicked, this, &EmbeddedWebView::slotLinkClicked); connect(this, &QWebView::loadFinished, this, &EmbeddedWebView::handlePageLoadFinished); connect(page()->mainFrame(), &QWebFrame::contentsSizeChanged, this, &EmbeddedWebView::handlePageLoadFinished); // Scrolling is implemented on upper layers page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); // Setup shortcuts for standard actions QAction *copyAction = page()->action(QWebPage::Copy); copyAction->setShortcut(tr("Ctrl+C")); addAction(copyAction); m_autoScrollTimer = new QTimer(this); m_autoScrollTimer->setInterval(50); connect(m_autoScrollTimer, &QTimer::timeout, this, &EmbeddedWebView::autoScroll); m_sizeContrainTimer = new QTimer(this); m_sizeContrainTimer->setInterval(50); m_sizeContrainTimer->setSingleShot(true); connect(m_sizeContrainTimer, &QTimer::timeout, this, &EmbeddedWebView::constrainSize); setContextMenuPolicy(Qt::NoContextMenu); findScrollParent(); addCustomStylesheet(QString()); }
WebkitPixelStreamer::WebkitPixelStreamer(const QSize& webpageSize, const QString& url) : PixelStreamer() , authenticationHelper_(new WebkitAuthenticationHelper(webView_)) , selectReplacer_(new WebkitHtmlSelectReplacer(webView_)) , interactionModeActive_(false) , initialWidth_( std::max( webpageSize.width(), WEBPAGE_MIN_WIDTH )) { setSize( webpageSize * WEBPAGE_DEFAULT_ZOOM ); webView_.setZoomFactor(WEBPAGE_DEFAULT_ZOOM); QWebSettings* settings = webView_.settings(); settings->setAttribute( QWebSettings::AcceleratedCompositingEnabled, true ); settings->setAttribute( QWebSettings::JavascriptEnabled, true ); settings->setAttribute( QWebSettings::PluginsEnabled, true ); settings->setAttribute( QWebSettings::LocalStorageEnabled, true ); #if QT_VERSION >= 0x040800 settings->setAttribute( QWebSettings::WebGLEnabled, true ); #endif setUrl(url); connect(&timer_, SIGNAL(timeout()), this, SLOT(update())); timer_.start(30); }
void Platform::setup() { // Load built-in fonts. QDirIterator it(adjustPath(QLatin1String("fonts"))); while (it.hasNext()) { it.next(); if (it.fileInfo().completeSuffix().toLower() == "ttf") { QFontDatabase::addApplicationFont(it.filePath()); } } // Setup of WebView. setAttribute(Qt::WA_InputMethodEnabled, true); view->setMinimumWidth(800); view->setMinimumHeight(600); QWebSettings *settings = view->settings(); settings->setDefaultTextEncoding("utf-8"); settings->setAttribute(QWebSettings::LocalStorageEnabled, true); settings->setLocalStoragePath(adjustPath(".")); view->page()->setLinkDelegationPolicy(QWebPage::DelegateExternalLinks); if (!isDebugMode()) { view->setAcceptDrops(false); view->setContextMenuPolicy(Qt::PreventContextMenu); } else { settings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); } // Setup of Widget. setCentralWidget(view); resize(1000, 700); }
EmbeddedWebView::EmbeddedWebView(QWidget *parent, QNetworkAccessManager *networkManager): QWebView(parent), m_scrollParent(0L), m_resizeInProgress(0) { // set to expanding, ie. "freely" - this is important so the widget will attempt to shrink below the sizehint! setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setFocusPolicy(Qt::StrongFocus); // not by the wheel setPage(new ErrorCheckingPage(this)); page()->setNetworkAccessManager(networkManager); QWebSettings *s = settings(); s->setAttribute(QWebSettings::JavascriptEnabled, false); s->setAttribute(QWebSettings::JavaEnabled, false); s->setAttribute(QWebSettings::PluginsEnabled, false); s->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); s->setAttribute(QWebSettings::JavaEnabled, false); s->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, false); s->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, false); s->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, false); s->clearMemoryCaches(); page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(this, SIGNAL(linkClicked(QUrl)), this, SLOT(slotLinkClicked(QUrl))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(handlePageLoadFinished())); connect(page()->mainFrame(), SIGNAL(contentsSizeChanged(QSize)), this, SLOT(handlePageLoadFinished())); // Scrolling is implemented on upper layers page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff); // Setup shortcuts for standard actions QAction *copyAction = page()->action(QWebPage::Copy); copyAction->setShortcut(tr("Ctrl+C")); addAction(copyAction); // Redmine#3, the QWebView uses black text color when rendering stuff on dark background QPalette palette = QApplication::palette(); if (palette.background().color().lightness() < 50) { QStyle *style = QStyleFactory::create(QLatin1String("windows")); Q_ASSERT(style); palette = style->standardPalette(); setPalette(palette); } setContextMenuPolicy(Qt::NoContextMenu); findScrollParent(); }
GraphicsProxySimpleBrowser::GraphicsProxySimpleBrowser(QGraphicsItem *parent) : QGraphicsWidget(parent) , mGraphicsWebView(0) { QWebSettings *gs = QWebSettings::globalSettings(); gs->setAttribute(QWebSettings::JavaEnabled, true); gs->setAttribute(QWebSettings::PluginsEnabled, true); gs->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true); gs->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true); gs->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true); gs->setAttribute(QWebSettings::DnsPrefetchEnabled, true); setAutoFillBackground(true); mGraphicsWebView = new QGraphicsProxyWidget(); mGraphicsWebView->setWidget(new SimpleBrowser()); mLabel = new QLabel("QGraphicsProxyWidget"); mCloseButton = new QToolButton(); mCloseButton->setAutoRaise(true); mCloseButton->setText("X"); QGraphicsLinearLayout *mainLayer = new QGraphicsLinearLayout(Qt::Vertical); QGraphicsLinearLayout *titleLayout = new QGraphicsLinearLayout(Qt::Horizontal); QGraphicsProxyWidget *proxyLabel = new QGraphicsProxyWidget(); proxyLabel->setWidget(mLabel); QGraphicsProxyWidget *proxyCloseButton = new QGraphicsProxyWidget(); proxyCloseButton->setWidget(mCloseButton); titleLayout->addItem(proxyLabel); titleLayout->addItem(proxyCloseButton); QGraphicsWidget *titleLayoutItem = new QGraphicsWidget(); titleLayoutItem->setLayout(titleLayout); mainLayer->addItem(titleLayoutItem); mainLayer->addItem(mGraphicsWebView); setLayout(mainLayer); connect(mCloseButton, SIGNAL(clicked()), this, SLOT(on_mCloseButton_clicked())); setFlags(ItemIsMovable | ItemIsSelectable | ItemIsFocusable); }
PobierzDane::PobierzDane(QWidget *parent) : QWidget(parent){ setupUi(this); connect(wyjscie,SIGNAL(clicked()),this,SLOT(close())); webView = new QWebView; QWebSettings * globalSettings = QWebSettings::globalSettings(); globalSettings->setAttribute(QWebSettings::AutoLoadImages, false); // globalSettings->setAttribute(QWebSettings::JavascriptEnabled, false); globalSettings->setAttribute(QWebSettings::JavaEnabled, false); globalSettings->setAttribute(QWebSettings::PluginsEnabled, false); globalSettings->setAttribute(QWebSettings::JavascriptCanOpenWindows, false); globalSettings->setAttribute(QWebSettings::JavascriptCanCloseWindows, false); globalSettings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, false); globalSettings->setAttribute(QWebSettings::DeveloperExtrasEnabled, false); globalSettings->setAttribute(QWebSettings::SpatialNavigationEnabled, false); globalSettings->setAttribute(QWebSettings::PrintElementBackgrounds, false); odswiez->setEnabled(false); webView->load(QUrl("http://www.satflare.com/track.asp?q=25544#TOP")); connect(webView,SIGNAL(loadFinished(bool)),this,SLOT(zaladuj())); }
static PyObject *meth_QWebSettings_setAttribute(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; { QWebSettings::WebAttribute a0; bool a1; QWebSettings *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "BEb", &sipSelf, sipType_QWebSettings, &sipCpp, sipType_QWebSettings_WebAttribute, &a0, &a1)) { sipCpp->setAttribute(a0,a1); Py_INCREF(Py_None); return Py_None; } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoMethod(sipParseErr, sipName_QWebSettings, sipName_setAttribute, doc_QWebSettings_setAttribute); return NULL; }