summaryrefslogtreecommitdiffstats
path: root/src/library/basesqltablemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/basesqltablemodel.cpp')
-rw-r--r--src/library/basesqltablemodel.cpp112
1 files changed, 82 insertions, 30 deletions
diff --git a/src/library/basesqltablemodel.cpp b/src/library/basesqltablemodel.cpp
index 11cf86e274..768a66b2a4 100644
--- a/src/library/basesqltablemodel.cpp
+++ b/src/library/basesqltablemodel.cpp
@@ -67,38 +67,90 @@ void BaseSqlTableModel::initHeaderProperties() {
void BaseSqlTableModel::initSortColumnMapping() {
// Add a bijective mapping between the SortColumnIds and column indices
- for (int i = 0; i < TrackModel::SortColumnId::NUM_SORTCOLUMNIDS; ++i) {
+ for (int i = 0; i < static_cast<int>(TrackModel::SortColumnId::IdMax); ++i) {
m_columnIndexBySortColumnId[i] = -1;
}
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_ARTIST] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ARTIST);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_TITLE] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TITLE);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_ALBUM] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUM);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_ALBUMARTIST] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUMARTIST);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_YEAR] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_YEAR);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_GENRE] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_GENRE);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_COMPOSER] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COMPOSER);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_GROUPING] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_GROUPING);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_TRACKNUMBER] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TRACKNUMBER);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_FILETYPE] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_FILETYPE);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_NATIVELOCATION] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_NATIVELOCATION);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_COMMENT] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COMMENT);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_DURATION] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DURATION);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_BITRATE] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BITRATE);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_BPM] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BPM);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_REPLAYGAIN] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_REPLAYGAIN);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_DATETIMEADDED] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DATETIMEADDED);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_TIMESPLAYED] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TIMESPLAYED);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_RATING] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_RATING);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_KEY] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_KEY);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_PREVIEW] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_PREVIEW);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_COLOR] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COLOR);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_COVERART] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART);
- m_columnIndexBySortColumnId[TrackModel::SortColumnId::SORTCOLUMN_SAMPLERATE] = fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_SAMPLERATE);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Artist)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ARTIST);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Title)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TITLE);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Album)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUM);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::AlbumArtist)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_ALBUMARTIST);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Year)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_YEAR);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Genre)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_GENRE);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Composer)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COMPOSER);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Grouping)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_GROUPING);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::TrackNumber)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TRACKNUMBER);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::FileType)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_FILETYPE);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::NativeLocation)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_NATIVELOCATION);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Comment)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COMMENT);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Duration)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DURATION);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::BitRate)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BITRATE);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Bpm)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_BPM);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::ReplayGain)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_REPLAYGAIN);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::DateTimeAdded)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_DATETIMEADDED);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::TimesPlayed)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_TIMESPLAYED);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Rating)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_RATING);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Key)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_KEY);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Preview)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_PREVIEW);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::Color)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COLOR);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::CoverArt)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_COVERART);
+ m_columnIndexBySortColumnId[static_cast<int>(
+ TrackModel::SortColumnId::SampleRate)] =
+ fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_SAMPLERATE);
m_sortColumnIdByColumnIndex.clear();
- for (int i = 0; i < TrackModel::SortColumnId::NUM_SORTCOLUMNIDS; ++i) {
+ for (int i = static_cast<int>(TrackModel::SortColumnId::IdMin);
+ i < static_cast<int>(TrackModel::SortColumnId::IdMax);
+ ++i) {
TrackModel::SortColumnId sortColumn = static_cast<TrackModel::SortColumnId>(i);
- m_sortColumnIdByColumnIndex.insert(m_columnIndexBySortColumnId[sortColumn], sortColumn);
+ m_sortColumnIdByColumnIndex.insert(
+ m_columnIndexBySortColumnId[static_cast<int>(sortColumn)],
+ sortColumn);
}
}
@@ -324,15 +376,15 @@ void BaseSqlTableModel::setTable(const QString& tableName,
}
int BaseSqlTableModel::columnIndexFromSortColumnId(TrackModel::SortColumnId column) {
- if (column == TrackModel::SortColumnId::SORTCOLUMN_INVALID) {
+ if (column == TrackModel::SortColumnId::Invalid) {
return -1;
}
- return m_columnIndexBySortColumnId[column];
+ return m_columnIndexBySortColumnId[static_cast<int>(column)];
}
TrackModel::SortColumnId BaseSqlTableModel::sortColumnIdFromColumnIndex(int index) {
- return m_sortColumnIdByColumnIndex.value(index, TrackModel::SortColumnId::SORTCOLUMN_INVALID);
+ return m_sortColumnIdByColumnIndex.value(index, TrackModel::SortColumnId::Invalid);
}
const QString BaseSqlTableModel::currentSearch() const {