void MusicRadioPlayListThread::startToDownload(const QString &id) { m_manager = new QNetworkAccessManager(this); QNetworkRequest request; request.setUrl(QUrl(playListUrl + id)); #ifndef QT_NO_SSL connect(m_manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); M_LOGGER_INFO(QString("MusicRadioPlayListThread Support ssl: %1").arg(QSslSocket::supportsSsl())); QSslConfiguration sslConfig = request.sslConfiguration(); sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone); request.setSslConfiguration(sslConfig); #endif if(m_cookJar) { m_manager->setCookieJar(m_cookJar); m_cookJar->setParent(nullptr); } m_reply = m_manager->get(request); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }
void MusicPlaylistFoundItemWidget::setMusicResultsItem(const MusicResultsItem &item) { m_itemData = item; m_nameLabel->setToolTip(item.m_name); m_nameLabel->setText(MusicUtils::Widget::elidedText(m_nameLabel->font(), m_nameLabel->toolTip(), Qt::ElideRight, WIDTH_LABEL_SIZE)); m_creatorLabel->setToolTip("by " + item.m_nickName); m_creatorLabel->setText(MusicUtils::Widget::elidedText(m_creatorLabel->font(), m_creatorLabel->toolTip(), Qt::ElideRight, WIDTH_LABEL_SIZE)); bool ok = false; int count = item.m_playCount.toInt(&ok); if(ok) { if(count >= 10000) { m_topListenButton->setText(tr("%1Thous").arg(count/10000)); } else { m_topListenButton->setText(QString::number(count)); } } else { m_topListenButton->setText(item.m_playCount); } MusicDownloadSourceThread *download = new MusicDownloadSourceThread(this); connect(download, SIGNAL(downLoadByteDataChanged(QByteArray)), SLOT(downLoadFinished(QByteArray))); if(!item.m_coverUrl.isEmpty() && item.m_coverUrl != "null") { download->startToDownload(item.m_coverUrl); } }
void MusicDownLoadQueryKWThread::startToPage(int offset) { if(!m_manager) { return; } M_LOGGER_INFO(QString("%1 startToPage %2").arg(getClassName()).arg(offset)); deleteAll(); QUrl musicUrl = MusicUtils::Algorithm::mdII(KW_SONG_SEARCH_URL, false) .arg(m_searchText).arg(offset).arg(m_pageSize); m_interrupt = true; m_pageTotal = 0; m_pageIndex = offset; QNetworkRequest request; request.setUrl(musicUrl); request.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); request.setRawHeader("User-Agent", MusicUtils::Algorithm::mdII(KW_UA_URL_1, ALG_UA_KEY, false).toUtf8()); setSslConfiguration(&request); m_reply = m_manager->get(request); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }
void MusicBackgroundDownload::startToDownload() { MusicSourceDownloadThread *download = new MusicSourceDownloadThread(this); ///Set search image API connect(download, SIGNAL(recievedData(QByteArray)), SLOT(downLoadFinished(QByteArray))); download->startToDownload(BIG_BG_ART_URL.arg(m_artName)); }
void MusicKWBackgroundThread::downLoadDataFinished(const QByteArray &bytes) { QJson::Parser parser; bool ok; if(bytes != "NO_PIC") { QVariant data = parser.parse(bytes, &ok); if(ok) { QVariantMap dataMap = data.toMap(); QVariantList datas = dataMap["array"].toList(); foreach(const QVariant &value, datas) { dataMap = value.toMap(); if(m_counter < 5 && !dataMap.isEmpty()) { QString url = dataMap.values().first().toString(); M_LOGGER_ERROR(url); MusicDataDownloadThread *download = new MusicDataDownloadThread(url, QString("%1%2%3%4").arg(BACKGROUND_DIR_FULL) .arg(m_savePath).arg(m_counter++).arg(SKN_FILE), MusicDownLoadThreadAbstract::DownloadBigBG, this); connect(download, SIGNAL(downLoadDataChanged(QString)), SLOT(downLoadFinished())); download->startToDownload(); } } }
void MusicWebDJRadioInfoWidget::createCategoryInfoItem(const MusicResultsItem &item) { m_currentPlaylistItem = item; createLabels(); if(!m_resizeWidgets.isEmpty()) { MusicDownloadSourceThread *download = new MusicDownloadSourceThread(this); connect(download, SIGNAL(downLoadByteDataChanged(QByteArray)), SLOT(downLoadFinished(QByteArray))); if(!item.m_coverUrl.isEmpty() && item.m_coverUrl != "null") { download->startToDownload(item.m_coverUrl); } QLabel *label = m_resizeWidgets[0]; label->setToolTip(item.m_name); label->setText(MusicUtils::Widget::elidedText(label->font(), label->toolTip(), Qt::ElideRight, 390)); label = m_resizeWidgets[1]; label->setToolTip(tr("Singer: %1").arg(item.m_nickName)); label->setText(MusicUtils::Widget::elidedText(label->font(), label->toolTip(), Qt::ElideRight, 390)); label = m_resizeWidgets[2]; label->setToolTip(tr("PlayCount: %1").arg(item.m_playCount)); label->setText(MusicUtils::Widget::elidedText(label->font(), label->toolTip(), Qt::ElideRight, 390)); label = m_resizeWidgets[3]; label->setToolTip(tr("UpdateTime: %1").arg(item.m_updateTime)); label->setText(MusicUtils::Widget::elidedText(label->font(), label->toolTip(), Qt::ElideRight, 390)); } }
void MusicWebDJRadioCategoryItemWidget::setMusicResultsItem(const MusicResultsItem &item) { m_itemData = item; m_nameLabel->setToolTip(item.m_name); m_nameLabel->setText(MusicUtils::Widget::elidedText(m_nameLabel->font(), m_nameLabel->toolTip(), Qt::ElideRight, WIDTH_LABEL_SIZE)); MusicDownloadSourceThread *download = new MusicDownloadSourceThread(this); connect(download, SIGNAL(downLoadByteDataChanged(QByteArray)), SLOT(downLoadFinished(QByteArray))); if(!item.m_coverUrl.isEmpty() && item.m_coverUrl != "null") { download->startToDownload(item.m_coverUrl); } }
MusicBgThemeDownload::MusicBgThemeDownload(const QString &name, const QString &save, QObject *parent) : QObject(parent), m_artName(name), m_savePath(save), m_index(0), m_counter(0) { MusicDataDownloadThread *download = new MusicDataDownloadThread( BIG_BG_ART_URL.arg(name), TMP_DOWNLOAD, Download_BigBG, this); ///Set search image API connect(download, SIGNAL(musicDownLoadFinished(QString)), SLOT(downLoadFinished(QString))); M_CONNECTION->setValue("MusicBgThemeDownload", this); M_CONNECTION->connect("MusicBgThemeDownload", "MusicTopAreaWidget"); download->startToDownload(); }
void MusicRadioSongsThread::startToDownload(const QString &id) { m_manager = new QNetworkAccessManager(this); QNetworkRequest networkRequest; networkRequest.setUrl(QUrl(songsUrl + id)); if(m_cookJar) { m_manager->setCookieJar(m_cookJar); m_cookJar->setParent(nullptr); } m_reply = m_manager->get(networkRequest); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }
void MusicIdentifySongsThread::startToDownload(const QString &path) { QString boundary = "----"; QString startBoundary = "--" + boundary; QString endBoundary = "\r\n--" + boundary + "--\r\n"; QString contentType = "multipart/form-data; boundary=" + boundary; QString httpMethod = "POST"; QString httpUri = "/v1/identify"; QString dataType = "audio"; QString signatureVersion = "1"; QString timeStamp = QString::number(QDateTime::currentDateTime().toMSecsSinceEpoch()); httpMethod = httpMethod + "\n" + httpUri + "\n" + m_accessKey + "\n" + dataType + "\n" + signatureVersion + "\n" + timeStamp; QByteArray content = MusicUtils::Algorithm::hmacSha1(httpMethod.toUtf8(), m_accessSecret.toUtf8()).toBase64(); QString value; value += startBoundary + "\r\nContent-Disposition: form-data; name=\"access_key\"\r\n\r\n" + m_accessKey + "\r\n"; value += startBoundary + "\r\nContent-Disposition: form-data; name=\"data_type\"\r\n\r\n" + dataType + "\r\n"; value += startBoundary + "\r\nContent-Disposition: form-data; name=\"timestamp\"\r\n\r\n" + timeStamp + "\r\n"; value += startBoundary + "\r\nContent-Disposition: form-data; name=\"signature_version\"\r\n\r\n" + signatureVersion + "\r\n"; value += startBoundary + "\r\nContent-Disposition: form-data; name=\"signature\"\r\n\r\n" + content + "\r\n"; QFile file(path); if(!file.open(QFile::ReadOnly)) { return; } value += startBoundary + "\r\nContent-Disposition: form-data; name=\"sample_bytes\"\r\n\r\n" + QString::number(file.size()) + "\r\n"; value += startBoundary + "\r\nContent-Disposition: form-data; name=\"sample\"; filename=\"" + file.fileName() + "\"\r\n"; value += "Content-Type: application/octet-stream\r\n\r\n"; content.clear(); content.append(value.toUtf8()); content.append(file.readAll()); content.append(endBoundary); QNetworkRequest request; request.setUrl(QUrl(MusicUtils::Algorithm::mdII(QUERY_URL, false))); request.setHeader(QNetworkRequest::ContentTypeHeader, contentType); setSslConfiguration(&request); m_reply = m_manager->post(request, content); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); }
void MusicMVRadioThreadAbstract::startToSearch(QueryType type, const QString &text) { Q_UNUSED(type); deleteAll(); m_searchText = text.isEmpty() ? "1" : text; m_interrupt = true; QNetworkRequest request; QUrl musicUrl = MusicUtils::Algorithm::mdII(MV_CATEGORY_URL, false); request.setUrl(musicUrl); request.setRawHeader("User-Agent", MusicUtils::Algorithm::mdII(KG_UA_URL_1, ALG_UA_KEY, false).toUtf8()); setSslConfiguration(&request); m_reply = m_manager->get(request); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }
void MusicSourceDownloadThread::startToDownload(const QString &url) { m_manager = new QNetworkAccessManager(this); QNetworkRequest request; request.setUrl(url); #ifndef QT_NO_SSL connect(m_manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); M_LOGGER_INFO(QString("%1 Support ssl: %2").arg(getClassName()).arg(QSslSocket::supportsSsl())); QSslConfiguration sslConfig = request.sslConfiguration(); sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone); request.setSslConfiguration(sslConfig); #endif m_reply = m_manager->get( request ); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); }
void MusicTranslationThread::startToTranslation(TranslationType from, TranslationType to, const QString &data) { m_manager = new QNetworkAccessManager(this); QNetworkRequest request; request.setUrl( TRANSLATION_URL.arg(mapTypeFromEnumToString(from)) .arg(data).arg(mapTypeFromEnumToString(to)) ); #ifndef QT_NO_SSL connect(m_manager, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), SLOT(sslErrors(QNetworkReply*,QList<QSslError>))); M_LOGGER_INFO(QString("%1 Support ssl: %2").arg(getClassName()).arg(QSslSocket::supportsSsl())); QSslConfiguration sslConfig = request.sslConfiguration(); sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone); request.setSslConfiguration(sslConfig); #endif m_reply = m_manager->get( request ); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); }
void MusicXMArtistSimilarThread::startToSearch(const QString &text) { if(!m_manager) { return; } M_LOGGER_INFO(QString("%1 startToSearch %2").arg(getClassName()).arg(text)); QUrl musicUrl = MusicUtils::Algorithm::mdII(XM_AR_SIM_URL, false).arg(text); deleteAll(); m_interrupt = true; QNetworkRequest request; request.setUrl(musicUrl); request.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); request.setRawHeader("User-Agent", MusicUtils::Algorithm::mdII(XM_UA_URL_1, ALG_UA_KEY, false).toUtf8()); setSslConfiguration(&request); m_reply = m_manager->get(request); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }
void MusicKWDiscoverListThread::startToSearch() { if(!m_manager) { return; } M_LOGGER_INFO(QString("%1 startToSearch").arg(getClassName())); m_toplistInfo.clear(); QUrl musicUrl = MusicUtils::Algorithm::mdII(KW_SONG_TOPLIST_URL, false).arg(16); deleteAll(); m_interrupt = true; QNetworkRequest request; request.setUrl(musicUrl); request.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); request.setRawHeader("User-Agent", MusicUtils::Algorithm::mdII(KW_UA_URL_1, ALG_UA_KEY, false).toUtf8()); setSslConfiguration(&request); m_reply = m_manager->get(request); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }
void MusicDataDownloadThread::startRequest(const QUrl &url) { m_timer.start(1000); QNetworkRequest request; request.setUrl(url); #ifndef QT_NO_SSL QSslConfiguration sslConfig = request.sslConfiguration(); sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone); request.setSslConfiguration(sslConfig); #endif m_reply = m_manager->get( request ); connect(m_reply, SIGNAL(finished()), this, SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError)) ); connect(m_reply, SIGNAL(readyRead()),this, SLOT(downLoadReadyRead())); connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)), SLOT(downloadProgress(qint64, qint64))); /// only download music data can that show progress if(m_downloadType == Download_Music && !m_redirection) { M_CONNECTION_PTR->connectMusicDownload(this); m_createItemTime = QDateTime::currentMSecsSinceEpoch(); emit createDownloadItem(m_savePathName, m_createItemTime); } }
void MusicDownLoadQueryXMAlbumThread::startToSearch(const QString &album) { if(!m_manager) { return; } M_LOGGER_INFO(QString("%1 startToSearch %2").arg(getClassName()).arg(album)); m_searchText = album; deleteAll(); m_interrupt = true; QNetworkRequest request; if(!m_manager || m_stateCode != MusicNetworkAbstract::Init) return; makeTokenQueryUrl(&request, MusicUtils::Algorithm::mdII(XM_ALBUM_DATA_URL, false).arg(album), MusicUtils::Algorithm::mdII(XM_ALBUM_URL, false)); if(!m_manager || m_stateCode != MusicNetworkAbstract::Init) return; setSslConfiguration(&request); m_reply = m_manager->get(request); connect(m_reply, SIGNAL(finished()), SLOT(downLoadFinished())); connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), SLOT(replyError(QNetworkReply::NetworkError))); }