mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Fix EH version/chapter sorting shenanigans
This commit is contained in:
		@@ -198,6 +198,4 @@ object PreferenceKeys {
 | 
			
		||||
    const val eh_aggressivePageLoading = "eh_aggressive_page_loading"
 | 
			
		||||
 | 
			
		||||
    const val eh_hl_useHighQualityThumbs = "eh_hl_hq_thumbs"
 | 
			
		||||
 | 
			
		||||
    const val eh_forceSortEhVersionsAsc = "eh_force_sort_eh_versions_asc"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -271,6 +271,4 @@ class PreferencesHelper(val context: Context) {
 | 
			
		||||
    fun eh_aggressivePageLoading() = rxPrefs.getBoolean(Keys.eh_aggressivePageLoading, false)
 | 
			
		||||
 | 
			
		||||
    fun eh_hl_useHighQualityThumbs() = rxPrefs.getBoolean(Keys.eh_hl_useHighQualityThumbs, false)
 | 
			
		||||
 | 
			
		||||
    fun eh_forceSortEhVersionsAsc() = rxPrefs.getBoolean(Keys.eh_forceSortEhVersionsAsc, true)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -185,7 +185,7 @@ class EHentai(override val id: Long,
 | 
			
		||||
                }!!.nextElementSibling().text()).time
 | 
			
		||||
            }
 | 
			
		||||
            // Build and append the rest of the galleries
 | 
			
		||||
            listOf(self) + newDisplay.mapIndexed { index, newGallery ->
 | 
			
		||||
            newDisplay.mapIndexed { index, newGallery ->
 | 
			
		||||
                val link = newGallery.attr("href")
 | 
			
		||||
                val name = newGallery.text()
 | 
			
		||||
                val posted = (newGallery.nextSibling() as TextNode).text().removePrefix(", added ")
 | 
			
		||||
@@ -195,7 +195,7 @@ class EHentai(override val id: Long,
 | 
			
		||||
                    this.chapter_number = index + 2f
 | 
			
		||||
                    this.date_upload = EX_DATE_FORMAT.parse(posted).time
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            }.reversed() + self
 | 
			
		||||
        }.toObservable()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -146,8 +146,6 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
 | 
			
		||||
        val menuFilterUnread = menu.findItem(R.id.action_filter_unread)
 | 
			
		||||
        val menuFilterDownloaded = menu.findItem(R.id.action_filter_downloaded)
 | 
			
		||||
        val menuFilterBookmarked = menu.findItem(R.id.action_filter_bookmarked)
 | 
			
		||||
        val menuSort = menu.findItem(R.id.action_sort)
 | 
			
		||||
        val menuSortingMode = menu.findItem(R.id.action_sorting_mode)
 | 
			
		||||
 | 
			
		||||
        // Set correct checkbox values.
 | 
			
		||||
        menuFilterRead.isChecked = presenter.onlyRead()
 | 
			
		||||
@@ -155,10 +153,6 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
 | 
			
		||||
        menuFilterDownloaded.isChecked = presenter.onlyDownloaded()
 | 
			
		||||
        menuFilterBookmarked.isChecked = presenter.onlyBookmarked()
 | 
			
		||||
 | 
			
		||||
        val showSortOptions = !presenter.isSortingForced()
 | 
			
		||||
        menuSort.isVisible = showSortOptions
 | 
			
		||||
        menuSortingMode.isVisible = showSortOptions
 | 
			
		||||
 | 
			
		||||
        if (presenter.onlyRead())
 | 
			
		||||
            //Disable unread filter option if read filter is enabled.
 | 
			
		||||
            menuFilterUnread.isEnabled = false
 | 
			
		||||
@@ -419,8 +413,7 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
 | 
			
		||||
 | 
			
		||||
    private fun markPreviousAsRead(chapter: ChapterItem) {
 | 
			
		||||
        val adapter = adapter ?: return
 | 
			
		||||
        val chapters = if (presenter.sortDescending()
 | 
			
		||||
                || presenter.isSortingForced()) adapter.items.reversed() else adapter.items
 | 
			
		||||
        val chapters = if (presenter.sortDescending()) adapter.items.reversed() else adapter.items
 | 
			
		||||
        val chapterPos = chapters.indexOf(chapter)
 | 
			
		||||
        if (chapterPos != -1) {
 | 
			
		||||
            markAsRead(chapters.take(chapterPos))
 | 
			
		||||
 
 | 
			
		||||
@@ -447,10 +447,6 @@ class ChaptersPresenter(
 | 
			
		||||
     * Whether the sorting method is descending or ascending.
 | 
			
		||||
     */
 | 
			
		||||
    fun sortDescending(): Boolean {
 | 
			
		||||
        return !isSortingForced() && manga.sortDescending()
 | 
			
		||||
        return manga.sortDescending()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fun isSortingForced() = source.isEhBasedSource()
 | 
			
		||||
                && preferences.eh_forceSortEhVersionsAsc().getOrDefault()
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -157,12 +157,6 @@ class SettingsEhController : SettingsController() {
 | 
			
		||||
            onChange { preferences.imageQuality().reconfigure() }
 | 
			
		||||
        }.dependency = PreferenceKeys.eh_enableExHentai
 | 
			
		||||
 | 
			
		||||
        switchPreference {
 | 
			
		||||
            title = "Force ascending sort on gallery versions"
 | 
			
		||||
            key = PreferenceKeys.eh_forceSortEhVersionsAsc
 | 
			
		||||
            defaultValue = true
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        preferenceCategory {
 | 
			
		||||
            title = "Favorites sync"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user