mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Add option to sort library by source. (#985)
* Add option to sort library by source. * Implement change suggested by NoodleMage.
This commit is contained in:
		
				
					committed by
					
						 Bram van de Kerkhof
						Bram van de Kerkhof
					
				
			
			
				
	
			
			
			
						parent
						
							b85c164195
						
					
				
				
					commit
					74fd70416f
				
			| @@ -117,7 +117,9 @@ class LibraryNavigationView @JvmOverloads constructor(context: Context, attrs: A | ||||
|  | ||||
|         private val unread = Item.MultiSort(R.string.action_filter_unread, this) | ||||
|  | ||||
|         override val items = listOf(alphabetically, lastRead, lastUpdated, unread, total) | ||||
|         private val source = Item.MultiSort(R.string.manga_info_source_label, this) | ||||
|  | ||||
|         override val items = listOf(alphabetically, lastRead, lastUpdated, unread, total, source) | ||||
|  | ||||
|         override val header = Item.Header(R.string.action_sort) | ||||
|  | ||||
| @@ -133,6 +135,7 @@ class LibraryNavigationView @JvmOverloads constructor(context: Context, attrs: A | ||||
|             lastUpdated.state = if (sorting == LibrarySort.LAST_UPDATED) order else SORT_NONE | ||||
|             unread.state = if (sorting == LibrarySort.UNREAD) order else SORT_NONE | ||||
|             total.state = if (sorting == LibrarySort.TOTAL) order else SORT_NONE | ||||
|             source.state = if (sorting == LibrarySort.SOURCE) order else SORT_NONE | ||||
|         } | ||||
|  | ||||
|         override fun onItemClicked(item: Item) { | ||||
| @@ -153,6 +156,7 @@ class LibraryNavigationView @JvmOverloads constructor(context: Context, attrs: A | ||||
|                 lastUpdated -> LibrarySort.LAST_UPDATED | ||||
|                 unread -> LibrarySort.UNREAD | ||||
|                 total -> LibrarySort.TOTAL | ||||
|                 source -> LibrarySort.SOURCE | ||||
|                 else -> throw Exception("Unknown sorting") | ||||
|             }) | ||||
|             preferences.librarySortingAscending().set(if (item.state == SORT_ASC) true else false) | ||||
|   | ||||
| @@ -174,6 +174,11 @@ class LibraryPresenter( | ||||
|                     val mange2TotalChapter = totalChapterManga[manga2.id!!] ?: 0 | ||||
|                     manga1TotalChapter.compareTo(mange2TotalChapter) | ||||
|                 } | ||||
|                 LibrarySort.SOURCE -> { | ||||
|                     val source1Name = sourceManager.get(manga1.source)?.name ?: "" | ||||
|                     val source2Name = sourceManager.get(manga2.source)?.name ?: "" | ||||
|                     source1Name.compareTo(source2Name) | ||||
|                 } | ||||
|                 else -> throw Exception("Unknown sorting mode") | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -7,4 +7,5 @@ object LibrarySort { | ||||
|     const val LAST_UPDATED = 2 | ||||
|     const val UNREAD = 3 | ||||
|     const val TOTAL = 4 | ||||
|     const val SOURCE = 5 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user