playlistparser: Display errors on failures.
Add an Error signal to PlayListParser and connect that to the PlayListManager::Error signal. This is eventually connected to the Application::AddError. Add error messages in some cases where PlayListParser can fail silently.
This commit is contained in:
parent
612767c878
commit
f4108b5a0c
src
@ -79,6 +79,7 @@ void PlaylistManager::Init(LibraryBackend* library_backend,
|
||||
connect(library_backend_, SIGNAL(SongsRatingChanged(SongList)),
|
||||
SLOT(SongsDiscovered(SongList)));
|
||||
|
||||
connect(parser_, SIGNAL(Error(QString)), this, SIGNAL(Error(QString)));
|
||||
for (const PlaylistBackend::Playlist& p :
|
||||
playlist_backend->GetAllOpenPlaylists()) {
|
||||
AddPlaylist(p.id, p.name, p.special_type, p.ui_path, p.favorite);
|
||||
|
@ -129,6 +129,7 @@ SongList PlaylistParser::LoadFromFile(const QString& filename) const {
|
||||
// Find a parser that supports this file extension
|
||||
ParserBase* parser = ParserForExtension(info.suffix());
|
||||
if (!parser) {
|
||||
emit Error(tr("Unknown filetype: %1").arg(filename));
|
||||
qLog(Warning) << "Unknown filetype:" << filename;
|
||||
return SongList();
|
||||
}
|
||||
@ -159,6 +160,7 @@ void PlaylistParser::Save(const SongList& songs, const QString& filename,
|
||||
// Find a parser that supports this file extension
|
||||
ParserBase* parser = ParserForExtension(info.suffix());
|
||||
if (!parser) {
|
||||
emit Error(tr("Unknown filetype: %1").arg(filename));
|
||||
qLog(Warning) << "Unknown filetype:" << filename;
|
||||
return;
|
||||
}
|
||||
|
@ -55,6 +55,9 @@ class PlaylistParser : public QObject {
|
||||
void Save(const SongList& songs, const QString& filename,
|
||||
Playlist::Path) const;
|
||||
|
||||
signals:
|
||||
void Error(const QString& msg) const;
|
||||
|
||||
private:
|
||||
QString FilterForParser(const ParserBase* parser,
|
||||
QStringList* all_extensions = nullptr) const;
|
||||
|
Loading…
x
Reference in New Issue
Block a user