Use C++11 enum class

This commit is contained in:
Jonas Kvinge
2023-02-18 14:09:27 +01:00
parent e6c5f76872
commit dd72fb4ca5
237 changed files with 2915 additions and 2840 deletions

View File

@@ -128,10 +128,10 @@ void CddaSongLoader::LoadSongs() {
songs.reserve(num_tracks);
for (int track_number = 1; track_number <= num_tracks; ++track_number) {
// Init song
Song song(Song::Source_CDDA);
Song song(Song::Source::CDDA);
song.set_id(track_number);
song.set_valid(true);
song.set_filetype(Song::FileType_CDDA);
song.set_filetype(Song::FileType::CDDA);
song.set_url(GetUrlFromTrack(track_number));
song.set_title(QString("Track %1").arg(track_number));
song.set_track(track_number);
@@ -221,7 +221,7 @@ void CddaSongLoader::AudioCDTagsLoaded(const QString &artist, const QString &alb
songs.reserve(results.count());
int track_number = 1;
for (const MusicBrainzClient::Result &ret : results) {
Song song(Song::Source_CDDA);
Song song(Song::Source::CDDA);
song.set_artist(artist);
song.set_album(album);
song.set_title(ret.title_);
@@ -229,7 +229,7 @@ void CddaSongLoader::AudioCDTagsLoaded(const QString &artist, const QString &alb
song.set_track(track_number);
song.set_year(ret.year_);
song.set_id(track_number);
song.set_filetype(Song::FileType_CDDA);
song.set_filetype(Song::FileType::CDDA);
song.set_valid(true);
// We need to set url: that's how playlist will find the correct item to update
song.set_url(GetUrlFromTrack(track_number++));

View File

@@ -61,7 +61,7 @@ ConnectedDevice::ConnectedDevice(const QUrl &url, DeviceLister *lister, const QS
backend_->Init(app_->database(),
app_->task_manager(),
Song::Source_Device,
Song::Source::Device,
QString("device_%1_songs").arg(database_id),
QString("device_%1_fts").arg(database_id),
QString("device_%1_directories").arg(database_id),
@@ -154,10 +154,10 @@ MusicStorage::TranscodeMode ConnectedDevice::GetTranscodeMode() const {
Song::FileType ConnectedDevice::GetTranscodeFormat() const {
DeviceInfo *info = manager_->FindDeviceById(unique_id_);
if (!info) return Song::FileType_Unknown;
if (!info) return Song::FileType::Unknown;
QModelIndex idx = manager_->ItemToIndex(info);
if (!idx.isValid()) return Song::FileType_Unknown;
if (!idx.isValid()) return Song::FileType::Unknown;
return static_cast<Song::FileType>(idx.data(DeviceManager::Role_TranscodeFormat).toInt());
@@ -167,4 +167,3 @@ void ConnectedDevice::BackendTotalSongCountUpdated(int count) {
song_count_ = count;
emit SongCountUpdated(count);
}

View File

@@ -46,7 +46,7 @@ class ConnectedDevice : public QObject, public virtual MusicStorage, public std:
explicit ConnectedDevice(const QUrl &url, DeviceLister *lister, const QString &unique_id, DeviceManager *manager, Application *app, const int database_id, const bool first_time, QObject *parent = nullptr);
~ConnectedDevice() override;
Song::Source source() const override { return Song::Source_Device; }
Song::Source source() const override { return Song::Source::Device; }
virtual bool Init() = 0;
virtual bool IsLoading() { return false; }

View File

@@ -128,8 +128,8 @@ int DeviceDatabaseBackend::AddDevice(const Device &device) {
q.BindValue(":friendly_name", device.friendly_name_);
q.BindValue(":size", device.size_);
q.BindValue(":icon", device.icon_name_);
q.BindValue(":transcode_mode", device.transcode_mode_);
q.BindValue(":transcode_format", device.transcode_format_);
q.BindValue(":transcode_mode", static_cast<int>(device.transcode_mode_));
q.BindValue(":transcode_format", static_cast<int>(device.transcode_format_));
if (!q.Exec()) {
db_->ReportErrors(q);
return -1;
@@ -194,8 +194,8 @@ void DeviceDatabaseBackend::SetDeviceOptions(const int id, const QString &friend
" WHERE ROWID=:id");
q.BindValue(":friendly_name", friendly_name);
q.BindValue(":icon_name", icon_name);
q.BindValue(":transcode_mode", mode);
q.BindValue(":transcode_format", format);
q.BindValue(":transcode_mode", static_cast<int>(mode));
q.BindValue(":transcode_format", static_cast<int>(format));
q.BindValue(":id", id);
if (!q.Exec()) {
db_->ReportErrors(q);

View File

@@ -64,8 +64,8 @@ class DeviceInfo : public SimpleTreeItem<DeviceInfo> {
: SimpleTreeItem<DeviceInfo>(Type_Root, _model),
database_id_(-1),
size_(0),
transcode_mode_(MusicStorage::Transcode_Unsupported),
transcode_format_(Song::FileType_Unknown),
transcode_mode_(MusicStorage::TranscodeMode::Transcode_Unsupported),
transcode_format_(Song::FileType::Unknown),
task_percentage_(-1),
unmount_(false),
forget_(false) {}
@@ -74,8 +74,8 @@ class DeviceInfo : public SimpleTreeItem<DeviceInfo> {
: SimpleTreeItem<DeviceInfo>(_type, _parent),
database_id_(-1),
size_(0),
transcode_mode_(MusicStorage::Transcode_Unsupported),
transcode_format_(Song::FileType_Unknown),
transcode_mode_(MusicStorage::TranscodeMode::Transcode_Unsupported),
transcode_format_(Song::FileType::Unknown),
task_percentage_(-1),
unmount_(false),
forget_(false) {}

View File

@@ -370,10 +370,10 @@ QVariant DeviceManager::data(const QModelIndex &idx, int role) const {
}
case Role_TranscodeMode:
return info->transcode_mode_;
return static_cast<int>(info->transcode_mode_);
case Role_TranscodeFormat:
return info->transcode_format_;
return static_cast<int>(info->transcode_format_);
case Role_SongCount:
if (!info->device_) return QVariant();

View File

@@ -106,7 +106,7 @@ void DeviceProperties::ShowDevice(const QModelIndex &idx) {
#ifdef HAVE_GSTREAMER
// Load the transcode formats the first time the dialog is shown
for (const TranscoderPreset &preset : Transcoder::GetAllPresets()) {
ui_->transcode_format->addItem(preset.name_, preset.filetype_);
ui_->transcode_format->addItem(preset.name_, QVariant::fromValue(preset.filetype_));
}
ui_->transcode_format->model()->sort(0);
#endif
@@ -209,15 +209,15 @@ void DeviceProperties::UpdateFormats() {
// Transcode mode
MusicStorage::TranscodeMode mode = static_cast<MusicStorage::TranscodeMode>(index_.data(DeviceManager::Role_TranscodeMode).toInt());
switch (mode) {
case MusicStorage::Transcode_Always:
case MusicStorage::TranscodeMode::Transcode_Always:
ui_->transcode_all->setChecked(true);
break;
case MusicStorage::Transcode_Never:
case MusicStorage::TranscodeMode::Transcode_Never:
ui_->transcode_off->setChecked(true);
break;
case MusicStorage::Transcode_Unsupported:
case MusicStorage::TranscodeMode::Transcode_Unsupported:
default:
ui_->transcode_unsupported->setChecked(true);
break;
@@ -262,13 +262,13 @@ void DeviceProperties::accept() {
QDialog::accept();
// Transcode mode
MusicStorage::TranscodeMode mode = MusicStorage::Transcode_Unsupported;
MusicStorage::TranscodeMode mode = MusicStorage::TranscodeMode::Transcode_Unsupported;
if (ui_->transcode_all->isChecked())
mode = MusicStorage::Transcode_Always;
mode = MusicStorage::TranscodeMode::Transcode_Always;
else if (ui_->transcode_off->isChecked())
mode = MusicStorage::Transcode_Never;
mode = MusicStorage::TranscodeMode::Transcode_Never;
else if (ui_->transcode_unsupported->isChecked())
mode = MusicStorage::Transcode_Unsupported;
mode = MusicStorage::TranscodeMode::Transcode_Unsupported;
// Transcode format
Song::FileType format = static_cast<Song::FileType>(ui_->transcode_format->itemData(ui_->transcode_format->currentIndex()).toInt());
@@ -316,7 +316,7 @@ void DeviceProperties::UpdateFormatsFinished() {
#ifdef HAVE_GSTREAMER
// Set the format combobox item
TranscoderPreset preset = Transcoder::PresetForFileType(static_cast<Song::FileType>(index_.data(DeviceManager::Role_TranscodeFormat).toInt()));
if (preset.filetype_ == Song::FileType_Unknown) {
if (preset.filetype_ == Song::FileType::Unknown) {
// The user hasn't chosen a format for this device yet,
// so work our way down a list of some preferred formats, picking the first one that is supported
preset = Transcoder::PresetForFileType(Transcoder::PickBestFormat(supported_formats_));

View File

@@ -460,7 +460,7 @@ void DeviceView::DeleteFinished(const SongList &songs_with_errors) {
if (songs_with_errors.isEmpty()) return;
OrganizeErrorDialog *dialog = new OrganizeErrorDialog(this);
dialog->Show(OrganizeErrorDialog::Type_Delete, songs_with_errors);
dialog->Show(OrganizeErrorDialog::OperationType::Delete, songs_with_errors);
// It deletes itself when the user closes it
}

View File

@@ -39,9 +39,9 @@
class DeviceLister;
FilesystemDevice::FilesystemDevice(const QUrl &url, DeviceLister *lister, const QString &unique_id, DeviceManager *manager, Application *app, const int database_id, const bool first_time, QObject *parent)
: FilesystemMusicStorage(Song::Source_Device, url.toLocalFile()),
: FilesystemMusicStorage(Song::Source::Device, url.toLocalFile()),
ConnectedDevice(url, lister, unique_id, manager, app, database_id, first_time, parent),
watcher_(new CollectionWatcher(Song::Source_Device)),
watcher_(new CollectionWatcher(Song::Source::Device)),
watcher_thread_(new QThread(this)) {
watcher_->moveToThread(watcher_thread_);

View File

@@ -46,7 +46,7 @@ class FilesystemDevice : public ConnectedDevice, public virtual FilesystemMusicS
Q_INVOKABLE FilesystemDevice(const QUrl &url, DeviceLister *lister, const QString &unique_id, DeviceManager *manager, Application *app, const int database_id, const bool first_time, QObject *parent = nullptr);
~FilesystemDevice() override;
Song::Source source() const final { return Song::Source_Device; }
Song::Source source() const final { return Song::Source::Device; }
bool Init() override;
void CloseAsync();

View File

@@ -384,7 +384,7 @@ void GPodDevice::FinishDelete(bool success) {
}
bool GPodDevice::GetSupportedFiletypes(QList<Song::FileType> *ret) {
*ret << Song::FileType_MP4;
*ret << Song::FileType_MPEG;
*ret << Song::FileType::MP4;
*ret << Song::FileType::MPEG;
return true;
}

View File

@@ -39,7 +39,7 @@ GPodLoader::GPodLoader(const QString &mount_point, TaskManager *task_manager, Co
: QObject(parent),
device_(device),
mount_point_(mount_point),
type_(Song::FileType_Unknown),
type_(Song::FileType::Unknown),
task_manager_(task_manager),
backend_(backend),
abort_(false) {
@@ -93,11 +93,11 @@ Itdb_iTunesDB *GPodLoader::TryLoad() {
Itdb_Track *track = static_cast<Itdb_Track*>(tracks->data);
Song song(Song::Source_Device);
Song song(Song::Source::Device);
song.InitFromItdb(track, prefix);
song.set_directory_id(1);
if (type_ != Song::FileType_Unknown) song.set_filetype(type_);
if (type_ != Song::FileType::Unknown) song.set_filetype(type_);
songs << song;
}

View File

@@ -120,21 +120,21 @@ bool MtpConnection::GetSupportedFiletypes(QList<Song::FileType> *ret) {
for (int i = 0; i < length; ++i) {
switch (static_cast<LIBMTP_filetype_t>(list[i])) {
case LIBMTP_FILETYPE_WAV: *ret << Song::FileType_WAV; break;
case LIBMTP_FILETYPE_WAV: *ret << Song::FileType::WAV; break;
case LIBMTP_FILETYPE_MP2:
case LIBMTP_FILETYPE_MP3: *ret << Song::FileType_MPEG; break;
case LIBMTP_FILETYPE_WMA: *ret << Song::FileType_ASF; break;
case LIBMTP_FILETYPE_MP3: *ret << Song::FileType::MPEG; break;
case LIBMTP_FILETYPE_WMA: *ret << Song::FileType::ASF; break;
case LIBMTP_FILETYPE_MP4:
case LIBMTP_FILETYPE_M4A:
case LIBMTP_FILETYPE_AAC: *ret << Song::FileType_MP4; break;
case LIBMTP_FILETYPE_AAC: *ret << Song::FileType::MP4; break;
case LIBMTP_FILETYPE_FLAC:
*ret << Song::FileType_FLAC;
*ret << Song::FileType_OggFlac;
*ret << Song::FileType::FLAC;
*ret << Song::FileType::OggFlac;
break;
case LIBMTP_FILETYPE_OGG:
*ret << Song::FileType_OggVorbis;
*ret << Song::FileType_OggSpeex;
*ret << Song::FileType_OggFlac;
*ret << Song::FileType::OggVorbis;
*ret << Song::FileType::OggSpeex;
*ret << Song::FileType::OggFlac;
break;
default:
qLog(Error) << "Unknown MTP file format" << LIBMTP_Get_Filetype_Description(static_cast<LIBMTP_filetype_t>(list[i]));

View File

@@ -173,7 +173,7 @@ bool MtpDevice::CopyToStorage(const CopyJob &job) {
if (ret != 0) return false;
// Add it to our CollectionModel
Song metadata_on_device(Song::Source_Device);
Song metadata_on_device(Song::Source::Device);
metadata_on_device.InitFromMTP(&track, url_.host());
metadata_on_device.set_directory_id(1);
metadata_on_device.set_artist(metadata_on_device.effective_albumartist());
@@ -260,21 +260,21 @@ bool MtpDevice::GetSupportedFiletypes(QList<Song::FileType> *ret, LIBMTP_mtpdevi
for (int i = 0; i < length; ++i) {
switch (static_cast<LIBMTP_filetype_t>(list[i])) {
case LIBMTP_FILETYPE_WAV: *ret << Song::FileType_WAV; break;
case LIBMTP_FILETYPE_WAV: *ret << Song::FileType::WAV; break;
case LIBMTP_FILETYPE_MP2:
case LIBMTP_FILETYPE_MP3: *ret << Song::FileType_MPEG; break;
case LIBMTP_FILETYPE_WMA: *ret << Song::FileType_ASF; break;
case LIBMTP_FILETYPE_MP3: *ret << Song::FileType::MPEG; break;
case LIBMTP_FILETYPE_WMA: *ret << Song::FileType::ASF; break;
case LIBMTP_FILETYPE_MP4:
case LIBMTP_FILETYPE_M4A:
case LIBMTP_FILETYPE_AAC: *ret << Song::FileType_MP4; break;
case LIBMTP_FILETYPE_AAC: *ret << Song::FileType::MP4; break;
case LIBMTP_FILETYPE_FLAC:
*ret << Song::FileType_FLAC;
*ret << Song::FileType_OggFlac;
*ret << Song::FileType::FLAC;
*ret << Song::FileType::OggFlac;
break;
case LIBMTP_FILETYPE_OGG:
*ret << Song::FileType_OggVorbis;
*ret << Song::FileType_OggSpeex;
*ret << Song::FileType_OggFlac;
*ret << Song::FileType::OggVorbis;
*ret << Song::FileType::OggSpeex;
*ret << Song::FileType::OggFlac;
break;
default:
qLog(Error) << "Unknown MTP file format" << LIBMTP_Get_Filetype_Description(static_cast<LIBMTP_filetype_t>(list[i]));

View File

@@ -78,7 +78,7 @@ bool MtpLoader::TryLoad() {
LIBMTP_track_t *track = tracks;
Song song(Song::Source_Device);
Song song(Song::Source::Device);
song.InitFromMTP(track, url_.host());
if (song.is_valid() && !song.artist().isEmpty() && !song.title().isEmpty()) {
song.set_directory_id(1);