summaryrefslogtreecommitdiffstats
path: root/src/library/trackmodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/trackmodel.h')
-rw-r--r--src/library/trackmodel.h80
1 files changed, 43 insertions, 37 deletions
diff --git a/src/library/trackmodel.h b/src/library/trackmodel.h
index f3abf13115..bfc8820922 100644
--- a/src/library/trackmodel.h
+++ b/src/library/trackmodel.h
@@ -48,41 +48,48 @@ class TrackModel {
};
Q_DECLARE_FLAGS(Capabilities, Capability)
- enum SortColumnId {
- SORTCOLUMN_INVALID = -1,
- SORTCOLUMN_ARTIST = 0,
- SORTCOLUMN_TITLE,
- SORTCOLUMN_ALBUM,
- SORTCOLUMN_ALBUMARTIST,
- SORTCOLUMN_YEAR,
- SORTCOLUMN_GENRE,
- SORTCOLUMN_COMPOSER,
- SORTCOLUMN_GROUPING,
- SORTCOLUMN_TRACKNUMBER,
- SORTCOLUMN_FILETYPE,
- SORTCOLUMN_NATIVELOCATION,
- SORTCOLUMN_COMMENT,
- SORTCOLUMN_DURATION,
- SORTCOLUMN_BITRATE,
- SORTCOLUMN_BPM,
- SORTCOLUMN_REPLAYGAIN,
- SORTCOLUMN_DATETIMEADDED,
- SORTCOLUMN_TIMESPLAYED,
- SORTCOLUMN_RATING,
- SORTCOLUMN_KEY,
- SORTCOLUMN_PREVIEW,
- SORTCOLUMN_COVERART,
- SORTCOLUMN_POSITION,
- SORTCOLUMN_PLAYLISTID,
- SORTCOLUMN_LOCATION,
- SORTCOLUMN_FILENAME,
- SORTCOLUMN_FILE_MODIFIED_TIME,
- SORTCOLUMN_FILE_CREATION_TIME,
- SORTCOLUMN_SAMPLERATE,
- SORTCOLUMN_COLOR,
-
- // NUM_SORTCOLUMNS should always be the last item.
- NUM_SORTCOLUMNIDS
+ // Note that these enum values are used literally by controller scripts and must never be changed!
+ // Both reordering or insertion of new enum variants is strictly forbidden!
+ // New variants must always be inserted between the last valid and before the terminating variant IdMax!
+ enum class SortColumnId : int {
+ Invalid = -1,
+ CurrentIndex = 0, // Column with the cursor on it
+ Artist = 1,
+ Title = 2,
+ Album = 3,
+ AlbumArtist = 4,
+ Year = 5,
+ Genre = 6,
+ Composer = 7,
+ Grouping = 8,
+ TrackNumber = 9,
+ FileType = 10,
+ NativeLocation = 11,
+ Comment = 12,
+ Duration = 13,
+ BitRate = 14,
+ Bpm = 15,
+ ReplayGain = 16,
+ DateTimeAdded = 17,
+ TimesPlayed = 18,
+ Rating = 19,
+ Key = 20,
+ Preview = 21,
+ CoverArt = 22,
+ Position = 23,
+ PlaylistId = 24,
+ Location = 25,
+ Filename = 26,
+ FileModifiedTime = 27,
+ FileCreationTime = 28,
+ SampleRate = 29,
+ Color = 30,
+
+ // IdMax terminates the list of columns, it must be always after the last item
+ IdMax,
+
+ IdMin = Artist,
+ NumOfIds = (IdMax - IdMin) + 1
};
// Deserialize and return the track at the given QModelIndex
@@ -180,8 +187,7 @@ class TrackModel {
virtual SortColumnId sortColumnIdFromColumnIndex(int index) {
Q_UNUSED(index);
- return SORTCOLUMN_INVALID;
-
+ return TrackModel::SortColumnId::Invalid;
}
virtual int columnIndexFromSortColumnId(TrackModel::SortColumnId sortColumn) {