Port to QStringLiteral operator
This commit is contained in:
@@ -50,13 +50,13 @@ SongList ASXParser::Load(QIODevice *device, const QString &playlist_path, const
|
||||
QByteArray data = device->readAll();
|
||||
|
||||
// Some playlists have unescaped & characters in URLs :(
|
||||
static const QRegularExpression ex(QStringLiteral("(href\\s*=\\s*\")([^\"]+)\""), QRegularExpression::CaseInsensitiveOption);
|
||||
static const QRegularExpression ex(u"(href\\s*=\\s*\")([^\"]+)\""_s, QRegularExpression::CaseInsensitiveOption);
|
||||
qint64 index = 0;
|
||||
for (QRegularExpressionMatch re_match = ex.match(QString::fromUtf8(data), index); re_match.hasMatch(); re_match = ex.match(QString::fromUtf8(data), index)) {
|
||||
index = re_match.capturedStart();
|
||||
QString url = re_match.captured(2);
|
||||
static const QRegularExpression regex_html_enities(QStringLiteral("&(?!amp;|quot;|apos;|lt;|gt;)"));
|
||||
url.replace(regex_html_enities, QStringLiteral("&"));
|
||||
static const QRegularExpression regex_html_enities(u"&(?!amp;|quot;|apos;|lt;|gt;)"_s);
|
||||
url.replace(regex_html_enities, u"&"_s);
|
||||
|
||||
QByteArray replacement = QStringLiteral("%1%2\"").arg(re_match.captured(1), url).toLocal8Bit();
|
||||
data.replace(re_match.captured(0).toLocal8Bit(), replacement);
|
||||
@@ -67,13 +67,13 @@ SongList ASXParser::Load(QIODevice *device, const QString &playlist_path, const
|
||||
if (!buffer.open(QIODevice::ReadOnly)) return SongList();
|
||||
|
||||
QXmlStreamReader reader(&buffer);
|
||||
if (!Utilities::ParseUntilElementCI(&reader, QStringLiteral("asx"))) {
|
||||
if (!Utilities::ParseUntilElementCI(&reader, u"asx"_s)) {
|
||||
buffer.close();
|
||||
return SongList();
|
||||
}
|
||||
|
||||
SongList ret;
|
||||
while (!reader.atEnd() && Utilities::ParseUntilElementCI(&reader, QStringLiteral("entry"))) {
|
||||
while (!reader.atEnd() && Utilities::ParseUntilElementCI(&reader, u"entry"_s)) {
|
||||
Song song = ParseTrack(&reader, dir, collection_lookup);
|
||||
if (song.is_valid()) {
|
||||
ret << song;
|
||||
@@ -143,13 +143,13 @@ void ASXParser::Save(const SongList &songs, QIODevice *device, const QDir &dir,
|
||||
writer.setAutoFormattingIndent(2);
|
||||
writer.writeStartDocument();
|
||||
{
|
||||
StreamElement asx(QStringLiteral("asx"), &writer);
|
||||
StreamElement asx(u"asx"_s, &writer);
|
||||
writer.writeAttribute("version"_L1, "3.0"_L1);
|
||||
for (const Song &song : songs) {
|
||||
StreamElement entry(QStringLiteral("entry"), &writer);
|
||||
StreamElement entry(u"entry"_s, &writer);
|
||||
writer.writeTextElement("title"_L1, song.title());
|
||||
{
|
||||
StreamElement ref(QStringLiteral("ref"), &writer);
|
||||
StreamElement ref(u"ref"_s, &writer);
|
||||
writer.writeAttribute("href"_L1, song.url().toString());
|
||||
}
|
||||
if (!song.artist().isEmpty()) {
|
||||
|
||||
@@ -300,8 +300,8 @@ QStringList CueParser::SplitCueLine(const QString &line) {
|
||||
}
|
||||
|
||||
// Let's remove the empty entries while we're at it
|
||||
static const QRegularExpression regex_entry(QStringLiteral(".+"));
|
||||
static const QRegularExpression regex_exclude(QStringLiteral("^\"\"$"));
|
||||
static const QRegularExpression regex_entry(u".+"_s);
|
||||
static const QRegularExpression regex_exclude(u"^\"\"$"_s);
|
||||
return re_match.capturedTexts().filter(regex_entry).mid(1, -1).replaceInStrings(regex_exclude, ""_L1);
|
||||
|
||||
}
|
||||
@@ -412,8 +412,8 @@ bool CueParser::TryMagic(const QByteArray &data) const {
|
||||
|
||||
QString CueParser::FindCueFilename(const QString &filename) {
|
||||
|
||||
const QStringList cue_files = QStringList() << filename + QStringLiteral(".cue")
|
||||
<< filename.section(u'.', 0, -2) + QStringLiteral(".cue");
|
||||
const QStringList cue_files = QStringList() << filename + u".cue"_s
|
||||
<< filename.section(u'.', 0, -2) + u".cue"_s;
|
||||
|
||||
for (const QString &cuefile : cue_files) {
|
||||
if (QFileInfo::exists(cuefile)) return cuefile;
|
||||
|
||||
@@ -114,7 +114,7 @@ bool M3UParser::ParseMetadata(const QString &line, M3UParser::Metadata *metadata
|
||||
metadata->length = length * kNsecPerSec;
|
||||
|
||||
QString track_info = info.section(u',', 1);
|
||||
QStringList list = track_info.split(QStringLiteral(" - "));
|
||||
QStringList list = track_info.split(u" - "_s);
|
||||
if (list.size() <= 1) {
|
||||
metadata->title = track_info;
|
||||
return true;
|
||||
|
||||
@@ -125,7 +125,7 @@ QString PlaylistParser::FilterForParser(const ParserBase *parser, QStringList *a
|
||||
QStringList extensions;
|
||||
extensions.reserve(file_extensions.count());
|
||||
for (const QString &extension : file_extensions) {
|
||||
extensions << QStringLiteral("*.") + extension;
|
||||
extensions << u"*."_s + extension;
|
||||
}
|
||||
|
||||
if (all_extensions) *all_extensions << extensions;
|
||||
|
||||
@@ -46,7 +46,7 @@ SongList PLSParser::Load(QIODevice *device, const QString &playlist_path, const
|
||||
Q_UNUSED(playlist_path);
|
||||
|
||||
QMap<int, Song> songs;
|
||||
static const QRegularExpression n_re(QStringLiteral("\\d+$"));
|
||||
static const QRegularExpression n_re(u"\\d+$"_s);
|
||||
|
||||
while (!device->atEnd()) {
|
||||
QString line = QString::fromUtf8(device->readLine()).trimmed();
|
||||
|
||||
@@ -53,11 +53,11 @@ SongList WplParser::Load(QIODevice *device, const QString &playlist_path, const
|
||||
SongList ret;
|
||||
|
||||
QXmlStreamReader reader(device);
|
||||
if (!Utilities::ParseUntilElement(&reader, QStringLiteral("smil")) || !Utilities::ParseUntilElement(&reader, QStringLiteral("body"))) {
|
||||
if (!Utilities::ParseUntilElement(&reader, u"smil"_s) || !Utilities::ParseUntilElement(&reader, u"body"_s)) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
while (!reader.atEnd() && Utilities::ParseUntilElement(&reader, QStringLiteral("seq"))) {
|
||||
while (!reader.atEnd() && Utilities::ParseUntilElement(&reader, u"seq"_s)) {
|
||||
ParseSeq(dir, &reader, &ret, collection_lookup);
|
||||
}
|
||||
return ret;
|
||||
@@ -105,18 +105,18 @@ void WplParser::Save(const SongList &songs, QIODevice *device, const QDir &dir,
|
||||
writer.setAutoFormattingIndent(2);
|
||||
writer.writeProcessingInstruction("wpl"_L1, "version=\"1.0\""_L1);
|
||||
|
||||
StreamElement smil(QStringLiteral("smil"), &writer);
|
||||
StreamElement smil(u"smil"_s, &writer);
|
||||
|
||||
{
|
||||
StreamElement head(QStringLiteral("head"), &writer);
|
||||
StreamElement head(u"head"_s, &writer);
|
||||
WriteMeta("Generator"_L1, "Strawberry -- "_L1 + QLatin1String(STRAWBERRY_VERSION_DISPLAY), &writer);
|
||||
WriteMeta("ItemCount"_L1, QString::number(songs.count()), &writer);
|
||||
}
|
||||
|
||||
{
|
||||
StreamElement body(QStringLiteral("body"), &writer);
|
||||
StreamElement body(u"body"_s, &writer);
|
||||
{
|
||||
StreamElement seq(QStringLiteral("seq"), &writer);
|
||||
StreamElement seq(u"seq"_s, &writer);
|
||||
for (const Song &song : songs) {
|
||||
writer.writeStartElement("media"_L1);
|
||||
writer.writeAttribute("src"_L1, URLOrFilename(song.url(), dir, path_type));
|
||||
|
||||
@@ -51,11 +51,11 @@ SongList XSPFParser::Load(QIODevice *device, const QString &playlist_path, const
|
||||
SongList songs;
|
||||
|
||||
QXmlStreamReader reader(device);
|
||||
if (!Utilities::ParseUntilElement(&reader, QStringLiteral("playlist")) || !Utilities::ParseUntilElement(&reader, QStringLiteral("trackList"))) {
|
||||
if (!Utilities::ParseUntilElement(&reader, u"playlist"_s) || !Utilities::ParseUntilElement(&reader, u"trackList"_s)) {
|
||||
return songs;
|
||||
}
|
||||
|
||||
while (!reader.atEnd() && Utilities::ParseUntilElement(&reader, QStringLiteral("track"))) {
|
||||
while (!reader.atEnd() && Utilities::ParseUntilElement(&reader, u"track"_s)) {
|
||||
const Song song = ParseTrack(&reader, dir, collection_lookup);
|
||||
if (song.is_valid()) {
|
||||
songs << song;
|
||||
@@ -146,7 +146,7 @@ void XSPFParser::Save(const SongList &songs, QIODevice *device, const QDir &dir,
|
||||
writer.setAutoFormatting(true);
|
||||
writer.setAutoFormattingIndent(2);
|
||||
writer.writeStartDocument();
|
||||
StreamElement playlist(QStringLiteral("playlist"), &writer);
|
||||
StreamElement playlist(u"playlist"_s, &writer);
|
||||
writer.writeAttribute("version"_L1, "1"_L1);
|
||||
writer.writeDefaultNamespace("http://xspf.org/ns/0/"_L1);
|
||||
|
||||
@@ -155,11 +155,11 @@ void XSPFParser::Save(const SongList &songs, QIODevice *device, const QDir &dir,
|
||||
bool write_metadata = s.value("write_metadata", true).toBool();
|
||||
s.endGroup();
|
||||
|
||||
StreamElement tracklist(QStringLiteral("trackList"), &writer);
|
||||
StreamElement tracklist(u"trackList"_s, &writer);
|
||||
for (const Song &song : songs) {
|
||||
QString filename_or_url = QString::fromLatin1(QUrl::toPercentEncoding(URLOrFilename(song.url(), dir, path_type), "/ "));
|
||||
|
||||
StreamElement track(QStringLiteral("track"), &writer);
|
||||
StreamElement track(u"track"_s, &writer);
|
||||
writer.writeTextElement("location"_L1, filename_or_url);
|
||||
|
||||
if (write_metadata || (song.is_stream() && !song.is_radio())) {
|
||||
|
||||
Reference in New Issue
Block a user