diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-08-13 15:47:32 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-08-13 15:47:32 +0000 |
| commit | 0d0e92bb52188c28c99f69376c4b6ee024a06e8e (patch) | |
| tree | e2b231ca58fecab6c3d88e331c208cbfa57a2602 /src/plugins/General/lyrics/lyricswindow.cpp | |
| parent | 7f7f5b2e8a47f92bf9d051847771233a5734cd7b (diff) | |
| download | qmmp-0d0e92bb52188c28c99f69376c4b6ee024a06e8e.tar.gz qmmp-0d0e92bb52188c28c99f69376c4b6ee024a06e8e.tar.bz2 qmmp-0d0e92bb52188c28c99f69376c4b6ee024a06e8e.zip | |
fixed lyrics plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1825 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/lyrics/lyricswindow.cpp')
| -rw-r--r-- | src/plugins/General/lyrics/lyricswindow.cpp | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/plugins/General/lyrics/lyricswindow.cpp b/src/plugins/General/lyrics/lyricswindow.cpp index aa19cbfbe..03ac3b2bd 100644 --- a/src/plugins/General/lyrics/lyricswindow.cpp +++ b/src/plugins/General/lyrics/lyricswindow.cpp @@ -34,6 +34,7 @@ LyricsWindow::LyricsWindow(const QString &artist, const QString &title, QWidget setWindowFlags(Qt::Dialog); setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_QuitOnClose, false); + m_requestReply = 0; ui.artistLineEdit->setText(artist); ui.titleLineEdit->setText(title); m_http = new QNetworkAccessManager(this); @@ -65,10 +66,39 @@ void LyricsWindow::showText(QNetworkReply *reply) { ui.stateLabel->setText(tr("Error")); ui.textBrowser->setText(reply->errorString()); + m_requestReply = 0; + reply->deleteLater(); return; } QString content = QString::fromUtf8(reply->readAll().constData()); + if(m_requestReply == reply) + { + m_requestReply = 0; + QRegExp js_params("javascript:getContent\\(\\\'(.*)\\\', \\\'(.*)\\\', \\\'(.*)\\\', \\\'(.*)\\\'"); + js_params.setMinimal (true); + js_params.indexIn(content); + + QUrl url = QString("http://www.lyricsplugin.com/winamp03/plugin/content.php?") + + "artist=" + js_params.cap(1) + + "&title=" + js_params.cap(2) + + "&time=" + js_params.cap(3) + + "&check=" + js_params.cap(4); + + QString referer = QString("http://www.lyricsplugin.com/winamp03/plugin/?") + + "artist=" + js_params.cap(1) + + "&title=" + js_params.cap(2); + + qDebug("LyricsWindow: request url = %s", url.toEncoded().constData()); + QNetworkRequest request; + request.setUrl(url); + request.setRawHeader("Referer", referer.toAscii()); + ui.stateLabel->setText(tr("Receiving")); + m_http->get(request); + reply->deleteLater(); + return; + } + QRegExp artist_regexp("<div id=\\\"artist\\\">(.*)</div>"); artist_regexp.setMinimal(true); QRegExp title_regexp("<div id=\\\"title\\\">([^<]*)</div>"); @@ -100,5 +130,5 @@ void LyricsWindow::on_searchPushButton_clicked() request.setUrl(QUrl("http://www.lyricsplugin.com/winamp03/plugin/?artist=" + ui.artistLineEdit->text()+"&title=" + ui.titleLineEdit->text())); request.setRawHeader("User-Agent", QString("qmmp/%1").arg(Qmmp::strVersion()).toAscii()); - m_http->get(request); + m_requestReply = m_http->get(request); } |
