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