aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/lyrics/lyricswindow.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-09-06 10:53:44 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-09-06 10:53:44 +0000
commit1abe1e566fd2039e8914400416b241d4adf41ca0 (patch)
treec4310f998c255c83c1bd9ffa804b0c07c6ec5dfe /src/plugins/General/lyrics/lyricswindow.cpp
parent5d507d60e16617cd9f99fb54701060ae851ee1cc (diff)
downloadqmmp-1abe1e566fd2039e8914400416b241d4adf41ca0.tar.gz
qmmp-1abe1e566fd2039e8914400416b241d4adf41ca0.tar.bz2
qmmp-1abe1e566fd2039e8914400416b241d4adf41ca0.zip
removed broken LyricWiki.org support, added lyricsplugin.com instead
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1188 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/lyrics/lyricswindow.cpp')
-rw-r--r--src/plugins/General/lyrics/lyricswindow.cpp64
1 files changed, 19 insertions, 45 deletions
diff --git a/src/plugins/General/lyrics/lyricswindow.cpp b/src/plugins/General/lyrics/lyricswindow.cpp
index 04fb7f330..a3c9262bd 100644
--- a/src/plugins/General/lyrics/lyricswindow.cpp
+++ b/src/plugins/General/lyrics/lyricswindow.cpp
@@ -28,7 +28,6 @@
LyricsWindow::LyricsWindow(const QString &artist, const QString &title, QWidget *parent)
: QWidget(parent)
{
- m_parse_url = FALSE;
ui.setupUi(this);
setWindowFlags(Qt::Dialog);
setAttribute(Qt::WA_DeleteOnClose);
@@ -57,52 +56,28 @@ void LyricsWindow::showText(bool error)
if (error)
{
ui.textEdit->setText(m_http->errorString());
- m_parse_url = FALSE;
return;
}
QString content = QString::fromUtf8(m_http->readAll().constData());
- if(m_parse_url)
- {
- QRegExp url_regexp("<a href=\\'([^\\']*)\\' title=\\'url\\'>");
- if(url_regexp.indexIn(content) > 1)
- {
- QString url = qPrintable(url_regexp.cap(1));
- qDebug("LyricsWindow: url1=%s", qPrintable(url));
- if(url.endsWith("action=edit"))
- ui.textEdit->setHtml("<b>"+tr("Not found")+"</b>");
- else
- {
- url.replace("lyricwiki.org", "lyrics.wikia.com/lyrics");
- m_http->setHost("lyrics.wikia.com");
- qDebug("LyricsWindow: url2=%s", qPrintable(url));
- m_http->get(url);
- }
- }
- else
- ui.textEdit->setHtml("<b>"+tr("Error")+"</b>");
- }
+
+ QRegExp artist_regexp("<div id=\\\"artist\\\">([^<]*)</div>");
+ QRegExp title_regexp("<div id=\\\"title\\\">([^<]*)</div>");
+ QRegExp lyrics_regexp("<div id=\\\"lyrics\\\">([^<]*)</div>");
+ artist_regexp.indexIn(content);
+ title_regexp.indexIn(content);
+ content.replace("<br />", "[br /]");
+ lyrics_regexp.indexIn(content);
+
+ QString text = "<h2>" +artist_regexp.cap(1) + " - " + title_regexp.cap(1) + "</h2>";
+ QString lyrics = lyrics_regexp.cap(1);
+ lyrics.replace("[br /]", "<br />");
+ if(lyrics.trimmed().isEmpty())
+ ui.textEdit->setHtml("<b>" + tr("Not found") + "</b>");
else
{
- QRegExp caption_regexp("<h1 class=\\\"firstHeading\\\">([^<]*)</h1>");
- caption_regexp.indexIn(content);
- QString text = "<h2>" + caption_regexp.cap(1) + "</h2>";
- text.replace(":", " - ");
- int lyric_begin = content.indexOf("<div class='lyricbox' >");
- if(lyric_begin > 0)
- {
- int lyric_end = content.indexOf("</div>", lyric_begin);
- if(lyric_end > 0)
- {
- text.append(content.mid(lyric_begin, lyric_end - lyric_begin-6));
- ui.textEdit->setHtml(text);
- }
- else
- ui.textEdit->setHtml("<b>"+tr("Error")+"</b>");
- }
- else
- ui.textEdit->setHtml("<b>"+tr("Error")+"</b>");
+ text += lyrics;
+ ui.textEdit->setHtml(text);
}
- m_parse_url = FALSE;
}
void LyricsWindow::showState(int state)
@@ -134,9 +109,8 @@ void LyricsWindow::showState(int state)
void LyricsWindow::on_searchPushButton_clicked()
{
- m_http->setHost("lyricwiki.org");
+ m_http->setHost("www.lyricsplugin.com");
setWindowTitle(QString(tr("Lyrics: %1 - %2")).arg(ui.artistLineEdit->text()).arg(ui.titleLineEdit->text()));
- m_http->get("/api.php?func=getSong&artist=" + QUrl::toPercentEncoding(ui.artistLineEdit->text())
- +"&song=" + QUrl::toPercentEncoding(ui.titleLineEdit->text()) +"&fmt=html");
- m_parse_url = TRUE;
+ m_http->get("/winamp03/plugin/?artist=" + QUrl::toPercentEncoding(ui.artistLineEdit->text())
+ +"&title=" + QUrl::toPercentEncoding(ui.titleLineEdit->text()));
}