SmartPlaylists: Add sort fields

This commit is contained in:
Mark
2025-07-28 12:57:03 +02:00
committed by Jonas Kvinge
parent d4858a338c
commit 61a8a3a84a
3 changed files with 51 additions and 2 deletions

View File

@@ -353,6 +353,18 @@ QString SmartPlaylistSearchTerm::FieldColumnName(const Field field) {
return u"bitdepth"_s;
case Field::Bitrate:
return u"bitrate"_s;
case Field::ArtistSort:
return u"artistsort"_s;
case Field::AlbumArtistSort:
return u"albumartistsort"_s;
case Field::AlbumSort:
return u"albumsort"_s;
case Field::ComposerSort:
return u"composersort"_s;
case Field::PerformerSort:
return u"performersort"_s;
case Field::TitleSort:
return u"titlesort"_s;
case Field::FieldCount:
Q_ASSERT(0);
}
@@ -415,6 +427,18 @@ QString SmartPlaylistSearchTerm::FieldName(const Field field) {
return Playlist::column_name(Playlist::Column::Bitdepth);
case Field::Bitrate:
return Playlist::column_name(Playlist::Column::Bitrate);
case Field::ArtistSort:
return Playlist::column_name(Playlist::Column::ArtistSort);
case Field::AlbumArtistSort:
return Playlist::column_name(Playlist::Column::AlbumArtistSort);
case Field::AlbumSort:
return Playlist::column_name(Playlist::Column::AlbumSort);
case Field::ComposerSort:
return Playlist::column_name(Playlist::Column::ComposerSort);
case Field::PerformerSort:
return Playlist::column_name(Playlist::Column::PerformerSort);
case Field::TitleSort:
return Playlist::column_name(Playlist::Column::TitleSort);
case Field::FieldCount:
Q_ASSERT(0);
}

View File

@@ -59,6 +59,12 @@ class SmartPlaylistSearchTerm {
Samplerate,
Bitdepth,
Bitrate,
ArtistSort,
AlbumArtistSort,
AlbumSort,
ComposerSort,
PerformerSort,
TitleSort,
FieldCount
};

View File

@@ -162,11 +162,30 @@ void SmartPlaylistSearchTermWidget::FieldChanged(int index) {
case SmartPlaylistSearchTerm::Field::Artist:
new TagCompleter(collection_backend_, Playlist::Column::Artist, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::ArtistSort:
new TagCompleter(collection_backend_, Playlist::Column::ArtistSort, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::Album:
new TagCompleter(collection_backend_, Playlist::Column::Album, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::AlbumSort:
new TagCompleter(collection_backend_, Playlist::Column::AlbumSort, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::AlbumArtist:
new TagCompleter(collection_backend_, Playlist::Column::AlbumArtist, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::AlbumArtistSort:
new TagCompleter(collection_backend_, Playlist::Column::AlbumArtistSort, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::ComposerSort:
new TagCompleter(collection_backend_, Playlist::Column::ComposerSort, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::PerformerSort:
new TagCompleter(collection_backend_, Playlist::Column::PerformerSort, ui_->value_text);
break;
case SmartPlaylistSearchTerm::Field::TitleSort:
new TagCompleter(collection_backend_, Playlist::Column::TitleSort, ui_->value_text);
break;
default:
ui_->value_text->setCompleter(nullptr);
}