diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2019-06-21 20:47:03 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2019-06-21 20:59:30 +0200 |
commit | 7c5a222ea185689613f3442b153bd6ea9a23f597 (patch) | |
tree | 366db0f80f6288dce92d17f958dcb04ef771b8d0 /src/library | |
parent | f25828b30ea923fb40f100b64f0c90f272b5ffcf (diff) |
Reuse TrackFile::fromUrl()
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/banshee/bansheeplaylistmodel.cpp | 7 | ||||
-rw-r--r-- | src/library/itunes/itunesfeature.cpp | 2 | ||||
-rw-r--r-- | src/library/parser.cpp | 6 | ||||
-rw-r--r-- | src/library/parser.h | 4 | ||||
-rw-r--r-- | src/library/parserm3u.cpp | 10 | ||||
-rw-r--r-- | src/library/parserpls.cpp | 10 |
6 files changed, 19 insertions, 20 deletions
diff --git a/src/library/banshee/bansheeplaylistmodel.cpp b/src/library/banshee/bansheeplaylistmodel.cpp index d46661b965..6e339f97f0 100644 --- a/src/library/banshee/bansheeplaylistmodel.cpp +++ b/src/library/banshee/bansheeplaylistmodel.cpp @@ -287,7 +287,7 @@ void BansheePlaylistModel::trackLoaded(QString group, TrackPointer pTrack) { if (pTrack) { for (int row = 0; row < rowCount(); ++row) { QUrl rowUrl(getFieldString(index(row, 0), CLM_URI)); - if (rowUrl.toLocalFile() == pTrack->getLocation()) { + if (TrackFile::fromUrl(rowUrl).location() == pTrack->getLocation()) { m_previewDeckTrackId = TrackId(getFieldVariant(index(row, 0), CLM_VIEW_ORDER)); break; @@ -364,11 +364,8 @@ QString BansheePlaylistModel::getTrackLocation(const QModelIndex& index) const { } QUrl url(getFieldString(index, CLM_URI)); - QString location; - location = url.toLocalFile(); - + QString location = TrackFile::fromUrl(url).location(); qDebug() << location << " = " << url; - if (!location.isEmpty()) { return location; } diff --git a/src/library/itunes/itunesfeature.cpp b/src/library/itunes/itunesfeature.cpp index 3c2ee57ece..107fc25576 100644 --- a/src/library/itunes/itunesfeature.cpp +++ b/src/library/itunes/itunesfeature.cpp @@ -576,7 +576,7 @@ void ITunesFeature::parseTrack(QXmlStreamReader& xml, QSqlQuery& query) { continue; } if (key == kLocation) { - location = QUrl(content).toLocalFile(); + location = TrackFile::fromUrl(QUrl(content)).location(); // Replace first part of location with the mixxx iTunes Root // on systems where iTunes installed it only strips //localhost // on iTunes from foreign systems the mount point is replaced diff --git a/src/library/parser.cpp b/src/library/parser.cpp index 6b05e388cc..9dcbb2a881 100644 --- a/src/library/parser.cpp +++ b/src/library/parser.cpp @@ -148,11 +148,11 @@ bool Parser::isUtf8(const char* string) { return true; } -QString Parser::playlistEntrytoLocalFile(const QString& playlistEntry) { +TrackFile Parser::playlistEntryToTrackFile(const QString& playlistEntry) { if (playlistEntry.startsWith("file:")) { - return QUrl(playlistEntry).toLocalFile(); + return TrackFile::fromUrl(QUrl(playlistEntry)); } - return QString(playlistEntry).replace('\\', '/'); + return TrackFile(QString(playlistEntry).replace('\\', '/')); } diff --git a/src/library/parser.h b/src/library/parser.h index 87c226efd4..686cefa579 100644 --- a/src/library/parser.h +++ b/src/library/parser.h @@ -27,6 +27,8 @@ it afterwards for proper functioning #include <gtest/gtest.h> +#include "track/trackfile.h" + class Parser : public QObject { public: static bool isPlaylistFilenameSupported(const QString& fileName) { @@ -57,7 +59,7 @@ protected: // check for Utf8 encoding static bool isUtf8(const char* string); // reads URLs an plain Part and returns a local file path - QString playlistEntrytoLocalFile(const QString& playlistEntry); + TrackFile playlistEntryToTrackFile(const QString& playlistEntry); FRIEND_TEST(PlaylistTest, Normalize); }; diff --git a/src/library/parserm3u.cpp b/src/library/parserm3u.cpp index b770242ff2..c6eca7342d 100644 --- a/src/library/parserm3u.cpp +++ b/src/library/parserm3u.cpp @@ -106,17 +106,17 @@ QString ParserM3u::getFilepath(QTextStream* stream, QString basepath) { } if (!textline.contains("#")) { - QString trackLocation = playlistEntrytoLocalFile(textline); - if(QFile::exists(trackLocation)) { - return trackLocation; + TrackFile trackFile = playlistEntryToTrackFile(textline); + if(trackFile.checkFileExists()) { + return trackFile.location(); } else { // Try relative to m3u dir - QString rel = QDir(basepath).filePath(trackLocation); + QString rel = QDir(basepath).filePath(trackFile.location()); if (QFile::exists(rel)) { return rel; } // We couldn't match this to a real file so ignore it - qWarning() << trackLocation << "not found"; + qWarning() << trackFile.location() << "not found"; } } textline = stream->readLine(); diff --git a/src/library/parserpls.cpp b/src/library/parserpls.cpp index ee58887961..95c2295429 100644 --- a/src/library/parserpls.cpp +++ b/src/library/parserpls.cpp @@ -114,18 +114,18 @@ QString ParserPls::getFilepath(QTextStream *stream, QString basepath) { ++iPos; QString filename = textline.right(textline.length() - iPos); - QString trackLocation = playlistEntrytoLocalFile(filename); + TrackFile trackFile = playlistEntryToTrackFile(filename); - if(QFile::exists(trackLocation)) { - return trackLocation; + if(trackFile.checkFileExists()) { + return trackFile.location(); } else { // Try relative to pls dir - QString rel = QDir(basepath).filePath(trackLocation); + QString rel = QDir(basepath).filePath(trackFile.location()); if (QFile::exists(rel)) { return rel; } // We couldn't match this to a real file so ignore it - qWarning() << trackLocation << "not found"; + qWarning() << trackFile.location() << "not found"; } } textline = stream->readLine(); |