Replace QLatin1String with operator _L1

This commit is contained in:
Jonas Kvinge
2024-09-07 04:24:14 +02:00
parent e3e6a22172
commit 4270b12cd1
185 changed files with 2429 additions and 2139 deletions

View File

@@ -49,6 +49,8 @@
#include "sqlquery.h"
#include "scopedtransaction.h"
using namespace Qt::StringLiterals;
const int Database::kSchemaVersion = 20;
namespace {
@@ -136,7 +138,7 @@ QSqlDatabase Database::Connect() {
//qLog(Debug) << "Opened database with connection id" << connection_id;
if (injected_database_name_.isNull()) {
db.setDatabaseName(directory_ + QLatin1Char('/') + QLatin1String(kDatabaseFilename));
db.setDatabaseName(directory_ + u'/' + QLatin1String(kDatabaseFilename));
}
else {
db.setDatabaseName(injected_database_name_);
@@ -352,7 +354,7 @@ void Database::UrlEncodeFilenameColumn(const QString &table, QSqlDatabase &db) {
const int rowid = select.value(0).toInt();
const QString filename = select.value(1).toString();
if (filename.isEmpty() || filename.contains(QLatin1String("://"))) {
if (filename.isEmpty() || filename.contains("://"_L1)) {
continue;
}
@@ -376,8 +378,8 @@ void Database::ExecSchemaCommandsFromFile(QSqlDatabase &db, const QString &filen
}
QByteArray data = schema_file.readAll();
QString schema = QString::fromUtf8(data);
if (schema.contains(QLatin1String("\r\n"))) {
schema = schema.replace(QLatin1String("\r\n"), QLatin1String("\n"));
if (schema.contains("\r\n"_L1)) {
schema = schema.replace("\r\n"_L1, "\n"_L1);
}
schema_file.close();
ExecSchemaCommands(db, schema, schema_version, in_transaction);
@@ -414,7 +416,7 @@ void Database::ExecSongTablesCommands(QSqlDatabase &db, const QStringList &song_
if (command.contains(QLatin1String(kMagicAllSongsTables))) {
for (const QString &table : song_tables) {
// Another horrible hack: device songs tables don't have matching _fts tables, so if this command tries to touch one, ignore it.
if (table.startsWith(QLatin1String("device_")) && command.contains(QLatin1String(kMagicAllSongsTables) + QLatin1String("_fts"))) {
if (table.startsWith("device_"_L1) && command.contains(QLatin1String(kMagicAllSongsTables) + "_fts"_L1)) {
continue;
}
@@ -450,7 +452,7 @@ QStringList Database::SongsTables(QSqlDatabase &db, const int schema_version) {
// look for the tables in the main db
const QStringList &tables = db.tables();
for (const QString &table : tables) {
if (table == QLatin1String("songs") || table.endsWith(QLatin1String("_songs"))) ret << table;
if (table == "songs"_L1 || table.endsWith("_songs"_L1)) ret << table;
}
// look for the tables in attached dbs
@@ -502,7 +504,7 @@ bool Database::IntegrityCheck(const QSqlDatabase &db) {
QString message = q.value(0).toString();
// If no errors are found, a single row with the value "ok" is returned
if (message == QLatin1String("ok")) {
if (message == "ok"_L1) {
ok = true;
break;
}

View File

@@ -27,6 +27,8 @@
namespace IconMapper {
using namespace Qt::Literals::StringLiterals;
struct IconProperties {
explicit IconProperties() : min_size(0), max_size(0), allow_system_icon(true) {}
IconProperties(const QStringList &_names, const int _min_size = 16, const int _max_size = 512, const bool _allow_system_icon = true) : names(_names), min_size(_min_size), max_size(_max_size), allow_system_icon(_allow_system_icon) {}
@@ -100,7 +102,7 @@ static const QMap<QString, IconProperties> iconmapper_ = { // clazy:exclude=non
{ QStringLiteral("media-eject"), { {}} },
{ QStringLiteral("media-playback-pause"), { {QStringLiteral("media-pause")}} },
{ QStringLiteral("media-playlist-repeat"), { {}} },
{ QStringLiteral("media-playlist-shuffle"), { {QLatin1String("")}} },
{ QStringLiteral("media-playlist-shuffle"), { {""_L1}} },
{ QStringLiteral("media-playback-start"), { {QStringLiteral("media-play"), QStringLiteral("media-playback-playing")}} },
{ QStringLiteral("media-seek-backward"), { {}} },
{ QStringLiteral("media-seek-forward"), { {}} },

View File

@@ -39,6 +39,8 @@
#include <QDateTime>
#include <QRandomGenerator>
using namespace Qt::StringLiterals;
LocalRedirectServer::LocalRedirectServer(QObject *parent)
: QTcpServer(parent),
port_(0),
@@ -86,7 +88,7 @@ void LocalRedirectServer::incomingConnection(qintptr socket_descriptor) {
if (!tcp_socket->setSocketDescriptor(socket_descriptor)) {
delete tcp_socket;
close();
error_ = QLatin1String("Unable to set socket descriptor");
error_ = "Unable to set socket descriptor"_L1;
Q_EMIT Finished();
return;
}
@@ -151,7 +153,7 @@ void LocalRedirectServer::WriteTemplate() const {
.pixmap(16)
.toImage()
.save(&image_buffer, "PNG");
page_data.replace(QLatin1String("@IMAGE_DATA@"), QString::fromUtf8(image_buffer.data().toBase64()));
page_data.replace("@IMAGE_DATA@"_L1, QString::fromUtf8(image_buffer.data().toBase64()));
image_buffer.close();
}

View File

@@ -32,6 +32,8 @@
#include "core/logging.h"
#include "scoped_nsobject.h"
using namespace Qt::Literals::StringLiterals;
MacFSListener::MacFSListener(QObject *parent)
: FileSystemWatcherInterface(parent),
run_loop_(nullptr),
@@ -57,7 +59,7 @@ void MacFSListener::EventStreamCallback(ConstFSEventStreamRef stream, void *user
for (size_t i = 0; i < num_events; ++i) {
QString path = QString::fromUtf8(paths[i]);
qLog(Debug) << "Something changed at:" << path;
while (path.endsWith(QLatin1Char('/'))) {
while (path.endsWith(u'/')) {
path.chop(1);
}
Q_EMIT me->PathChanged(path);

View File

@@ -223,6 +223,7 @@
using std::make_unique;
using std::make_shared;
using namespace std::chrono_literals;
using namespace Qt::StringLiterals;
const char *MainWindow::kSettingsGroup = "MainWindow";
const char *MainWindow::kAllFilesFilterSpec = QT_TR_NOOP("All Files (*)");
@@ -1268,7 +1269,7 @@ void MainWindow::ReloadAllSettings() {
void MainWindow::RefreshStyleSheet() {
QString contents(styleSheet());
setStyleSheet(QLatin1String(""));
setStyleSheet(""_L1);
setStyleSheet(contents);
}
@@ -2344,7 +2345,7 @@ void MainWindow::ShowInCollection() {
}
QString search;
if (!songs.isEmpty()) {
search = QLatin1String("artist:") + songs.first().artist() + QLatin1String(" album:") + songs.first().album();
search = "artist:"_L1 + songs.first().artist() + " album:"_L1 + songs.first().album();
}
collection_view_->filter_widget()->ShowInCollection(search);
@@ -2437,9 +2438,9 @@ void MainWindow::CommandlineOptionsReceived(const CommandlineOptions &options) {
break;
case CommandlineOptions::PlayerAction::ResizeWindow:{
if (options.window_size().contains(QLatin1Char('x')) && options.window_size().length() >= 4) {
QString str_w = options.window_size().left(options.window_size().indexOf(QLatin1Char('x')));
QString str_h = options.window_size().right(options.window_size().length() - options.window_size().indexOf(QLatin1Char('x')) - 1);
if (options.window_size().contains(u'x') && options.window_size().length() >= 4) {
QString str_w = options.window_size().left(options.window_size().indexOf(u'x'));
QString str_h = options.window_size().right(options.window_size().length() - options.window_size().indexOf(u'x') - 1);
bool w_ok = false;
bool h_ok = false;
int w = str_w.toInt(&w_ok);
@@ -2479,7 +2480,7 @@ void MainWindow::CommandlineOptionsReceived(const CommandlineOptions &options) {
#ifdef HAVE_TIDAL
const QList<QUrl> urls = options.urls();
for (const QUrl &url : urls) {
if (url.scheme() == QLatin1String("tidal") && url.host() == QLatin1String("login")) {
if (url.scheme() == "tidal"_L1 && url.host() == "login"_L1) {
Q_EMIT AuthorizationUrlReceived(url);
return;
}
@@ -2557,7 +2558,7 @@ bool MainWindow::LoadUrl(const QString &url) {
return true;
}
#ifdef HAVE_TIDAL
if (url.startsWith(QLatin1String("tidal://login"))) {
if (url.startsWith("tidal://login"_L1)) {
Q_EMIT AuthorizationUrlReceived(QUrl(url));
return true;
}
@@ -2927,9 +2928,9 @@ void MainWindow::CheckFullRescanRevisions() {
if (!reasons.isEmpty()) {
QString message = tr("The version of Strawberry you've just updated to requires a full collection rescan because of the new features listed below:") + QStringLiteral("<ul>");
for (const QString &reason : reasons) {
message += QLatin1String("<li>") + reason + QLatin1String("</li>");
message += "<li>"_L1 + reason + "</li>"_L1;
}
message += QLatin1String("</ul>") + tr("Would you like to run a full rescan right now?");
message += "</ul>"_L1 + tr("Would you like to run a full rescan right now?");
if (QMessageBox::question(this, tr("Collection rescan notice"), message, QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes) {
app_->collection()->FullScan();
}

View File

@@ -64,6 +64,8 @@
#include "mpris2_root.h"
#include "mpris2_tracklist.h"
using namespace Qt::StringLiterals;
QDBusArgument &operator<<(QDBusArgument &arg, const MprisPlaylist &playlist) {
arg.beginStructure();
arg << playlist.id << playlist.name << playlist.icon;
@@ -132,13 +134,13 @@ Mpris2::Mpris2(Application *app, QObject *parent)
app_name_[0] = app_name_[0].toUpper();
QStringList data_dirs = QString::fromUtf8(qgetenv("XDG_DATA_DIRS")).split(QLatin1Char(':'));
QStringList data_dirs = QString::fromUtf8(qgetenv("XDG_DATA_DIRS")).split(u':');
if (!data_dirs.contains(QLatin1String("/usr/local/share"))) {
if (!data_dirs.contains("/usr/local/share"_L1)) {
data_dirs.append(QStringLiteral("/usr/local/share"));
}
if (!data_dirs.contains(QLatin1String("/usr/share"))) {
if (!data_dirs.contains("/usr/share"_L1)) {
data_dirs.append(QStringLiteral("/usr/share"));
}
@@ -208,18 +210,18 @@ void Mpris2::EmitNotification(const QString &name, const QVariant &value, const
void Mpris2::EmitNotification(const QString &name) {
QVariant value;
if (name == QLatin1String("PlaybackStatus")) value = PlaybackStatus();
else if (name == QLatin1String("LoopStatus")) value = LoopStatus();
else if (name == QLatin1String("Shuffle")) value = Shuffle();
else if (name == QLatin1String("Metadata")) value = Metadata();
else if (name == QLatin1String("Rating")) value = Rating();
else if (name == QLatin1String("Volume")) value = Volume();
else if (name == QLatin1String("Position")) value = Position();
else if (name == QLatin1String("CanPlay")) value = CanPlay();
else if (name == QLatin1String("CanPause")) value = CanPause();
else if (name == QLatin1String("CanSeek")) value = CanSeek();
else if (name == QLatin1String("CanGoNext")) value = CanGoNext();
else if (name == QLatin1String("CanGoPrevious")) value = CanGoPrevious();
if (name == "PlaybackStatus"_L1) value = PlaybackStatus();
else if (name == "LoopStatus"_L1) value = LoopStatus();
else if (name == "Shuffle"_L1) value = Shuffle();
else if (name == "Metadata"_L1) value = Metadata();
else if (name == "Rating"_L1) value = Rating();
else if (name == "Volume"_L1) value = Volume();
else if (name == "Position"_L1) value = Position();
else if (name == "CanPlay"_L1) value = CanPlay();
else if (name == "CanPause"_L1) value = CanPause();
else if (name == "CanSeek"_L1) value = CanSeek();
else if (name == "CanGoNext"_L1) value = CanGoNext();
else if (name == "CanGoPrevious"_L1) value = CanGoPrevious();
if (value.isValid()) EmitNotification(name, value);
@@ -326,13 +328,13 @@ void Mpris2::SetLoopStatus(const QString &value) {
PlaylistSequence::RepeatMode mode = PlaylistSequence::RepeatMode::Off;
if (value == QLatin1String("None")) {
if (value == "None"_L1) {
mode = PlaylistSequence::RepeatMode::Off;
}
else if (value == QLatin1String("Track")) {
else if (value == "Track"_L1) {
mode = PlaylistSequence::RepeatMode::Track;
}
else if (value == QLatin1String("Playlist")) {
else if (value == "Playlist"_L1) {
mode = PlaylistSequence::RepeatMode::Playlist;
}
@@ -461,7 +463,7 @@ bool Mpris2::CanPlay() const {
// This one's a bit different than MPRIS 1 - we want this to be true even when the song is already paused or stopped.
bool Mpris2::CanPause() const {
return (app_->player()->GetCurrentItem() && app_->player()->GetState() == EngineBase::State::Playing && !(app_->player()->GetCurrentItem()->options() & PlaylistItem::Option::PauseDisabled)) || PlaybackStatus() == QLatin1String("Paused") || PlaybackStatus() == QLatin1String("Stopped");
return (app_->player()->GetCurrentItem() && app_->player()->GetState() == EngineBase::State::Playing && !(app_->player()->GetCurrentItem()->options() & PlaylistItem::Option::PauseDisabled)) || PlaybackStatus() == "Paused"_L1 || PlaybackStatus() == "Stopped"_L1;
}
bool Mpris2::CanSeek() const { return CanSeek(app_->player()->GetState()); }
@@ -595,7 +597,7 @@ MaybePlaylist Mpris2::ActivePlaylist() const {
void Mpris2::ActivatePlaylist(const QDBusObjectPath &playlist_id) {
QStringList split_path = playlist_id.path().split(QLatin1Char('/'));
QStringList split_path = playlist_id.path().split(u'/');
qLog(Debug) << Q_FUNC_INFO << playlist_id.path() << split_path;
if (split_path.isEmpty()) {
return;
@@ -649,7 +651,7 @@ void Mpris2::PlaylistChangedSlot(Playlist *playlist) {
void Mpris2::PlaylistCollectionChanged(Playlist *playlist) {
Q_UNUSED(playlist);
EmitNotification(QStringLiteral("PlaylistCount"), QLatin1String(""), QStringLiteral("org.mpris.MediaPlayer2.Playlists"));
EmitNotification(QStringLiteral("PlaylistCount"), ""_L1, QStringLiteral("org.mpris.MediaPlayer2.Playlists"));
}
} // namespace mpris

View File

@@ -32,6 +32,8 @@
namespace mpris {
using namespace Qt::Literals::StringLiterals;
inline void AddMetadata(const QString &key, const QString &metadata, QVariantMap *map) {
if (!metadata.isEmpty()) (*map)[key] = metadata;
}
@@ -61,7 +63,7 @@ inline void AddMetadata(const QString &key, const QDBusObjectPath &metadata, QVa
}
inline QString AsMPRISDateTimeType(const qint64 time) {
return time != -1 ? QDateTime::fromSecsSinceEpoch(time).toString(Qt::ISODate) : QLatin1String("");
return time != -1 ? QDateTime::fromSecsSinceEpoch(time).toString(Qt::ISODate) : ""_L1;
}
} // namespace mpris

View File

@@ -32,6 +32,8 @@
#include "core/settings.h"
#include "networkproxyfactory.h"
using namespace Qt::StringLiterals;
NetworkProxyFactory *NetworkProxyFactory::sInstance = nullptr;
const char *NetworkProxyFactory::kSettingsGroup = "NetworkProxy";
@@ -112,7 +114,7 @@ QList<QNetworkProxy> NetworkProxyFactory::queryProxy(const QNetworkProxyQuery &q
ret.setPort(env_url_.port());
ret.setUser(env_url_.userName());
ret.setPassword(env_url_.password());
if (env_url_.scheme().startsWith(QLatin1String("http"))) {
if (env_url_.scheme().startsWith("http"_L1)) {
ret.setType(QNetworkProxy::HttpProxy);
}
else {

View File

@@ -70,7 +70,6 @@
#include "settings/playlistsettingspage.h"
using namespace std::chrono_literals;
using std::make_shared;
const char *Player::kSettingsGroup = "Player";

View File

@@ -63,6 +63,8 @@
#endif
#include "tagreadermessages.pb.h"
using namespace Qt::StringLiterals;
const QStringList Song::kColumns = QStringList() << QStringLiteral("title")
<< QStringLiteral("album")
<< QStringLiteral("artist")
@@ -144,10 +146,10 @@ const QStringList Song::kColumns = QStringList() << QStringLiteral("title")
const QStringList Song::kRowIdColumns = QStringList() << QStringLiteral("ROWID") << kColumns;
const QString Song::kColumnSpec = kColumns.join(QLatin1String(", "));
const QString Song::kRowIdColumnSpec = kRowIdColumns.join(QLatin1String(", "));
const QString Song::kBindSpec = Utilities::Prepend(QStringLiteral(":"), kColumns).join(QLatin1String(", "));
const QString Song::kUpdateSpec = Utilities::Updateify(kColumns).join(QLatin1String(", "));
const QString Song::kColumnSpec = kColumns.join(", "_L1);
const QString Song::kRowIdColumnSpec = kRowIdColumns.join(", "_L1);
const QString Song::kBindSpec = Utilities::Prepend(QStringLiteral(":"), kColumns).join(", "_L1);
const QString Song::kUpdateSpec = Utilities::Updateify(kColumns).join(", "_L1);
const QStringList Song::kTextSearchColumns = QStringList() << QStringLiteral("title")
<< QStringLiteral("album")
@@ -421,9 +423,9 @@ const QString &Song::grouping() const { return d->grouping_; }
const QString &Song::comment() const { return d->comment_; }
const QString &Song::lyrics() const { return d->lyrics_; }
QString Song::artist_id() const { return d->artist_id_.isNull() ? QLatin1String("") : d->artist_id_; }
QString Song::album_id() const { return d->album_id_.isNull() ? QLatin1String("") : d->album_id_; }
QString Song::song_id() const { return d->song_id_.isNull() ? QLatin1String("") : d->song_id_; }
QString Song::artist_id() const { return d->artist_id_.isNull() ? ""_L1 : d->artist_id_; }
QString Song::album_id() const { return d->album_id_.isNull() ? ""_L1 : d->album_id_; }
QString Song::song_id() const { return d->song_id_.isNull() ? ""_L1 : d->song_id_; }
qint64 Song::beginning_nanosec() const { return d->beginning_; }
qint64 Song::end_nanosec() const { return d->end_; }
@@ -725,7 +727,7 @@ int Song::ColumnIndex(const QString &field) {
}
QString Song::JoinSpec(const QString &table) {
return Utilities::Prepend(table + QLatin1Char('.'), kRowIdColumns).join(QLatin1String(", "));
return Utilities::Prepend(table + QLatin1Char('.'), kRowIdColumns).join(", "_L1);
}
QString Song::PrettyTitle() const {
@@ -779,7 +781,7 @@ QString Song::TitleWithCompilationArtist() const {
if (title.isEmpty()) title = d->basefilename_;
if (is_compilation() && !d->artist_.isEmpty() && !d->artist_.contains(QLatin1String("various"), Qt::CaseInsensitive)) title = d->artist_ + QStringLiteral(" - ") + title;
if (is_compilation() && !d->artist_.isEmpty() && !d->artist_.contains("various"_L1, Qt::CaseInsensitive)) title = d->artist_ + QStringLiteral(" - ") + title;
return title;
@@ -787,7 +789,7 @@ QString Song::TitleWithCompilationArtist() const {
QString Song::SampleRateBitDepthToText() const {
if (d->samplerate_ == -1) return QLatin1String("");
if (d->samplerate_ == -1) return ""_L1;
if (d->bitdepth_ == -1) return QStringLiteral("%1 hz").arg(d->samplerate_);
return QStringLiteral("%1 hz / %2 bit").arg(d->samplerate_).arg(d->bitdepth_);
@@ -957,11 +959,11 @@ Song::Source Song::SourceFromURL(const QUrl &url) {
if (url.scheme() == QStringLiteral("spotify")) return Source::Spotify;
if (url.scheme() == QStringLiteral("qobuz")) return Source::Qobuz;
if (url.scheme() == QStringLiteral("http") || url.scheme() == QStringLiteral("https") || url.scheme() == QStringLiteral("rtsp")) {
if (url.host().endsWith(QLatin1String("tidal.com"), Qt::CaseInsensitive)) { return Source::Tidal; }
if (url.host().endsWith(QLatin1String("spotify.com"), Qt::CaseInsensitive)) { return Source::Spotify; }
if (url.host().endsWith(QLatin1String("qobuz.com"), Qt::CaseInsensitive)) { return Source::Qobuz; }
if (url.host().endsWith(QLatin1String("somafm.com"), Qt::CaseInsensitive)) { return Source::SomaFM; }
if (url.host().endsWith(QLatin1String("radioparadise.com"), Qt::CaseInsensitive)) { return Source::RadioParadise; }
if (url.host().endsWith("tidal.com"_L1, Qt::CaseInsensitive)) { return Source::Tidal; }
if (url.host().endsWith("spotify.com"_L1, Qt::CaseInsensitive)) { return Source::Spotify; }
if (url.host().endsWith("qobuz.com"_L1, Qt::CaseInsensitive)) { return Source::Qobuz; }
if (url.host().endsWith("somafm.com"_L1, Qt::CaseInsensitive)) { return Source::SomaFM; }
if (url.host().endsWith("radioparadise.com"_L1, Qt::CaseInsensitive)) { return Source::RadioParadise; }
return Source::Stream;
}
else return Source::Unknown;
@@ -1010,17 +1012,17 @@ QString Song::DescriptionForSource(const Source source) {
Song::Source Song::SourceFromText(const QString &source) {
if (source.compare(QLatin1String("file"), Qt::CaseInsensitive) == 0) return Source::LocalFile;
if (source.compare(QLatin1String("collection"), Qt::CaseInsensitive) == 0) return Source::Collection;
if (source.compare(QLatin1String("cd"), Qt::CaseInsensitive) == 0) return Source::CDDA;
if (source.compare(QLatin1String("device"), Qt::CaseInsensitive) == 0) return Source::Device;
if (source.compare(QLatin1String("stream"), Qt::CaseInsensitive) == 0) return Source::Stream;
if (source.compare(QLatin1String("subsonic"), Qt::CaseInsensitive) == 0) return Source::Subsonic;
if (source.compare(QLatin1String("tidal"), Qt::CaseInsensitive) == 0) return Source::Tidal;
if (source.compare(QLatin1String("spotify"), Qt::CaseInsensitive) == 0) return Source::Spotify;
if (source.compare(QLatin1String("qobuz"), Qt::CaseInsensitive) == 0) return Source::Qobuz;
if (source.compare(QLatin1String("somafm"), Qt::CaseInsensitive) == 0) return Source::SomaFM;
if (source.compare(QLatin1String("radioparadise"), Qt::CaseInsensitive) == 0) return Source::RadioParadise;
if (source.compare("file"_L1, Qt::CaseInsensitive) == 0) return Source::LocalFile;
if (source.compare("collection"_L1, Qt::CaseInsensitive) == 0) return Source::Collection;
if (source.compare("cd"_L1, Qt::CaseInsensitive) == 0) return Source::CDDA;
if (source.compare("device"_L1, Qt::CaseInsensitive) == 0) return Source::Device;
if (source.compare("stream"_L1, Qt::CaseInsensitive) == 0) return Source::Stream;
if (source.compare("subsonic"_L1, Qt::CaseInsensitive) == 0) return Source::Subsonic;
if (source.compare("tidal"_L1, Qt::CaseInsensitive) == 0) return Source::Tidal;
if (source.compare("spotify"_L1, Qt::CaseInsensitive) == 0) return Source::Spotify;
if (source.compare("qobuz"_L1, Qt::CaseInsensitive) == 0) return Source::Qobuz;
if (source.compare("somafm"_L1, Qt::CaseInsensitive) == 0) return Source::SomaFM;
if (source.compare("radioparadise"_L1, Qt::CaseInsensitive) == 0) return Source::RadioParadise;
return Source::Unknown;
@@ -1166,26 +1168,26 @@ bool Song::IsFileLossless() const {
Song::FileType Song::FiletypeByMimetype(const QString &mimetype) {
if (mimetype.compare(QLatin1String("audio/wav"), Qt::CaseInsensitive) == 0 || mimetype.compare(QLatin1String("audio/x-wav"), Qt::CaseInsensitive) == 0) return FileType::WAV;
if (mimetype.compare(QLatin1String("audio/x-flac"), Qt::CaseInsensitive) == 0) return FileType::FLAC;
if (mimetype.compare(QLatin1String("audio/x-wavpack"), Qt::CaseInsensitive) == 0) return FileType::WavPack;
if (mimetype.compare(QLatin1String("audio/x-vorbis"), Qt::CaseInsensitive) == 0) return FileType::OggVorbis;
if (mimetype.compare(QLatin1String("audio/x-opus"), Qt::CaseInsensitive) == 0) return FileType::OggOpus;
if (mimetype.compare(QLatin1String("audio/x-speex"), Qt::CaseInsensitive) == 0) return FileType::OggSpeex;
if (mimetype.compare("audio/wav"_L1, Qt::CaseInsensitive) == 0 || mimetype.compare("audio/x-wav"_L1, Qt::CaseInsensitive) == 0) return FileType::WAV;
if (mimetype.compare("audio/x-flac"_L1, Qt::CaseInsensitive) == 0) return FileType::FLAC;
if (mimetype.compare("audio/x-wavpack"_L1, Qt::CaseInsensitive) == 0) return FileType::WavPack;
if (mimetype.compare("audio/x-vorbis"_L1, Qt::CaseInsensitive) == 0) return FileType::OggVorbis;
if (mimetype.compare("audio/x-opus"_L1, Qt::CaseInsensitive) == 0) return FileType::OggOpus;
if (mimetype.compare("audio/x-speex"_L1, Qt::CaseInsensitive) == 0) return FileType::OggSpeex;
// Gstreamer returns audio/mpeg for both MP3 and MP4/AAC.
// if (mimetype.compare("audio/mpeg", Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (mimetype.compare(QLatin1String("audio/aac"), Qt::CaseInsensitive) == 0) return FileType::MP4;
if (mimetype.compare(QLatin1String("audio/x-wma"), Qt::CaseInsensitive) == 0) return FileType::ASF;
if (mimetype.compare(QLatin1String("audio/aiff"), Qt::CaseInsensitive) == 0 || mimetype.compare(QLatin1String("audio/x-aiff"), Qt::CaseInsensitive) == 0) return FileType::AIFF;
if (mimetype.compare(QLatin1String("audio/x-musepack"), Qt::CaseInsensitive) == 0) return FileType::MPC;
if (mimetype.compare(QLatin1String("application/x-project"), Qt::CaseInsensitive) == 0) return FileType::MPC;
if (mimetype.compare(QLatin1String("audio/x-dsf"), Qt::CaseInsensitive) == 0) return FileType::DSF;
if (mimetype.compare(QLatin1String("audio/x-dsd"), Qt::CaseInsensitive) == 0) return FileType::DSDIFF;
if (mimetype.compare(QLatin1String("audio/x-ape"), Qt::CaseInsensitive) == 0 || mimetype.compare(QLatin1String("application/x-ape"), Qt::CaseInsensitive) == 0 || mimetype.compare(QLatin1String("audio/x-ffmpeg-parsed-ape"), Qt::CaseInsensitive) == 0) return FileType::APE;
if (mimetype.compare(QLatin1String("audio/x-mod"), Qt::CaseInsensitive) == 0) return FileType::MOD;
if (mimetype.compare(QLatin1String("audio/x-s3m"), Qt::CaseInsensitive) == 0) return FileType::S3M;
if (mimetype.compare(QLatin1String("audio/x-spc"), Qt::CaseInsensitive) == 0) return FileType::SPC;
if (mimetype.compare(QLatin1String("audio/x-vgm"), Qt::CaseInsensitive) == 0) return FileType::VGM;
if (mimetype.compare("audio/aac"_L1, Qt::CaseInsensitive) == 0) return FileType::MP4;
if (mimetype.compare("audio/x-wma"_L1, Qt::CaseInsensitive) == 0) return FileType::ASF;
if (mimetype.compare("audio/aiff"_L1, Qt::CaseInsensitive) == 0 || mimetype.compare("audio/x-aiff"_L1, Qt::CaseInsensitive) == 0) return FileType::AIFF;
if (mimetype.compare("audio/x-musepack"_L1, Qt::CaseInsensitive) == 0) return FileType::MPC;
if (mimetype.compare("application/x-project"_L1, Qt::CaseInsensitive) == 0) return FileType::MPC;
if (mimetype.compare("audio/x-dsf"_L1, Qt::CaseInsensitive) == 0) return FileType::DSF;
if (mimetype.compare("audio/x-dsd"_L1, Qt::CaseInsensitive) == 0) return FileType::DSDIFF;
if (mimetype.compare("audio/x-ape"_L1, Qt::CaseInsensitive) == 0 || mimetype.compare("application/x-ape"_L1, Qt::CaseInsensitive) == 0 || mimetype.compare("audio/x-ffmpeg-parsed-ape"_L1, Qt::CaseInsensitive) == 0) return FileType::APE;
if (mimetype.compare("audio/x-mod"_L1, Qt::CaseInsensitive) == 0) return FileType::MOD;
if (mimetype.compare("audio/x-s3m"_L1, Qt::CaseInsensitive) == 0) return FileType::S3M;
if (mimetype.compare("audio/x-spc"_L1, Qt::CaseInsensitive) == 0) return FileType::SPC;
if (mimetype.compare("audio/x-vgm"_L1, Qt::CaseInsensitive) == 0) return FileType::VGM;
return FileType::Unknown;
@@ -1193,26 +1195,26 @@ Song::FileType Song::FiletypeByMimetype(const QString &mimetype) {
Song::FileType Song::FiletypeByDescription(const QString &text) {
if (text.compare(QLatin1String("WAV"), Qt::CaseInsensitive) == 0) return FileType::WAV;
if (text.compare(QLatin1String("Free Lossless Audio Codec (FLAC)"), Qt::CaseInsensitive) == 0) return FileType::FLAC;
if (text.compare(QLatin1String("Wavpack"), Qt::CaseInsensitive) == 0) return FileType::WavPack;
if (text.compare(QLatin1String("Vorbis"), Qt::CaseInsensitive) == 0) return FileType::OggVorbis;
if (text.compare(QLatin1String("Opus"), Qt::CaseInsensitive) == 0) return FileType::OggOpus;
if (text.compare(QLatin1String("Speex"), Qt::CaseInsensitive) == 0) return FileType::OggSpeex;
if (text.compare(QLatin1String("MPEG-1 Layer 2 (MP2)"), Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (text.compare(QLatin1String("MPEG-1 Layer 3 (MP3)"), Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (text.compare(QLatin1String("MPEG-4 AAC"), Qt::CaseInsensitive) == 0) return FileType::MP4;
if (text.compare(QLatin1String("WMA"), Qt::CaseInsensitive) == 0) return FileType::ASF;
if (text.compare(QLatin1String("Audio Interchange File Format"), Qt::CaseInsensitive) == 0) return FileType::AIFF;
if (text.compare(QLatin1String("MPC"), Qt::CaseInsensitive) == 0) return FileType::MPC;
if (text.compare(QLatin1String("Musepack (MPC)"), Qt::CaseInsensitive) == 0) return FileType::MPC;
if (text.compare(QLatin1String("audio/x-dsf"), Qt::CaseInsensitive) == 0) return FileType::DSF;
if (text.compare(QLatin1String("audio/x-dsd"), Qt::CaseInsensitive) == 0) return FileType::DSDIFF;
if (text.compare(QLatin1String("audio/x-ffmpeg-parsed-ape"), Qt::CaseInsensitive) == 0) return FileType::APE;
if (text.compare(QLatin1String("Module Music Format (MOD)"), Qt::CaseInsensitive) == 0) return FileType::MOD;
if (text.compare(QLatin1String("Module Music Format (MOD)"), Qt::CaseInsensitive) == 0) return FileType::S3M;
if (text.compare(QLatin1String("SNES SPC700"), Qt::CaseInsensitive) == 0) return FileType::SPC;
if (text.compare(QLatin1String("VGM"), Qt::CaseInsensitive) == 0) return FileType::VGM;
if (text.compare("WAV"_L1, Qt::CaseInsensitive) == 0) return FileType::WAV;
if (text.compare("Free Lossless Audio Codec (FLAC)"_L1, Qt::CaseInsensitive) == 0) return FileType::FLAC;
if (text.compare("Wavpack"_L1, Qt::CaseInsensitive) == 0) return FileType::WavPack;
if (text.compare("Vorbis"_L1, Qt::CaseInsensitive) == 0) return FileType::OggVorbis;
if (text.compare("Opus"_L1, Qt::CaseInsensitive) == 0) return FileType::OggOpus;
if (text.compare("Speex"_L1, Qt::CaseInsensitive) == 0) return FileType::OggSpeex;
if (text.compare("MPEG-1 Layer 2 (MP2)"_L1, Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (text.compare("MPEG-1 Layer 3 (MP3)"_L1, Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (text.compare("MPEG-4 AAC"_L1, Qt::CaseInsensitive) == 0) return FileType::MP4;
if (text.compare("WMA"_L1, Qt::CaseInsensitive) == 0) return FileType::ASF;
if (text.compare("Audio Interchange File Format"_L1, Qt::CaseInsensitive) == 0) return FileType::AIFF;
if (text.compare("MPC"_L1, Qt::CaseInsensitive) == 0) return FileType::MPC;
if (text.compare("Musepack (MPC)"_L1, Qt::CaseInsensitive) == 0) return FileType::MPC;
if (text.compare("audio/x-dsf"_L1, Qt::CaseInsensitive) == 0) return FileType::DSF;
if (text.compare("audio/x-dsd"_L1, Qt::CaseInsensitive) == 0) return FileType::DSDIFF;
if (text.compare("audio/x-ffmpeg-parsed-ape"_L1, Qt::CaseInsensitive) == 0) return FileType::APE;
if (text.compare("Module Music Format (MOD)"_L1, Qt::CaseInsensitive) == 0) return FileType::MOD;
if (text.compare("Module Music Format (MOD)"_L1, Qt::CaseInsensitive) == 0) return FileType::S3M;
if (text.compare("SNES SPC700"_L1, Qt::CaseInsensitive) == 0) return FileType::SPC;
if (text.compare("VGM"_L1, Qt::CaseInsensitive) == 0) return FileType::VGM;
return FileType::Unknown;
@@ -1220,29 +1222,29 @@ Song::FileType Song::FiletypeByDescription(const QString &text) {
Song::FileType Song::FiletypeByExtension(const QString &ext) {
if (ext.compare(QLatin1String("wav"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("wave"), Qt::CaseInsensitive) == 0) return FileType::WAV;
if (ext.compare(QLatin1String("flac"), Qt::CaseInsensitive) == 0) return FileType::FLAC;
if (ext.compare(QLatin1String("wavpack"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("wv"), Qt::CaseInsensitive) == 0) return FileType::WavPack;
if (ext.compare(QLatin1String("opus"), Qt::CaseInsensitive) == 0) return FileType::OggOpus;
if (ext.compare(QLatin1String("speex"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("spx"), Qt::CaseInsensitive) == 0) return FileType::OggSpeex;
if (ext.compare(QLatin1String("mp2"), Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (ext.compare(QLatin1String("mp3"), Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (ext.compare(QLatin1String("mp4"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("m4a"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("aac"), Qt::CaseInsensitive) == 0) return FileType::MP4;
if (ext.compare(QLatin1String("asf"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("wma"), Qt::CaseInsensitive) == 0) return FileType::ASF;
if (ext.compare(QLatin1String("aiff"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("aif"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("aifc"), Qt::CaseInsensitive) == 0) return FileType::AIFF;
if (ext.compare(QLatin1String("mpc"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("mp+"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("mpp"), Qt::CaseInsensitive) == 0) return FileType::MPC;
if (ext.compare(QLatin1String("dsf"), Qt::CaseInsensitive) == 0) return FileType::DSF;
if (ext.compare(QLatin1String("dsd"), Qt::CaseInsensitive) == 0 || ext.compare(QLatin1String("dff"), Qt::CaseInsensitive) == 0) return FileType::DSDIFF;
if (ext.compare(QLatin1String("ape"), Qt::CaseInsensitive) == 0) return FileType::APE;
if (ext.compare(QLatin1String("mod"), Qt::CaseInsensitive) == 0 ||
ext.compare(QLatin1String("module"), Qt::CaseInsensitive) == 0 ||
ext.compare(QLatin1String("nst"), Qt::CaseInsensitive) == 0||
ext.compare(QLatin1String("wow"), Qt::CaseInsensitive) == 0) return FileType::MOD;
if (ext.compare(QLatin1String("s3m"), Qt::CaseInsensitive) == 0) return FileType::S3M;
if (ext.compare(QLatin1String("xm"), Qt::CaseInsensitive) == 0) return FileType::XM;
if (ext.compare(QLatin1String("it"), Qt::CaseInsensitive) == 0) return FileType::IT;
if (ext.compare(QLatin1String("spc"), Qt::CaseInsensitive) == 0) return FileType::SPC;
if (ext.compare(QLatin1String("vgm"), Qt::CaseInsensitive) == 0) return FileType::VGM;
if (ext.compare("wav"_L1, Qt::CaseInsensitive) == 0 || ext.compare("wave"_L1, Qt::CaseInsensitive) == 0) return FileType::WAV;
if (ext.compare("flac"_L1, Qt::CaseInsensitive) == 0) return FileType::FLAC;
if (ext.compare("wavpack"_L1, Qt::CaseInsensitive) == 0 || ext.compare("wv"_L1, Qt::CaseInsensitive) == 0) return FileType::WavPack;
if (ext.compare("opus"_L1, Qt::CaseInsensitive) == 0) return FileType::OggOpus;
if (ext.compare("speex"_L1, Qt::CaseInsensitive) == 0 || ext.compare("spx"_L1, Qt::CaseInsensitive) == 0) return FileType::OggSpeex;
if (ext.compare("mp2"_L1, Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (ext.compare("mp3"_L1, Qt::CaseInsensitive) == 0) return FileType::MPEG;
if (ext.compare("mp4"_L1, Qt::CaseInsensitive) == 0 || ext.compare("m4a"_L1, Qt::CaseInsensitive) == 0 || ext.compare("aac"_L1, Qt::CaseInsensitive) == 0) return FileType::MP4;
if (ext.compare("asf"_L1, Qt::CaseInsensitive) == 0 || ext.compare("wma"_L1, Qt::CaseInsensitive) == 0) return FileType::ASF;
if (ext.compare("aiff"_L1, Qt::CaseInsensitive) == 0 || ext.compare("aif"_L1, Qt::CaseInsensitive) == 0 || ext.compare("aifc"_L1, Qt::CaseInsensitive) == 0) return FileType::AIFF;
if (ext.compare("mpc"_L1, Qt::CaseInsensitive) == 0 || ext.compare("mp+"_L1, Qt::CaseInsensitive) == 0 || ext.compare("mpp"_L1, Qt::CaseInsensitive) == 0) return FileType::MPC;
if (ext.compare("dsf"_L1, Qt::CaseInsensitive) == 0) return FileType::DSF;
if (ext.compare("dsd"_L1, Qt::CaseInsensitive) == 0 || ext.compare("dff"_L1, Qt::CaseInsensitive) == 0) return FileType::DSDIFF;
if (ext.compare("ape"_L1, Qt::CaseInsensitive) == 0) return FileType::APE;
if (ext.compare("mod"_L1, Qt::CaseInsensitive) == 0 ||
ext.compare("module"_L1, Qt::CaseInsensitive) == 0 ||
ext.compare("nst"_L1, Qt::CaseInsensitive) == 0||
ext.compare("wow"_L1, Qt::CaseInsensitive) == 0) return FileType::MOD;
if (ext.compare("s3m"_L1, Qt::CaseInsensitive) == 0) return FileType::S3M;
if (ext.compare("xm"_L1, Qt::CaseInsensitive) == 0) return FileType::XM;
if (ext.compare("it"_L1, Qt::CaseInsensitive) == 0) return FileType::IT;
if (ext.compare("spc"_L1, Qt::CaseInsensitive) == 0) return FileType::SPC;
if (ext.compare("vgm"_L1, Qt::CaseInsensitive) == 0) return FileType::VGM;
return FileType::Unknown;
@@ -1588,8 +1590,8 @@ void Song::InitFromItdb(Itdb_Track *track, const QString &prefix) {
d->source_ = Source::Device;
QString filename = QString::fromLocal8Bit(track->ipod_path);
filename.replace(QLatin1Char(':'), QLatin1Char('/'));
if (prefix.contains(QLatin1String("://"))) {
filename.replace(u':', u'/');
if (prefix.contains("://"_L1)) {
set_url(QUrl(prefix + filename));
}
else {
@@ -1935,7 +1937,7 @@ void Song::MergeUserSetData(const Song &other, const bool merge_playcount, const
}
QString Song::AlbumKey() const {
return QStringLiteral("%1|%2|%3").arg(is_compilation() ? QStringLiteral("_compilation") : effective_albumartist(), has_cue() ? cue_path() : QLatin1String(""), effective_album());
return QStringLiteral("%1|%2|%3").arg(is_compilation() ? QStringLiteral("_compilation") : effective_albumartist(), has_cue() ? cue_path() : ""_L1, effective_album());
}
size_t qHash(const Song &song) {

View File

@@ -307,7 +307,7 @@ SongLoader::Result SongLoader::LoadLocalAsync(const QString &filename) {
// It's a CUE - create virtual tracks
QFile cue(matching_cue);
if (cue.open(QIODevice::ReadOnly)) {
const SongList songs = cue_parser_->Load(&cue, matching_cue, QDir(filename.section(QLatin1Char('/'), 0, -2)));
const SongList songs = cue_parser_->Load(&cue, matching_cue, QDir(filename.section(u'/', 0, -2)));
cue.close();
for (const Song &song : songs) {
if (song.is_valid()) songs_ << song;

View File

@@ -26,6 +26,8 @@
#include "sqlquery.h"
using namespace Qt::StringLiterals;
void SqlQuery::BindValue(const QString &placeholder, const QVariant &value) {
bound_values_.insert(placeholder, value);
@@ -36,13 +38,13 @@ void SqlQuery::BindValue(const QString &placeholder, const QVariant &value) {
void SqlQuery::BindStringValue(const QString &placeholder, const QString &value) {
BindValue(placeholder, value.isNull() ? QLatin1String("") : value);
BindValue(placeholder, value.isNull() ? ""_L1 : value);
}
void SqlQuery::BindUrlValue(const QString &placeholder, const QUrl &value) {
BindValue(placeholder, value.isValid() ? value.toString(QUrl::FullyEncoded) : QLatin1String(""));
BindValue(placeholder, value.isValid() ? value.toString(QUrl::FullyEncoded) : ""_L1);
}

View File

@@ -34,6 +34,8 @@
#include <QWindow>
#include <qmath.h>
using namespace Qt::StringLiterals;
// Clamps float color values within (0, 255)
static int clamp(float x) {
const int val = x > 255 ? 255 : static_cast<int>(x);
@@ -461,7 +463,7 @@ QString StyleHelper::dpiSpecificImageFile(const QString &fileName) {
QString StyleHelper::imageFileWithResolution(const QString &fileName, int dpr) {
const QFileInfo fi(fileName);
return dpr == 1 ? fileName : fi.path() + QLatin1Char('/') + fi.completeBaseName() + QLatin1Char('@') + QString::number(dpr) + QLatin1String("x.") + fi.suffix();
return dpr == 1 ? fileName : fi.path() + QLatin1Char('/') + fi.completeBaseName() + QLatin1Char('@') + QString::number(dpr) + "x."_L1 + fi.suffix();
}

View File

@@ -39,6 +39,8 @@
#include "core/logging.h"
#include "stylesheetloader.h"
using namespace Qt::StringLiterals;
using std::make_shared;
StyleSheetLoader::StyleSheetLoader(QObject *parent) : QObject(parent) {}
@@ -90,7 +92,7 @@ void StyleSheetLoader::UpdateStyleSheet(QWidget *widget, SharedPtr<StyleSheetDat
#else
alt.setAlpha(130);
#endif
stylesheet.replace(QLatin1String("%palette-alternate-base"), QStringLiteral("rgba(%1,%2,%3,%4)").arg(alt.red()).arg(alt.green()).arg(alt.blue()).arg(alt.alpha()));
stylesheet.replace("%palette-alternate-base"_L1, QStringLiteral("rgba(%1,%2,%3,%4)").arg(alt.red()).arg(alt.green()).arg(alt.blue()).arg(alt.alpha()));
}
ReplaceColor(&stylesheet, QStringLiteral("Window"), p, QPalette::Window);

View File

@@ -36,6 +36,8 @@
#include "song.h"
#include "tagreaderclient.h"
using namespace Qt::StringLiterals;
namespace {
constexpr char kWorkerExecutableName[] = "strawberry-tagreader";
}

View File

@@ -30,6 +30,8 @@
#include "taskmanager.h"
using namespace Qt::StringLiterals;
TaskManager::TaskManager(QObject *parent) : QObject(parent), next_task_id_(1) {
setObjectName(QLatin1String(metaObject()->className()));

View File

@@ -61,7 +61,7 @@ QString TemporaryFile::GenerateFilename(const QString &filename_pattern) const {
QString filename = filename_pattern;
Q_FOREVER {
const int i = static_cast<int>(filename.indexOf(QLatin1Char('X')));
const int i = static_cast<int>(filename.indexOf(u'X'));
if (i == -1) break;
const qint64 index = QRandomGenerator::global()->bounded(0, random_chars.length());
const QChar random_char = random_chars.at(index);