void GetHTML::getSource(const QUrl &url) { QNetworkRequest request(url); currentDownload = manager.get(request); //connect(currentDownload, SIGNAL(downloadProgress(qint64,qint64)), // SLOT(downloadProgress(qint64,qint64))); connect(currentDownload, SIGNAL(finished()), SLOT(downloadFinished())); //connect(currentDownload, SIGNAL(readyRead()), //SLOT(downloadReadyRead())); // prepare the output qDebug() << "Downloading" << url.toEncoded().constData() << "..."; //printf("Downloading %s...\n", url.toEncoded().constData()); downloadTime.start(); }
/** * Slot called after the user selects the x, y fields in the field selection gui component * @param layerName - Name to display in the legend * @param xCoordinate - Name of the field containing the x coordinate * @param yCoordinate - Name of the field containing the y coordinate */ void eVisDatabaseConnectionGui::drawNewVectorLayer( const QString &layerName, const QString &xCoordinate, const QString &yCoordinate ) { //if coorindate fields are defined, load as a delimited text layer if ( !xCoordinate.isEmpty() && !yCoordinate.isEmpty() && !mTempOutputFileList->isEmpty() ) { //fileName is only available if the file is open //the last file in the list is always the newest mTempOutputFileList->last()->open(); QUrl url = QUrl::fromLocalFile( mTempOutputFileList->last()->fileName() ); url.addQueryItem( QStringLiteral( "delimiter" ), QStringLiteral( "\t" ) ); url.addQueryItem( QStringLiteral( "delimiterType" ), QStringLiteral( "regexp" ) ); url.addQueryItem( QStringLiteral( "xField" ), xCoordinate ); url.addQueryItem( QStringLiteral( "yField" ), yCoordinate ); emit drawVectorLayer( QString::fromLatin1( url.toEncoded() ), layerName, QStringLiteral( "delimitedtext" ) ); mTempOutputFileList->last()->close(); } }
/*! Given a URL, generates a unique enough filename (and subdirectory) */ QString QNetworkDiskCachePrivate::uniqueFileName(const QUrl &url) { QUrl cleanUrl = url; cleanUrl.setPassword(QString()); cleanUrl.setFragment(QString()); QCryptographicHash hash(QCryptographicHash::Sha1); hash.addData(cleanUrl.toEncoded()); // convert sha1 to base36 form and return first 8 bytes for use as string QByteArray id = QByteArray::number(*(qlonglong*)hash.result().data(), 36).left(8); // generates <one-char subdir>/<8-char filname.d> uint code = (uint)id.at(id.length()-1) % 16; QString pathFragment = QString::number(code, 16) + QLatin1Char('/') + QLatin1String(id) + CACHE_POSTFIX; return pathFragment; }
PodcastEpisode PodcastBackend::GetEpisodeByUrl(const QUrl& url) { PodcastEpisode ret; QMutexLocker l(db_->Mutex()); QSqlDatabase db(db_->Connect()); QSqlQuery q("SELECT ROWID, " + PodcastEpisode::kColumnSpec + " FROM podcast_episodes" " WHERE url = :url", db); q.bindValue(":url", url.toEncoded()); q.exec(); if (!db_->CheckErrors(q) && q.next()) { ret.InitFromQuery(q); } return ret; }
/*! \~english Redirects to the URL \a url. \~japanese URL \a url へリダイレクトする */ void TActionController::redirect(const QUrl &url, int statusCode) { if (rendered) { tError("Unable to redirect. Has rendered already: %s", qPrintable(className() + '#' + activeAction())); return; } rendered = true; setStatusCode(statusCode); response.header().setRawHeader("Location", url.toEncoded()); response.setBody(QByteArray("<html><body>redirected.</body></html>")); response.header().setContentType("text/html"); // Enable flash-variants QVariant var; var.setValue(flashVars); sessionStore.insert(FLASH_VARS_SESSION_KEY, var); }
void TreeView::startDrag(Qt::DropActions) { QByteArray itemData; QList<QUrl> urls = this->selectedTracks(); for (int i = 0; i < urls.size(); i++) { QUrl u = urls.at(i); itemData.append(u.toEncoded()); if (i + 1 < urls.size()) { itemData.append('|'); } } QMimeData *mimeData = new QMimeData; mimeData->setData("treeview/x-treeview-item", itemData); QDrag *drag = new QDrag(this); drag->setMimeData(mimeData); drag->exec(Qt::MoveAction | Qt::CopyAction, Qt::CopyAction); }
bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) { GstElement* new_bin = nullptr; if (url.scheme() == "spotify") { new_bin = gst_bin_new("spotify_bin"); // Create elements GstElement* src = engine_->CreateElement("tcpserversrc", new_bin); GstElement* gdp = engine_->CreateElement("gdpdepay", new_bin); if (!src || !gdp) return false; // Pick a port number const int port = Utilities::PickUnusedPort(); g_object_set(G_OBJECT(src), "host", "127.0.0.1", nullptr); g_object_set(G_OBJECT(src), "port", port, nullptr); // Link the elements gst_element_link(src, gdp); // Add a ghost pad GstPad* pad = gst_element_get_static_pad(gdp, "src"); gst_element_add_pad(GST_ELEMENT(new_bin), gst_ghost_pad_new("src", pad)); gst_object_unref(GST_OBJECT(pad)); // Tell spotify to start sending data to us. SpotifyServer* spotify_server = InternetModel::Service<SpotifyService>()->server(); // Need to schedule this in the spotify server's thread QMetaObject::invokeMethod( spotify_server, "StartPlayback", Qt::QueuedConnection, Q_ARG(QString, url.toString()), Q_ARG(quint16, port)); } else { new_bin = engine_->CreateElement("uridecodebin"); g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), nullptr); CHECKED_GCONNECT(G_OBJECT(new_bin), "drained", &SourceDrainedCallback, this); CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, this); } return ReplaceDecodeBin(new_bin); }
void SignUpForm::gotTokenUrl(QUrl url) { settings->setConsumerKey(ui->lineEditKey->text()); settings->setSharedSecret(ui->lineEditSharedSecret->text()); settings->setApplicationName(ui->lineEditApplicationName->text()); url.addQueryItem(STR(OAUTH_CONSUMER_KEY),ui->lineEditKey->text()); qDebug() << url.toEncoded(); if (loginForm != NULL) { loginForm->setParent(NULL); delete loginForm; } loginForm = new LoginForm(url,this); connect(loginForm,SIGNAL(loginSucceeded()),this,SLOT(loginSucceeded())); loginForm->show(); }
QByteArray OpenSearchEngine::getPostData(const QString &searchTerm) const { if (m_searchMethod != QLatin1String("post")) { return QByteArray(); } QUrl retVal = QUrl("http://foo.bar"); QUrlQuery query(retVal); Parameters::const_iterator end = m_searchParameters.constEnd(); Parameters::const_iterator i = m_searchParameters.constBegin(); for (; i != end; ++i) { query.addQueryItem(i->first, parseTemplate(searchTerm, i->second)); } retVal.setQuery(query); QByteArray data = retVal.toEncoded(QUrl::RemoveScheme); return data.contains('?') ? data.mid(data.lastIndexOf('?') + 1) : QByteArray(); }
QList<QByteArray> QMacPasteboardMimeFileUri::convertFromMime(const QString &mime, QVariant data, QString flav) { QList<QByteArray> ret; if (!canConvert(mime, flav)) return ret; QList<QVariant> urls = data.toList(); for(int i = 0; i < urls.size(); ++i) { QUrl url = urls.at(i).toUrl(); if (url.scheme().isEmpty()) url.setScheme(QLatin1String("file")); if (url.scheme().toLower() == QLatin1String("file")) { if (url.host().isEmpty()) url.setHost(QLatin1String("localhost")); url.setPath(url.path().normalized(QString::NormalizationForm_D)); } ret.append(url.toEncoded()); } return ret; }
/*! * \brief Opens a websocket connection using the given \a url. * If \a mask is true, all frames will be masked; this is only necessary for client side sockets; servers should never mask * \param url The url to connect to * \param mask When true, all frames are masked * \note A client socket must *always* mask its frames; servers may *never* mask its frames */ void WebSocket::open(const QUrl &url, bool mask) { m_dataProcessor.clear(); m_isClosingHandshakeReceived = false; m_isClosingHandshakeSent = false; setRequestUrl(url); QString resourceName = url.path() + url.toEncoded(); // NOTE 4.8 if (resourceName.isEmpty()) { resourceName = "/"; } setResourceName(resourceName); enableMasking(mask); setSocketState(QAbstractSocket::ConnectingState); m_pSocket->connectToHost(url.host(), url.port(80)); }
QByteArray MmRendererMediaPlayerControl::resourcePathForUrl(const QUrl &url) { // If this is a local file, mmrenderer expects the file:// prefix and an absolute path. // We treat URLs without scheme as local files, most likely someone just forgot to set the // file:// prefix when constructing the URL. if (url.isLocalFile() || url.scheme().isEmpty()) { QString relativeFilePath; if (!url.scheme().isEmpty()) relativeFilePath = url.toLocalFile(); else relativeFilePath = url.path(); const QFileInfo fileInfo(relativeFilePath); return QFile::encodeName(QStringLiteral("file://") + fileInfo.absoluteFilePath()); // HTTP or similar URL } else { return url.toEncoded(); } }
/*! * \qmlsignal Downloader::startNextDownload() * Used if you want to download multiple files */ void Downloader::startNextDownload() { if (downloadQueue.isEmpty()) { qDebug() << downloadedCount << " " << totalCount << "files downloaded successfully\n"; emit started(false); emit finished(); return; } QUrl url = downloadQueue.dequeue(); QFileInfo fileInf(url.toString()); QString fileName = QString("%1%2").arg(mPath).arg("UbuntuCodeofConduct.txt"); // QString filename = saveFileName(fileName); setSavedFileName(fileName); qDebug() << fileName; output.setFileName(fileName); if (!output.open(QIODevice::WriteOnly)) { qDebug() << "Problem opening save file for download"; startNextDownload(); return; } QNetworkRequest request(url); currentDownload = manager.get(request); connect(currentDownload, SIGNAL(downloadProgress(qint64,qint64)), SLOT(downloadProgress(qint64,qint64))); connect(currentDownload, SIGNAL(finished()), SLOT(downloadFinished())); connect(currentDownload, SIGNAL(readyRead()), SLOT(downloadReadyRead())); // prepare the output qDebug () << "Downloading " << url.toEncoded() << "........"; downloadTime.start(); }
bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) { GstElement* new_bin = NULL; if (url.scheme() == "spotify") { #ifdef HAVE_SPOTIFY new_bin = gst_bin_new("spotify_bin"); // Create elements GstElement* src = engine_->CreateElement("tcpserversrc", new_bin); GstElement* gdp = engine_->CreateElement("gdpdepay", new_bin); if (!src || !gdp) return false; // Pick a port number const int port = Utilities::PickUnusedPort(); g_object_set(G_OBJECT(src), "host", "127.0.0.1", NULL); g_object_set(G_OBJECT(src), "port", port, NULL); // Link the elements gst_element_link(src, gdp); // Add a ghost pad GstPad* pad = gst_element_get_static_pad(gdp, "src"); gst_element_add_pad(GST_ELEMENT(new_bin), gst_ghost_pad_new("src", pad)); gst_object_unref(GST_OBJECT(pad)); // Tell spotify to start sending data to us. InternetModel::Service<SpotifyService>()->server()->StartPlaybackLater(url.toString(), port); #else // HAVE_SPOTIFY qLog(Error) << "Tried to play a spotify:// url, but spotify support is not compiled in"; return false; #endif } else { new_bin = engine_->CreateElement("uridecodebin"); g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), NULL); CHECKED_GCONNECT(G_OBJECT(new_bin), "drained", &SourceDrainedCallback, this); CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, this); } return ReplaceDecodeBin(new_bin); }
void NetSearch::DoSearch() { m_searchResultList->Reset(); int numScripts = m_siteList->GetCount(); for (int i = 0; i < numScripts; i++) m_siteList->GetItemAt(i)->SetText("", "count"); if (m_pageText) m_pageText->Reset(); m_pagenum = 1; m_maxpage = 1; QString cmd = m_siteList->GetDataValue().toString(); QString grabber = m_siteList->GetItemCurrent()->GetText(); QString query = m_search->GetText(); if (query.isEmpty()) return; QFileInfo fi(cmd); m_currentCmd = fi.fileName(); m_currentGrabber = m_siteList->GetCurrentPos(); m_currentSearch = query; QString title = tr("Searching %1 for \"%2\"...") .arg(grabber).arg(query); OpenBusyPopup(title); if (!m_netSearch) m_netSearch = new QNetworkAccessManager(this); connect(m_netSearch, SIGNAL(finished(QNetworkReply*)), SLOT(SearchFinished(void))); QUrl init = GetMythXMLSearch(m_mythXML, m_currentSearch, m_currentCmd, m_pagenum); QUrl req(init.toEncoded(), QUrl::TolerantMode); LOG(VB_GENERAL, LOG_INFO, QString("Using Search URL %1").arg(req.toString())); m_reply = m_netSearch->get(QNetworkRequest(req)); }
void LocationBar::dropEvent(QDropEvent *event) { const QMimeData *mimeData = event->mimeData(); QUrl url; if (mimeData->hasUrls()) url = mimeData->urls().at(0); else if (mimeData->hasText()) url = QUrl::fromEncoded(mimeData->text().toUtf8(), QUrl::TolerantMode); if (url.isEmpty() || !url.isValid()) { LineEdit::dropEvent(event); return; } setText(QString::fromUtf8(url.toEncoded())); selectAll(); event->acceptProposedAction(); }
bool Http::post(QUrl url, QByteArray data, QByteArray &result, QMap<QString, QString> cookies, int timeout) { QByteArray body; QByteArray cookiesData = convertData(cookies); QString urlstr = url.toEncoded(); body.append(QString("POST %1 HTTP/1.1\r\n").arg(urlstr)); body.append(QString("Host: %1:%2\r\n").arg(url.host()).arg(url.port())); body.append(QString("Content-Length: %1\r\n").arg(data.length())); body.append("Content-Type: application/x-www-form-urlencoded\r\n"); body.append("Connection: close\r\n"); if (!cookies.isEmpty()) { body.append("Cookie: "); body.append(cookiesData); body.append("\r\n"); } body.append("\r\n"); body.append(data); return send(url.host(),url.port(),body,result,timeout); }
void LocationBar::showUrl(const QUrl &url) { if (hasFocus() || url.isEmpty()) { return; } QString stringUrl = qz_urlEncodeQueryString(url); if (stringUrl == "qupzilla:speeddial" || stringUrl == "about:blank") { stringUrl = ""; } if (url.toEncoded() != text()) { setText(stringUrl); } p_QupZilla->statusBarMessage()->clearMessage(); hideGoButton(); m_bookmarkIcon->checkBookmark(url); }
QString ThumbnailModel::thumbnailPath(const QUrl &url) const { #if defined(Q_OS_UNIX) && !(defined(Q_OS_SYMBIAN) || defined(Q_OS_MAC)) #if defined(Q_WS_MAEMO_5) QString thumbnailPath = QDir::homePath() + QLatin1String("/.thumbnails/cropped/") + QCryptographicHash::hash(url.toString().toUtf8(), QCryptographicHash::Md5).toHex() + QLatin1String(".jpeg"); #else QString thumbnailPath = QDir::homePath() + QLatin1String("/.thumbnails/normal/") + QCryptographicHash::hash(url.toEncoded(), QCryptographicHash::Md5).toHex() + QLatin1String(".png"); #endif if (QFile::exists(thumbnailPath)) return thumbnailPath; #endif return url.path(); }
void GlobalActionManager::shortenLink( const QUrl& url, const QVariant& callbackObj ) { tDebug() << Q_FUNC_INFO << "callbackObj is valid: " << ( callbackObj.isValid() ? "true" : "false" ); if ( QThread::currentThread() != thread() ) { qDebug() << "Reinvoking in correct thread:" << Q_FUNC_INFO; QMetaObject::invokeMethod( this, "shortenLink", Qt::QueuedConnection, Q_ARG( QUrl, url ), Q_ARG( QVariant, callbackObj ) ); return; } QNetworkRequest request; request.setUrl( url ); qDebug() << "Doing lookup:" << url.toEncoded(); QNetworkReply *reply = TomahawkUtils::nam()->get( request ); if ( callbackObj.isValid() ) reply->setProperty( "callbackobj", callbackObj ); connect( reply, SIGNAL( finished() ), SLOT( shortenLinkRequestFinished() ) ); connect( reply, SIGNAL( error( QNetworkReply::NetworkError ) ), SLOT( shortenLinkRequestError( QNetworkReply::NetworkError ) ) ); }
QString CustomWebView::URLToProperString (const QUrl& url) { QString string = url.toString (); QWebElement equivs = page ()->mainFrame ()-> findFirstElement ("meta[http-equiv=\"Content-Type\"]"); if (!equivs.isNull ()) { QString content = equivs.attribute ("content", "text/html; charset=UTF-8"); const QString charset = "charset="; int pos = content.indexOf (charset); if (pos >= 0) PreviousEncoding_ = content.mid (pos + charset.length ()).toLower (); } if (PreviousEncoding_ != "utf-8" && PreviousEncoding_ != "utf8" && !PreviousEncoding_.isEmpty ()) string = url.toEncoded (); return string; }
bool XmppUriQueries::parseXmppUri(const QUrl &AUrl, Jid &AContactJid, QString &AAction, QMultiMap<QString, QString> &AParams) const { if (AUrl.isValid() && AUrl.scheme()==XMPP_URI_SCHEME) { QUrl url = QUrl::fromEncoded(AUrl.toEncoded().replace(';','&'), QUrl::StrictMode); QList< QPair<QString, QString> > keyValues = url.queryItems(); if (!keyValues.isEmpty()) { AContactJid = url.path(); AAction = keyValues.takeAt(0).first; if (AContactJid.isValid() && !AAction.isEmpty()) { for (int i=0; i<keyValues.count(); i++) AParams.insertMulti(keyValues.at(i).first, keyValues.at(i).second); return true; } } } return false; }
bool QgsWFSRequest::sendPOST( const QUrl& url, const QString& contentTypeHeader, const QByteArray& data ) { abort(); // cancel previous mIsAborted = false; mTimedout = false; mGotNonEmptyResponse = false; mErrorMessage.clear(); mErrorCode = QgsWFSRequest::NoError; mForceRefresh = true; mResponse.clear(); if ( url.toEncoded().contains( "fake_qgis_http_endpoint" ) ) { // Hack for testing purposes QUrl modifiedUrl( url ); modifiedUrl.addQueryItem( "POSTDATA", QString::fromUtf8( data ) ); return sendGET( modifiedUrl, true, true, false ); } QNetworkRequest request( url ); if ( !mUri.auth().setAuthorization( request ) ) { mErrorCode = QgsWFSRequest::NetworkError; mErrorMessage = errorMessageFailedAuth(); QgsMessageLog::logMessage( mErrorMessage, tr( "WFS" ) ); return false; } request.setHeader( QNetworkRequest::ContentTypeHeader, contentTypeHeader ); mReply = QgsNetworkAccessManager::instance()->post( request, data ); connect( mReply, SIGNAL( finished() ), this, SLOT( replyFinished() ) ); connect( mReply, SIGNAL( downloadProgress( qint64, qint64 ) ), this, SLOT( replyProgress( qint64, qint64 ) ) ); QEventLoop loop; connect( this, SIGNAL( downloadFinished() ), &loop, SLOT( quit() ) ); loop.exec( QEventLoop::ExcludeUserInputEvents ); return mErrorMessage.isEmpty(); }
QNetworkReplyDataImpl::QNetworkReplyDataImpl(QObject *parent, const QNetworkRequest &req, const QNetworkAccessManager::Operation op) : QNetworkReply(*new QNetworkReplyDataImplPrivate(), parent) { Q_D(QNetworkReplyDataImpl); setRequest(req); setUrl(req.url()); setOperation(op); setFinished(true); QNetworkReply::open(QIODevice::ReadOnly); QUrl url = req.url(); // FIXME qDecodeDataUrl should instead be rewritten to have the QByteArray // and the mime type as an output parameter and return a bool instead d->decodeDataUrlResult = qDecodeDataUrl(url); if (! d->decodeDataUrlResult.first.isNull()) { QString &mimeType = d->decodeDataUrlResult.first; qint64 size = d->decodeDataUrlResult.second.size(); setHeader(QNetworkRequest::ContentTypeHeader, mimeType); setHeader(QNetworkRequest::ContentLengthHeader, size); QMetaObject::invokeMethod(this, "metaDataChanged", Qt::QueuedConnection); d->decodedData.setBuffer(&d->decodeDataUrlResult.second); d->decodedData.open(QIODevice::ReadOnly); QMetaObject::invokeMethod(this, "downloadProgress", Qt::QueuedConnection, Q_ARG(qint64,size), Q_ARG(qint64, size)); QMetaObject::invokeMethod(this, "readyRead", Qt::QueuedConnection); QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection); } else { // something wrong with this URI const QString msg = QCoreApplication::translate("QNetworkAccessDataBackend", "Invalid URI: %1").arg(QString::fromLatin1(url.toEncoded())); setError(QNetworkReply::ProtocolFailure, msg); QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection, Q_ARG(QNetworkReply::NetworkError, QNetworkReply::ProtocolFailure)); QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection); } }
void NetFlixAuthProxy::GetUserToken( QString oAuthConsumerKey, QString sharedSecret) { QString tempToken = settings->getOAuthToken(); QString tempTokenSecret = settings->getOAuthTokenSecret(); QUrl input = QUrl(STR(ACCESS_TOKEN_URL)); input.addQueryItem(OAUTH_TOKEN,tempToken); QUrl url = Oauth::createOAuthUrl(input,oAuthConsumerKey,sharedSecret,"GET",tempTokenSecret); qDebug() << input; qDebug() << url.toEncoded(); HttpClient* client = new HttpClient(this); connect(client, SIGNAL(finishedRequest(int,QString)), this, SLOT(userTokenRequestCompleted(int,QString))); connect(client, SIGNAL(requestFailed(int,QString)), this, SLOT(userTokenRequestFailed(int,QString))); client->get(url); }
void UserFiltersModel::blockImage () { QAction *blocker = qobject_cast<QAction*> (sender ()); if (!blocker) { qWarning () << Q_FUNC_INFO << "sender is not a QAction*" << sender (); return; } QUrl blockUrl = blocker->property ("CleanWeb/URL").value<QUrl> (); QWebView *view = qobject_cast<QWebView*> (blocker-> property ("CleanWeb/View").value<QObject*> ()); if (InitiateAdd (blockUrl.toString ()) && view) { QWebFrame *frame = view->page ()->mainFrame (); QWebElement elem = frame->findFirstElement ("img[src=\"" + blockUrl.toEncoded () + "\"]"); if (!elem.isNull ()) elem.removeFromDocument (); } }
void Database::UrlEncodeFilenameColumn(const QString& table, QSqlDatabase& db) { QSqlQuery select(QString("SELECT ROWID, filename FROM %1").arg(table), db); QSqlQuery update( QString("UPDATE %1 SET filename=:filename WHERE ROWID=:id").arg(table), db); select.exec(); if (CheckErrors(select)) return; while (select.next()) { const int rowid = select.value(0).toInt(); const QString filename = select.value(1).toString(); if (filename.isEmpty() || filename.contains("://")) { continue; } const QUrl url = QUrl::fromLocalFile(filename); update.bindValue(":filename", url.toEncoded()); update.bindValue(":id", rowid); update.exec(); CheckErrors(update); } }
QImage IconProvider::iconForUrl(const QUrl &url) { if (url.path().isEmpty()) { return IconProvider::emptyWebImage(); } foreach (const Icon &ic, m_iconBuffer) { if (ic.url.toString().startsWith(url.toString())) { return ic.image; } } QSqlQuery query; query.prepare("SELECT icon FROM icons WHERE url LIKE ? LIMIT 1"); query.addBindValue(QString("%1%").arg(QString::fromUtf8(url.toEncoded(QUrl::RemoveFragment)))); query.exec(); if (query.next()) { return QImage::fromData(query.value(0).toByteArray()); } return IconProvider::emptyWebImage(); }
bool XmppUriQueries::openXmppUri(const Jid &AStreamJid, const QUrl &AUrl) const { if (AUrl.isValid() && AUrl.scheme()=="xmpp") { QUrl url = QUrl::fromEncoded(AUrl.toEncoded().replace(';','&'), QUrl::StrictMode); Jid contactJid = url.path(); QList< QPair<QString, QString> > keyValues = url.queryItems(); if (keyValues.count() > 0) { QString action = keyValues.takeAt(0).first; if (contactJid.isValid() && !action.isEmpty()) { QMultiMap<QString, QString> params; for (int i=0; i<keyValues.count(); i++) params.insertMulti(keyValues.at(i).first, keyValues.at(i).second); LOG_STRM_INFO(AStreamJid,QString("Opening XMPP URI, url=%1").arg(AUrl.toString())); foreach (IXmppUriHandler *handler, FHandlers) { if (handler->xmppUriOpen(AStreamJid, contactJid, action, params)) return true; } }
static QByteArray proxyAuthenticationKey(const QNetworkProxy &proxy, const QString &realm) { QUrl key; switch (proxy.type()) { case QNetworkProxy::Socks5Proxy: key.setScheme(QLatin1String("proxy-socks5")); break; case QNetworkProxy::HttpProxy: case QNetworkProxy::HttpCachingProxy: key.setScheme(QLatin1String("proxy-http")); break; case QNetworkProxy::FtpCachingProxy: key.setScheme(QLatin1String("proxy-ftp")); break; case QNetworkProxy::DefaultProxy: case QNetworkProxy::NoProxy: // shouldn't happen return QByteArray(); // no default: // let there be errors if a new proxy type is added in the future } if (key.scheme().isEmpty()) // proxy type not handled return QByteArray(); key.setUserName(proxy.user()); key.setHost(proxy.hostName()); key.setPort(proxy.port()); key.setFragment(realm); return "auth:" + key.toEncoded(); }