Get error messages from lastfm::ws::parse properly, and make sure to finish the busy indicator if an error does occur. Featuring: epic RTTI hack.

This commit is contained in:
David Sansome 2010-05-16 23:16:38 +00:00
parent bdc5d1ab1c
commit a8f6dc6361
22 changed files with 180 additions and 5 deletions

View File

@ -372,8 +372,6 @@ QString LastFMService::ErrorString(lastfm::ws::Error error) const {
void LastFMService::TunerTrackAvailable() {
if (initial_tune_) {
emit TaskFinished(MultiLoadingIndicator::LoadingLastFM);
LoadNext(last_url_);
initial_tune_ = false;
}
@ -614,6 +612,7 @@ void LastFMService::FetchMoreTracksFinished() {
return;
}
reply->deleteLater();
emit TaskFinished(MultiLoadingIndicator::LoadingLastFM);
try {
const XmlQuery& query = lastfm::ws::parse(reply);
@ -631,10 +630,18 @@ void LastFMService::FetchMoreTracksFinished() {
art_urls_[t] = q["image"].text();
playlist_ << t;
}
} catch (lastfm::ws::ParseError& e) {
qDebug() << "Lastfm parse error:" << e.enumValue();
} catch (std::runtime_error& e) {
qDebug() << e.what();
// For some reason a catch block that takes a lastfm::ws::ParseError&
// doesn't get called, even when a lastfm::ws::ParseError is thrown...
// Hacks like this remind me of Java...
if (QString(typeid(e).name()).contains("ParseError")) {
// dynamic_cast throws a std::bad_cast ... *boggle*
lastfm::ws::ParseError& error = reinterpret_cast<lastfm::ws::ParseError&>(e);
emit StreamError(tr("Couldn't load the last.fm radio station: %1")
.arg(ErrorString(error.enumValue())));
} else {
emit StreamError(tr("An unknown last.fm error occurred: %1").arg(e.what()));
}
return;
}

View File

@ -497,6 +497,14 @@ msgstr "Poškozená odpověď"
msgid "Unknown error"
msgstr "Neznámá chyba"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -499,6 +499,14 @@ msgstr "Misdannet svar"
msgid "Unknown error"
msgstr "Ukendt fejl"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr "Ungültige Antwort"
msgid "Unknown error"
msgstr "Unbekannter Fehler"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -499,6 +499,14 @@ msgstr "Παραμορφωμένη απάντηση"
msgid "Unknown error"
msgstr "Άγνωστο σφάλμα"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr "Malformed response"
msgid "Unknown error"
msgstr "Unknown error"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -501,6 +501,14 @@ msgstr "Respuesta malformada"
msgid "Unknown error"
msgstr "Error desconocido"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -503,6 +503,14 @@ msgstr "Réponse mal formatée"
msgid "Unknown error"
msgstr "Erreur de type inconnu"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -497,6 +497,14 @@ msgstr "Resposta mal formada"
msgid "Unknown error"
msgstr "Erro descoñecido"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -499,6 +499,14 @@ msgstr "Risposta non corretta"
msgid "Unknown error"
msgstr "Errore sconosciuto"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr ""
msgid "Unknown error"
msgstr "Белгісіз қате"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -497,6 +497,14 @@ msgstr "Ugyldig svar"
msgid "Unknown error"
msgstr "Ukjent feil"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -497,6 +497,14 @@ msgstr ""
msgid "Unknown error"
msgstr "Nieznany błąd"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -498,6 +498,14 @@ msgstr "Resposta mal formada"
msgid "Unknown error"
msgstr "Erro Desconhecido"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr ""
msgid "Unknown error"
msgstr "Eroare necunoscută"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr "Неправильный ответ"
msgid "Unknown error"
msgstr "Неизвестная ошибка"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -497,6 +497,14 @@ msgstr ""
msgid "Unknown error"
msgstr "Neznáma chyba"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -498,6 +498,14 @@ msgstr "Felformaterat svar"
msgid "Unknown error"
msgstr "Okänt fel"
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -496,6 +496,14 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""

View File

@ -487,6 +487,14 @@ msgstr ""
msgid "Unknown error"
msgstr ""
#, qt-format
msgid "Couldn't load the last.fm radio station: %1"
msgstr ""
#, qt-format
msgid "An unknown last.fm error occurred: %1"
msgstr ""
msgid "Open magnatune.com in browser"
msgstr ""