WebPage::WebPage(bool isPrivateBrowsing, QWidget *parent) : KWebPage(parent, KWalletIntegration) , _isOnRekonqPage(false) { // handling unsupported content... setForwardUnsupportedContent(true); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); if (isPrivateBrowsing) { // NOTE: // I'm sorry I really cannot let KIO work as needed in private browsing mode. // The problem is basically cookie related. This way we lose some features in private // browsing mode, but we ensure PRIVACY! This change cannot be reverted until a proper // fix for KIO (or the right workaround for rekonq) will be found. QNetworkAccessManager *manager = NetworkAccessManager::privateAccessManager(); setNetworkAccessManager(manager); // ----- last stuffs connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(manageNetworkErrors(QNetworkReply*))); settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, true); } else {
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))); }
WebPage::WebPage(QObject *parent) : QWebPage(parent) , loadProgress_(-1) { networkManagerProxy_ = new NetworkManagerProxy(this, this); setNetworkAccessManager(networkManagerProxy_); setPluginFactory(new WebPluginFactory(this)); setForwardUnsupportedContent(true); action(QWebPage::OpenFrameInNewWindow)->setVisible(false); action(QWebPage::OpenImageInNewWindow)->setVisible(false); connect(this, SIGNAL(loadProgress(int)), this, SLOT(progress(int))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finished())); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); connect(this, SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest))); connect(this, SIGNAL(printRequested(QWebFrame*)), mainApp->mainWindow(), SLOT(slotPrint(QWebFrame*))); livingPages_.append(this); }
WebPage::WebPage(QupZilla* mainClass) : QWebPage() , p_QupZilla(mainClass) , m_view(0) , m_speedDial(mApp->plugins()->speedDial()) , m_fileWatcher(0) , m_runningLoop(0) , m_blockAlerts(false) , m_secureStatus(false) , m_isClosing(false) { m_networkProxy = new NetworkManagerProxy(this); m_networkProxy->setPrimaryNetworkAccessManager(mApp->networkManager()); m_networkProxy->setPage(this); setNetworkAccessManager(m_networkProxy); setForwardUnsupportedContent(true); setPluginFactory(new WebPluginFactory(this)); history()->setMaximumItemCount(20); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); connect(this, SIGNAL(loadProgress(int)), this, SLOT(progress(int))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finished())); connect(this, SIGNAL(printRequested(QWebFrame*)), this, SLOT(printFrame(QWebFrame*))); connect(this, SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest))); connect(mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(addJavaScriptObject())); }
WebPage::WebPage(QUrl baseUrl, QWidget *parent) : QWebPage(parent), baseUrl_(baseUrl), navigated_(false) { //settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); setNetworkAccessManager(new NetworkAccessManager(sharedSecret, parent)); }
void WebPage::setCustomNetworkAccessManager() { setNetworkAccessManager(m_manager->networkAccessManager()); connect(networkAccessManager(), SIGNAL(sslErrors(QNetworkReply *, QList<QSslError>)), SLOT(handleSslErrorsForReply(QNetworkReply *, QList<QSslError>))); connect(networkAccessManager(), SIGNAL(requestCreated(QByteArray &, QNetworkReply *)), SIGNAL(requestCreated(QByteArray &, QNetworkReply *))); connect(networkAccessManager(), SIGNAL(finished(QUrl &, QNetworkReply *)), SLOT(replyFinished(QUrl &, QNetworkReply *))); }
DataWebPage::DataWebPage(QObject* parent) : QWebPage(parent) { // use an OAuthNetworkAccessManager instead of regular QNetworkAccessManager so our requests are authed setNetworkAccessManager(OAuthNetworkAccessManager::getInstance()); // give the page an empty stylesheet settings()->setUserStyleSheetUrl(QUrl()); }
PHIWebPage::PHIWebPage( QObject *parent ) : QWebPage( parent ), _view( 0 ), _loading( false ) { setNetworkAccessManager( PHINetManager::instance()->defaultNetworkAccessManager() ); mainFrame()->setScrollBarPolicy( Qt::Vertical, Qt::ScrollBarAlwaysOff ); mainFrame()->setScrollBarPolicy( Qt::Horizontal, Qt::ScrollBarAlwaysOff ); setLinkDelegationPolicy( QWebPage::DelegateExternalLinks ); connect( this, &QWebPage::loadStarted, this, &PHIWebPage::slotLoadingStart ); connect( this, &QWebPage::loadFinished, this, &PHIWebPage::slotLoadingFinished ); }
WebPage::WebPage(QObject *parent) : QWebPage(parent) , m_keyboardModifiers(Qt::NoModifier) , m_pressedButtons(Qt::NoButton) , m_openInNewTab(false) { setNetworkAccessManager(BrowserApplication::networkAccessManager()); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); }
WBWebPage::WBWebPage(QObject *parent) : UBWebPage(parent) , mKeyboardModifiers(Qt::NoModifier) , mPressedButtons(Qt::NoButton) , mOpenInNewTab(false) { setNetworkAccessManager(UBNetworkAccessManager::defaultAccessManager()); connect(this, SIGNAL(unsupportedContent(QNetworkReply *)), this, SLOT(handleUnsupportedContent(QNetworkReply *))); }
WebPage::WebPage(QUrl baseUrl, QWidget *parent) : QWebPage(parent), baseUrl_(baseUrl), navigated_(false) { settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, true); setNetworkAccessManager(new NetworkAccessManager(sharedSecret, parent)); defaultSaveDir_ = QDir::home(); connect(this, SIGNAL(windowCloseRequested()), SLOT(closeRequested())); }
WebPuppeteerTab::WebPuppeteerTab(WebPuppeteer *_parent): QWebPage(_parent) { parent = _parent; // define standard values setViewportSize(QSize(1024,768)); setForwardUnsupportedContent(true); setNetworkAccessManager(new WebPuppeteerTabNetSpy(this)); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(downloadFile(QNetworkReply*))); connect(networkAccessManager(), SIGNAL(sslErrors(QNetworkReply*,const QList<QSslError>&)), this, SLOT(handleSslErrors(QNetworkReply*,const QList<QSslError>&))); }
void WebPage::setQnamThreaded(bool threaded) { bool alreadyThreaded = networkAccessManager()->thread() != thread(); if (threaded == alreadyThreaded) return; if (threaded) { m_qnamThread.reset(new QtNAMThread); m_qnamThread->start(); setNetworkAccessManager(m_qnamThread->networkAccessManager()); } else { setNetworkAccessManager(0); m_qnamThread.reset(); } Qt::ConnectionType connectionType = threaded ? Qt::BlockingQueuedConnection : Qt::DirectConnection; connect(networkAccessManager(), SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), this, SLOT(authenticationRequired(QNetworkReply*, QAuthenticator*)), connectionType); applyProxy(); }
WebPage::WebPage(QWebEngineProfile *profile, QObject *parent) : QWebEnginePage(profile, parent) , m_keyboardModifiers(Qt::NoModifier) , m_pressedButtons(Qt::NoButton) { #if defined(QWEBENGINEPAGE_SETNETWORKACCESSMANAGER) setNetworkAccessManager(BrowserApplication::networkAccessManager()); #endif #if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); #endif }
QtWebKitPage::QtWebKitPage(QtWebKitNetworkManager *networkManager, QtWebKitWebWidget *parent) : QWebPage(parent), m_widget(parent), m_networkManager(networkManager), m_ignoreJavaScriptPopups(false) { setNetworkAccessManager(m_networkManager); setForwardUnsupportedContent(true); updateStyleSheets(); optionChanged(QLatin1String("Interface/ShowScrollBars"), SettingsManager::getValue(QLatin1String("Interface/ShowScrollBars"))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(pageLoadFinished())); connect(SettingsManager::getInstance(), SIGNAL(valueChanged(QString,QVariant)), this, SLOT(optionChanged(QString,QVariant))); }
WebPage::WebPage(QObject* parent) : QWebPage(parent) , m_view(0) , m_fileWatcher(0) , m_runningLoop(0) , m_loadProgress(-1) , m_blockAlerts(false) , m_secureStatus(false) , m_adjustingScheduled(false) { m_javaScriptEnabled = QWebSettings::globalSettings()->testAttribute(QWebSettings::JavascriptEnabled); m_networkProxy = new NetworkManagerProxy(this); m_networkProxy->setPrimaryNetworkAccessManager(mApp->networkManager()); m_networkProxy->setPage(this); setNetworkAccessManager(m_networkProxy); setForwardUnsupportedContent(true); setPluginFactory(new WebPluginFactory(this)); history()->setMaximumItemCount(20); connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); connect(this, SIGNAL(loadProgress(int)), this, SLOT(progress(int))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finished())); connect(this, SIGNAL(printRequested(QWebFrame*)), this, SLOT(printFrame(QWebFrame*))); connect(this, SIGNAL(downloadRequested(QNetworkRequest)), this, SLOT(downloadRequested(QNetworkRequest))); connect(this, SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested())); frameCreated(mainFrame()); connect(this, SIGNAL(frameCreated(QWebFrame*)), this, SLOT(frameCreated(QWebFrame*))); connect(this, SIGNAL(databaseQuotaExceeded(QWebFrame*,QString)), this, SLOT(dbQuotaExceeded(QWebFrame*))); connect(mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(addJavaScriptObject())); #if QTWEBKIT_FROM_2_2 connect(this, SIGNAL(featurePermissionRequested(QWebFrame*,QWebPage::Feature)), this, SLOT(featurePermissionRequested(QWebFrame*,QWebPage::Feature))); #endif #if QTWEBKIT_FROM_2_3 connect(this, SIGNAL(applicationCacheQuotaExceeded(QWebSecurityOrigin*,quint64,quint64)), this, SLOT(appCacheQuotaExceeded(QWebSecurityOrigin*,quint64))); #elif QTWEBKIT_FROM_2_2 connect(this, SIGNAL(applicationCacheQuotaExceeded(QWebSecurityOrigin*,quint64)), this, SLOT(appCacheQuotaExceeded(QWebSecurityOrigin*,quint64))); #endif s_livingPages.append(this); }
QtWebKitWebPage::QtWebKitWebPage(QtWebKitNetworkManager *networkManager, QtWebKitWebWidget *parent) : QWebPage(parent), m_widget(parent), m_backend(WebBackendsManager::getBackend(QLatin1String("qtwebkit"))), m_networkManager(networkManager), m_ignoreJavaScriptPopups(false) { setNetworkAccessManager(m_networkManager); setForwardUnsupportedContent(true); updatePageStyleSheets(); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(pageLoadFinished())); connect(ContentBlockingManager::getInstance(), SIGNAL(styleSheetsUpdated()), this, SLOT(updatePageStyleSheets())); connect(SettingsManager::getInstance(), SIGNAL(valueChanged(QString,QVariant)), this, SLOT(optionChanged(QString,QVariant))); }
WebPage::~WebPage() { mApp->plugins()->emitWebPageDeleted(this); if (m_runningLoop) { m_runningLoop->exit(1); m_runningLoop = 0; } s_livingPages.removeOne(this); // Page's network manager will be deleted and then set to null // Fixes issue with network manager being used after deleted in destructor setNetworkAccessManager(0); }
WebPage::WebPage(QObject *parent) : QWebPage(parent) , m_openTargetBlankLinksIn(TabWidget::NewWindow) , m_javaScriptExternalObject(0) , m_javaScriptAroraObject(0) { setPluginFactory(webPluginFactory()); setNetworkAccessManager(BrowserApplication::networkAccessManager()); connect(this, SIGNAL(unsupportedContent(QNetworkReply *)), this, SLOT(handleUnsupportedContent(QNetworkReply *))); connect(this, SIGNAL(frameCreated(QWebFrame *)), this, SLOT(addExternalBinding(QWebFrame *))); addExternalBinding(mainFrame()); loadSettings(); }
WebPage::WebPage(QObject *parent) : QWebEnginePage(parent) , m_keyboardModifiers(Qt::NoModifier) , m_pressedButtons(Qt::NoButton) , m_openInNewTab(false) { #if defined(QWEBENGINEPAGE_SETNETWORKACCESSMANAGER) setNetworkAccessManager(BrowserApplication::networkAccessManager()); #endif #if defined(QWEBENGINEPAGE_UNSUPPORTEDCONTENT) connect(this, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(handleUnsupportedContent(QNetworkReply*))); #endif connect(this, SIGNAL(authenticationRequired(const QUrl &, QAuthenticator*)), SLOT(authenticationRequired(const QUrl &, QAuthenticator*))); connect(this, SIGNAL(proxyAuthenticationRequired(const QUrl &, QAuthenticator *, const QString &)), SLOT(proxyAuthenticationRequired(const QUrl &, QAuthenticator *, const QString &))); }
WebPage::WebPage(QWidget *parent) : KWebPage(parent, KWalletIntegration) , _networkAnalyzer(false) , _isOnRekonqPage(false) { // ----- handling unsupported content... setForwardUnsupportedContent(true); connect(this, SIGNAL(unsupportedContent(QNetworkReply *)), this, SLOT(handleUnsupportedContent(QNetworkReply *))); // ----- rekonq Network Manager NetworkAccessManager *manager = new NetworkAccessManager(this); manager->setCache(0); // disable QtWebKit cache to just use KIO one.. // set cookieJar window ID.. if (parent && parent->window()) manager->setCookieJarWindowId(parent->window()->winId()); setNetworkAccessManager(manager); // activate ssl warnings setSessionMetaData("ssl_activate_warnings", "TRUE"); // Override the 'Accept' header sent by QtWebKit which favors XML over HTML! // Setting the accept meta-data to null will force kio_http to use its own // default settings for this header. setSessionMetaData(QL1S("accept"), QString()); // ----- Web Plugin Factory setPluginFactory(new WebPluginFactory(this)); // ----- last stuffs connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(manageNetworkErrors(QNetworkReply*))); connect(this, SIGNAL(downloadRequested(const QNetworkRequest &)), this, SLOT(downloadRequest(const QNetworkRequest &))); connect(this, SIGNAL(loadStarted()), this, SLOT(loadStarted())); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool))); // protocol handler signals connect(&_protHandler, SIGNAL(downloadUrl(const KUrl &)), this, SLOT(downloadUrl(const KUrl &))); connect(rApp->iconManager(), SIGNAL(iconChanged()), mainFrame(), SIGNAL(iconChanged())); }
WebPage::WebPage(QObject *parent) : QWebPage(parent) , m_keyboardModifiers(Qt::NoModifier) , m_pressedButtons(Qt::NoButton) , m_openInNewTab(false) , m_posted(false) , m_back(false) , m_iframeHandled(IFRAME_HANDLED) { setNetworkAccessManager(OPNET::OpNetwork::instance()->networkAccessManager()); connect(this, SIGNAL(unsupportedContent(QNetworkReply *)), this, SLOT(handleUnsupportedContent(QNetworkReply *))); connect(OPNET::OpNetwork::instance(), SIGNAL(userAction(int, const QByteArray&)), this, SLOT(replayEvent(int, const QByteArray&))); if (m_iframeHandled) { connect(this, SIGNAL(frameCreated(QWebFrame *)), this, SLOT(handleFrameCreated(QWebFrame *))); } }
PageRunner::PageRunner(const QStringList& args) : QWebPage(0), out(stdout), err(stderr), view(new QWidget()) { QMap<QString, QString> settings = parseArguments(args); QStringList arguments = args.mid(settings.size() * 2); exportpdf = settings.value("export-pdf"); exportpng = settings.value("export-png"); url = QUrl(arguments[0]); nativeio = new NativeIO(this, QFileInfo(arguments[0]).dir(), QDir::current()); if (url.scheme() == "file" || url.isRelative()) { QFileInfo info(arguments[0]); url = QUrl::fromLocalFile(info.absoluteFilePath()); if (!info.isReadable() || !info.isFile()) { QTextStream err(stderr); err << "Cannot read file '" + url.toString() + "'.\n"; qApp->exit(1); } } nam = new NAM(this, QUrl(url).host(), QUrl(url).port()); setNetworkAccessManager(nam); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(finished(bool))); connect(mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(slotInitWindowObjects())); sawJSError = false; setView(view); scriptMode = arguments[0].endsWith(".js"); if (scriptMode) { QByteArray html = "'" + arguments[0].toUtf8().replace('\'', "\\'") + "'"; for (int i = 1; i < arguments.length(); ++i) { html += ",'" + arguments[i].toUtf8().replace('\'', "\\'") + "'"; } html = "<html>" "<head><title></title>" "<script>var arguments=[" + html + "];</script>" "<script src=\"" + QUrl::fromLocalFile(arguments[0]).toEncoded() + "\"></script>"; // add runtime modification html += "<script>//<![CDATA[\n" + getRuntimeBindings() + "if (typeof(runtime) !== 'undefined' && typeof(nativeio) !== 'undefined') {\n" " runtime.libraryPaths = function () {" " /* convert to javascript array */" " var p = nativeio.libraryPaths()," " a = [], i;" " for (i in p) { a[i] = p[i]; }" " return a;" " };}//]]></script>"; html += "</head><body></body></html>\n"; QTemporaryFile tmp("XXXXXX.html"); tmp.setAutoRemove(true); tmp.open(); tmp.write(html); tmp.close(); QFileInfo info(tmp.fileName()); mainFrame()->load(QUrl::fromLocalFile(info.absoluteFilePath())); } else { // Make the url absolute. If it is not done here, QWebFrame will do // it, and it will lose the query and fragment part. QUrl absurl; if (url.isRelative()) { absurl = QUrl::fromLocalFile(QFileInfo(url.toLocalFile()).absoluteFilePath()); absurl.setQuery(url.query()); absurl.setFragment(url.fragment()); } else { absurl = url; } mainFrame()->load(absurl); } }
TomahawkOAuthTwitter::TomahawkOAuthTwitter( QNetworkAccessManager *nam, QObject* parent ) : OAuthTwitter( CONSUMER_KEY, CONSUMER_SECRET, parent ) { setNetworkAccessManager( nam ); }
OnlineDataManager::OnlineDataManager(QObject *parent): QObject(parent) { setNetworkAccessManager(OnlineDataManager::OSF, new OSFNAM(this)); }
KWebPage::KWebPage(QObject *parent, Integration flags) :QWebPage(parent), d(new KWebPagePrivate(this)) { // KDE KParts integration for <embed> tag... if (!flags || (flags & KPartsIntegration)) setPluginFactory(new KWebPluginFactory(this)); QWidget *parentWidget = qobject_cast<QWidget*>(parent); d->window = (parentWidget ? parentWidget->window() : 0); // KDE IO (KIO) integration... if (!flags || (flags & KIOIntegration)) { KIO::Integration::AccessManager *manager = new KIO::Integration::AccessManager(this); // Disable QtWebKit's internal cache to avoid duplication with the one in KIO... manager->setCache(0); manager->setWindow(d->window); manager->setEmitReadyReadOnMetaDataChange(true); setNetworkAccessManager(manager); } // KWallet integration... if (!flags || (flags & KWalletIntegration)) { setWallet(new KWebWallet(0, (d->window ? d->window->winId() : 0) )); } setActionIcon(action(Back), KIcon("go-previous")); setActionIcon(action(Forward), KIcon("go-next")); setActionIcon(action(Reload), KIcon("view-refresh")); setActionIcon(action(Stop), KIcon("process-stop")); setActionIcon(action(Cut), KIcon("edit-cut")); setActionIcon(action(Copy), KIcon("edit-copy")); setActionIcon(action(Paste), KIcon("edit-paste")); setActionIcon(action(Undo), KIcon("edit-undo")); setActionIcon(action(Redo), KIcon("edit-redo")); setActionIcon(action(InspectElement), KIcon("view-process-all")); setActionIcon(action(OpenLinkInNewWindow), KIcon("window-new")); setActionIcon(action(OpenFrameInNewWindow), KIcon("window-new")); setActionIcon(action(OpenImageInNewWindow), KIcon("window-new")); setActionIcon(action(CopyLinkToClipboard), KIcon("edit-copy")); setActionIcon(action(CopyImageToClipboard), KIcon("edit-copy")); setActionIcon(action(ToggleBold), KIcon("format-text-bold")); setActionIcon(action(ToggleItalic), KIcon("format-text-italic")); setActionIcon(action(ToggleUnderline), KIcon("format-text-underline")); setActionIcon(action(DownloadLinkToDisk), KIcon("document-save")); setActionIcon(action(DownloadImageToDisk), KIcon("document-save")); settings()->setWebGraphic(QWebSettings::MissingPluginGraphic, KIcon("preferences-plugin").pixmap(32, 32)); settings()->setWebGraphic(QWebSettings::MissingImageGraphic, KIcon("image-missing").pixmap(32, 32)); settings()->setWebGraphic(QWebSettings::DefaultFrameIconGraphic, KIcon("applications-internet").pixmap(32, 32)); setActionShortcut(action(Back), KStandardShortcut::back()); setActionShortcut(action(Forward), KStandardShortcut::forward()); setActionShortcut(action(Reload), KStandardShortcut::reload()); setActionShortcut(action(Stop), KShortcut(QKeySequence(Qt::Key_Escape))); setActionShortcut(action(Cut), KStandardShortcut::cut()); setActionShortcut(action(Copy), KStandardShortcut::copy()); setActionShortcut(action(Paste), KStandardShortcut::paste()); setActionShortcut(action(Undo), KStandardShortcut::undo()); setActionShortcut(action(Redo), KStandardShortcut::redo()); setActionShortcut(action(SelectAll), KStandardShortcut::selectAll()); }
MythWebPage::MythWebPage(QObject *parent) : QWebPage(parent) { setNetworkAccessManager(GetNetworkAccessManager()); }
WebPage::WebPage(QObject* parent, Notebook* notebook) : QWebPage(parent) { setNetworkAccessManager(new AccessManager(this, notebook)); }
bool HermelinWebPage::handleUri(const QString& originmsg) { QString msg = originmsg; if (msg.startsWith("hermelin:")) { msg = msg.mid(6); QString type = msg.section("/", 0, 0); QString method = msg.section("/", 1, 1); if (type == "system") { if (method == "notify") { QString notify_type = QUrl::fromPercentEncoding(msg.section("/", 2, 2).toUtf8()); QString title = QUrl::fromPercentEncoding(msg.section("/", 3, 3).toUtf8()); QString summary = QUrl::fromPercentEncoding(msg.section("/", 4, 4).toUtf8()); QString image = QUrl::fromPercentEncoding(msg.section("/", 5, 5).toUtf8()); m_mainWindow->notification(notify_type, title, summary, image); } else if (method == "unread_alert") { QString number = QUrl::fromPercentEncoding(msg.section("/", 2, 2).toUtf8()); m_mainWindow->unreadAlert(number); } else if (method == "load_settings") { QString settingString = QUrl::fromPercentEncoding(msg.section("/", 2, -1).toUtf8()); currentFrame()->evaluateJavaScript("hermelin_qt = " + settingString + ";"); QString proxyType = currentFrame()->evaluateJavaScript("hermelin_qt.proxy_type").toString(); QNetworkProxy proxy; QNetworkAccessManager* nm = NULL; #ifdef HAVE_KDE if (proxyType == "none") { nm = new QNetworkAccessManager(this); } #else if (proxyType == "system") { nm = new QNetworkAccessManager(this); QList<QNetworkProxy> proxies = QNetworkProxyFactory::systemProxyForQuery(); proxy = proxies[0]; } #endif if (proxyType == "http" || proxyType == "socks") { nm = new QNetworkAccessManager(this); bool proxyAuth = currentFrame()->evaluateJavaScript("hermelin_qt.proxy_auth").toBool(); int proxyPort = currentFrame()->evaluateJavaScript("hermelin_qt.proxy_port").toInt(); QString proxyHost = currentFrame()->evaluateJavaScript("hermelin_qt.proxy_host").toString(); QString proxyAuthName = currentFrame()->evaluateJavaScript("hermelin_qt.proxy_auth_name").toString(); QString proxyAuthPassword = currentFrame()->evaluateJavaScript("hermelin_qt.proxy_auth_password").toString(); proxy = QNetworkProxy(proxyType == "socks" ? QNetworkProxy::Socks5Proxy : QNetworkProxy::HttpProxy, proxyHost, proxyPort); if (proxyAuth) { proxy.setUser(proxyAuthName); proxy.setPassword(proxyAuthPassword); } } if (proxy.type() != QNetworkProxy::NoProxy) { QNetworkProxy::setApplicationProxy(proxy); } if (nm != NULL) { QNetworkAccessManager* oldnm = networkAccessManager(); oldnm->setParent(NULL); oldnm->deleteLater(); nm->setProxy(QNetworkProxy::DefaultProxy); setNetworkAccessManager(nm); } } else if (method == "sign_in") { m_mainWindow->setSignIn(true); } else if (method == "sign_out") { m_mainWindow->setSignIn(false); } } else if (type == "action") { if (method == "search") { } else if (method == "choose_file") { QFileDialog dialog; dialog.setAcceptMode(QFileDialog::AcceptOpen); dialog.setFileMode(QFileDialog::ExistingFile); dialog.setNameFilter(tr("Images (*.png *.bmp *.jpg *.gif)")); int result = dialog.exec(); if (result) { QStringList fileNames = dialog.selectedFiles(); if (fileNames.size() > 0) { QString callback = msg.section("/", 2, 2); currentFrame()->evaluateJavaScript(QString("%1(\"%2\")").arg(callback, QUrl::fromLocalFile(fileNames[0]).toString().replace("file://", ""))); } } } else if (method == "save_avatar") { } else if (method == "log") { qDebug() << msg; } else if (method == "paste_clipboard_text") { triggerAction(QWebPage::Paste); } else if (method == "set_clipboard_text") { QClipboard *clipboard = QApplication::clipboard(); if (clipboard) clipboard->setText(msg.section("/", 2, -1)); } } else if (type == "request") { QString json = QUrl::fromPercentEncoding(msg.section("/", 1, -1).toUtf8()); currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json = %1 ;").arg(json)); QString request_uuid = currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json.uuid")).toString(); QString request_method = currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json.method")).toString(); QString request_url = currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json.url")).toString(); QMap<QString, QVariant> request_params = currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json.params")).toMap(); QMap<QString, QVariant> request_headers = currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json.headers")).toMap(); QList<QVariant> request_files = currentFrame()->evaluateJavaScript(QString("hermelin_qt_request_json.files")).toList(); HermelinRequest* request = new HermelinRequest( request_uuid, request_method, request_url, request_params, request_headers, request_files, userAgentForUrl(request_url), networkAccessManager()); connect(request, SIGNAL(requestFinished(HermelinRequest*, QByteArray, QString, bool)), this, SLOT(requestFinished(HermelinRequest*, QByteArray, QString, bool))); if (!request->doRequest()) delete request; }
WebPage(QObject * parent = 0) : QWebPage(parent) { setNetworkAccessManager(NetworkAccessManagerMixin::networkAccessManager().get()); setLinkDelegationPolicy(QWebPage::DelegateAllLinks); }