Use album sort order in UI, fixes #616
This commit is contained in:
@@ -205,7 +205,6 @@ namespace lms::db
|
||||
: _mbid{ mbid ? mbid->getAsString() : "" }
|
||||
{
|
||||
setName(name);
|
||||
_sortName = _name;
|
||||
}
|
||||
|
||||
Artist::pointer Artist::create(Session& session, const std::string& name, const std::optional<core::UUID>& mbid)
|
||||
|
||||
@@ -218,6 +218,9 @@ namespace lms::db
|
||||
case ReleaseSortMethod::Name:
|
||||
query.orderBy("r.name COLLATE NOCASE");
|
||||
break;
|
||||
case ReleaseSortMethod::SortName:
|
||||
query.orderBy("r.sort_name COLLATE NOCASE");
|
||||
break;
|
||||
case ReleaseSortMethod::ArtistNameThenName:
|
||||
query.orderBy("a.name COLLATE NOCASE, r.name COLLATE NOCASE");
|
||||
break;
|
||||
|
||||
@@ -239,6 +239,8 @@ namespace lms::db
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_mbid_idx ON release(mbid)");
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_name_idx ON release(name)");
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_name_nocase_idx ON release(name COLLATE NOCASE)");
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_sort_name_idx ON release(sort_name)");
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_sort_name_nocase_idx ON release(sort_name COLLATE NOCASE)");
|
||||
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_type_id_idx ON release_type(id)");
|
||||
utils::executeCommand(_session, "CREATE INDEX IF NOT EXISTS release_type_name_idx ON release_type(name COLLATE NOCASE)");
|
||||
|
||||
@@ -147,6 +147,7 @@ namespace lms::db
|
||||
None,
|
||||
Id,
|
||||
Name,
|
||||
SortName,
|
||||
ArtistNameThenName,
|
||||
DateAsc,
|
||||
DateDesc,
|
||||
|
||||
@@ -55,8 +55,8 @@ namespace lms::scanner
|
||||
|
||||
if (artistInfo.mbid)
|
||||
artist.modify()->setMBID(artistInfo.mbid);
|
||||
if (artistInfo.sortName)
|
||||
artist.modify()->setSortName(*artistInfo.sortName);
|
||||
|
||||
artist.modify()->setSortName(artistInfo.sortName ? *artistInfo.sortName : artistInfo.name);
|
||||
|
||||
return artist;
|
||||
}
|
||||
@@ -163,8 +163,11 @@ namespace lms::scanner
|
||||
{
|
||||
if (release->getName() != releaseInfo.name)
|
||||
release.modify()->setName(releaseInfo.name);
|
||||
if (release->getSortName() != releaseInfo.sortName)
|
||||
release.modify()->setSortName(releaseInfo.sortName);
|
||||
{
|
||||
std::string_view sortName{ !releaseInfo.sortName.empty() ? releaseInfo.sortName : releaseInfo.name };
|
||||
if (release->getSortName() != sortName)
|
||||
release.modify()->setSortName(sortName);
|
||||
}
|
||||
if (release->getGroupMBID() != releaseInfo.groupMBID)
|
||||
release.modify()->setGroupMBID(releaseInfo.groupMBID);
|
||||
if (release->getTotalDisc() != releaseInfo.mediumCount)
|
||||
|
||||
@@ -117,7 +117,7 @@ namespace lms::ui
|
||||
{
|
||||
Release::FindParameters params;
|
||||
params.setFilters(getDbFilters());
|
||||
params.setSortMethod(ReleaseSortMethod::Name);
|
||||
params.setSortMethod(ReleaseSortMethod::SortName);
|
||||
params.setKeywords(getSearchKeywords());
|
||||
params.setRange(range);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user