Dont replace metadata when loading playlists
This commit is contained in:
@@ -228,7 +228,7 @@ SongLoader::Result SongLoader::LoadLocal(const QString &filename) {
|
||||
if (collection_->ExecQuery(&query) && query.Next()) {
|
||||
// We may have many results when the file has many sections
|
||||
do {
|
||||
Song song(Song::Source_LocalFile);
|
||||
Song song(Song::Source_Collection);
|
||||
song.InitFromQuery(query, true);
|
||||
|
||||
if (song.is_valid()) {
|
||||
|
||||
@@ -514,6 +514,26 @@ bool ParseUntilElement(QXmlStreamReader *reader, const QString &name) {
|
||||
|
||||
}
|
||||
|
||||
bool ParseUntilElementCI(QXmlStreamReader *reader, const QString &name) {
|
||||
|
||||
while (!reader->atEnd()) {
|
||||
QXmlStreamReader::TokenType type = reader->readNext();
|
||||
switch (type) {
|
||||
case QXmlStreamReader::StartElement:{
|
||||
QString element = reader->name().toString().toLower();
|
||||
if (element == name) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
QDateTime ParseRFC822DateTime(const QString &text) {
|
||||
|
||||
QRegExp regexp("(\\d{1,2}) (\\w{3,12}) (\\d+) (\\d{1,2}):(\\d{1,2}):(\\d{1,2})");
|
||||
|
||||
@@ -96,6 +96,7 @@ void ConsumeCurrentElement(QXmlStreamReader *reader);
|
||||
// Advances the stream reader until it finds an element with the given name.
|
||||
// Returns false if the end of the document was reached before finding a matching element.
|
||||
bool ParseUntilElement(QXmlStreamReader *reader, const QString &name);
|
||||
bool ParseUntilElementCI(QXmlStreamReader *reader, const QString &name);
|
||||
|
||||
// Parses a string containing an RFC822 time and date.
|
||||
QDateTime ParseRFC822DateTime(const QString &text);
|
||||
|
||||
Reference in New Issue
Block a user