diff --git a/src/playlist/playlistmanager.cpp b/src/playlist/playlistmanager.cpp index 20f6df35f..0fc1be642 100644 --- a/src/playlist/playlistmanager.cpp +++ b/src/playlist/playlistmanager.cpp @@ -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); diff --git a/src/playlistparsers/playlistparser.cpp b/src/playlistparsers/playlistparser.cpp index 6241bc91c..5a00c6a1c 100644 --- a/src/playlistparsers/playlistparser.cpp +++ b/src/playlistparsers/playlistparser.cpp @@ -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; } diff --git a/src/playlistparsers/playlistparser.h b/src/playlistparsers/playlistparser.h index c8e3651d4..897ceb98d 100644 --- a/src/playlistparsers/playlistparser.h +++ b/src/playlistparsers/playlistparser.h @@ -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;