From cecb9293f60ab8ca60a73332b8f1ad9b2c0c2da6 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Fri, 13 Aug 2021 23:33:41 +0200 Subject: [PATCH] Add QRegularExpression::CaseInsensitiveOption --- src/core/song.cpp | 6 +++--- src/core/utilities.cpp | 2 +- src/organize/organizeformat.cpp | 2 +- src/playlistparsers/asxparser.cpp | 5 ++--- src/playlistparsers/parserbase.cpp | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/core/song.cpp b/src/core/song.cpp index 371177ae..84ddd859 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -145,9 +145,9 @@ const QString Song::kFtsUpdateSpec = Utilities::Updateify(Song::kFtsColumns).joi const QString Song::kManuallyUnsetCover = "(unset)"; const QString Song::kEmbeddedCover = "(embedded)"; -const QRegularExpression Song::kAlbumRemoveDisc(" ?-? ((\\(|\\[)?)(Disc|CD) ?([0-9]{1,2})((\\)|\\])?)$"); -const QRegularExpression Song::kAlbumRemoveMisc(" ?-? ((\\(|\\[)?)(Remastered|([0-9]{1,4}) *Remaster|Explicit) ?((\\)|\\])?)$"); -const QRegularExpression Song::kTitleRemoveMisc(" ?-? ((\\(|\\[)?)(Remastered|Remastered Version|([0-9]{1,4}) *Remaster) ?((\\)|\\])?)$"); +const QRegularExpression Song::kAlbumRemoveDisc(" ?-? ((\\(|\\[)?)(Disc|CD) ?([0-9]{1,2})((\\)|\\])?)$", QRegularExpression::CaseInsensitiveOption); +const QRegularExpression Song::kAlbumRemoveMisc(" ?-? ((\\(|\\[)?)(Remastered|([0-9]{1,4}) *Remaster|Explicit) ?((\\)|\\])?)$", QRegularExpression::CaseInsensitiveOption); +const QRegularExpression Song::kTitleRemoveMisc(" ?-? ((\\(|\\[)?)(Remastered|Remastered Version|([0-9]{1,4}) *Remaster) ?((\\)|\\])?)$", QRegularExpression::CaseInsensitiveOption); const QString Song::kVariousArtists("various artists"); const QStringList Song::kArticles = QStringList() << "the " << "a " << "an "; diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index 8745566b..68b1e796 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -367,7 +367,7 @@ void OpenInFileManager(const QString &path, const QUrl &url) { if (setting.contains("Exec")) { QString cmd = setting.value("Exec").toString(); if (cmd.isEmpty()) break; - cmd = cmd.remove(QRegularExpression("[%][a-zA-Z]*( |$)")); + cmd = cmd.remove(QRegularExpression("[%][a-zA-Z]*( |$)", QRegularExpression::CaseInsensitiveOption)); #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) command_params = cmd.split(' ', Qt::SkipEmptyParts); #else diff --git a/src/organize/organizeformat.cpp b/src/organize/organizeformat.cpp index a981ccce..408d18f9 100644 --- a/src/organize/organizeformat.cpp +++ b/src/organize/organizeformat.cpp @@ -73,7 +73,7 @@ const QStringList OrganizeFormat::kKnownTags = QStringList() << "title" const QRegularExpression OrganizeFormat::kInvalidDirCharacters("[/\\\\]"); const QRegularExpression OrganizeFormat::kProblematicCharacters("[:?*\"<>|]"); // From http://en.wikipedia.org/wiki/8.3_filename#Directory_table -const QRegularExpression OrganizeFormat::kInvalidFatCharacters("[^a-zA-Z0-9!#\\$%&'()\\-@\\^_`{}~/. ]"); +const QRegularExpression OrganizeFormat::kInvalidFatCharacters("[^a-zA-Z0-9!#\\$%&'()\\-@\\^_`{}~/. ]", QRegularExpression::CaseInsensitiveOption); const char OrganizeFormat::kInvalidPrefixCharacters[] = "."; const int OrganizeFormat::kInvalidPrefixCharactersCount = arraysize(OrganizeFormat::kInvalidPrefixCharacters) - 1; diff --git a/src/playlistparsers/asxparser.cpp b/src/playlistparsers/asxparser.cpp index 0ba1625c..c37bba2f 100644 --- a/src/playlistparsers/asxparser.cpp +++ b/src/playlistparsers/asxparser.cpp @@ -49,10 +49,9 @@ SongList ASXParser::Load(QIODevice *device, const QString &playlist_path, const QByteArray data = device->readAll(); // Some playlists have unescaped & characters in URLs :( - QRegularExpression ex("(href\\s*=\\s*\")([^\"]+)\""); - QRegularExpressionMatch re_match; + QRegularExpression ex("(href\\s*=\\s*\")([^\"]+)\"", QRegularExpression::CaseInsensitiveOption); int index = 0; - for (re_match = ex.match(data, index) ; re_match.hasMatch() ; re_match = ex.match(data, index)) { + for (QRegularExpressionMatch re_match = ex.match(data, index) ; re_match.hasMatch() ; re_match = ex.match(data, index)) { index = re_match.capturedStart(); QString url = re_match.captured(2); url.replace(QRegularExpression("&(?!amp;|quot;|apos;|lt;|gt;)"), "&"); diff --git a/src/playlistparsers/parserbase.cpp b/src/playlistparsers/parserbase.cpp index 2157c138..d7379c0e 100644 --- a/src/playlistparsers/parserbase.cpp +++ b/src/playlistparsers/parserbase.cpp @@ -44,7 +44,7 @@ void ParserBase::LoadSong(const QString &filename_or_url, const qint64 beginning QString filename = filename_or_url; - if (filename_or_url.contains(QRegularExpression("^[a-z]{2,}:"))) { + if (filename_or_url.contains(QRegularExpression("^[a-z]{2,}:", QRegularExpression::CaseInsensitiveOption))) { QUrl url(filename_or_url); song->set_source(Song::SourceFromURL(url)); if (song->source() == Song::Source_LocalFile) {