Add ability to sort library by date added (closes #1287)

This commit is contained in:
arkon
2020-07-10 13:08:21 -04:00
parent 339169b624
commit 1813dbbf59
14 changed files with 74 additions and 5 deletions
@@ -218,6 +218,7 @@ class LibraryPresenter(
?: latestChapterManga.size
manga1latestChapter.compareTo(manga2latestChapter)
}
LibrarySort.DATE_ADDED -> i2.manga.date_added.compareTo(i1.manga.date_added)
else -> throw Exception("Unknown sorting mode")
}
}
@@ -111,10 +111,11 @@ class LibrarySettingsSheet(
private val lastChecked = Item.MultiSort(R.string.action_sort_last_checked, this)
private val unread = Item.MultiSort(R.string.action_filter_unread, this)
private val latestChapter = Item.MultiSort(R.string.action_sort_latest_chapter, this)
private val dateAdded = Item.MultiSort(R.string.action_sort_date_added, this)
override val header = null
override val items =
listOf(alphabetically, lastRead, lastChecked, unread, total, latestChapter)
listOf(alphabetically, lastRead, lastChecked, unread, total, latestChapter, dateAdded)
override val footer = null
override fun initModels() {
@@ -133,9 +134,12 @@ class LibrarySettingsSheet(
if (sorting == LibrarySort.LAST_CHECKED) order else Item.MultiSort.SORT_NONE
unread.state =
if (sorting == LibrarySort.UNREAD) order else Item.MultiSort.SORT_NONE
total.state = if (sorting == LibrarySort.TOTAL) order else Item.MultiSort.SORT_NONE
total.state =
if (sorting == LibrarySort.TOTAL) order else Item.MultiSort.SORT_NONE
latestChapter.state =
if (sorting == LibrarySort.LATEST_CHAPTER) order else Item.MultiSort.SORT_NONE
dateAdded.state =
if (sorting == LibrarySort.DATE_ADDED) order else Item.MultiSort.SORT_NONE
}
override fun onItemClicked(item: Item) {
@@ -161,6 +165,7 @@ class LibrarySettingsSheet(
unread -> LibrarySort.UNREAD
total -> LibrarySort.TOTAL
latestChapter -> LibrarySort.LATEST_CHAPTER
dateAdded -> LibrarySort.DATE_ADDED
else -> throw Exception("Unknown sorting")
}
)
@@ -8,6 +8,7 @@ object LibrarySort {
const val UNREAD = 3
const val TOTAL = 4
const val LATEST_CHAPTER = 6
const val DATE_ADDED = 7
@Deprecated("Removed in favor of searching by source")
const val SOURCE = 5