mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Remove insert page when dual page split get turned off (#4739)
This commit is contained in:
		| @@ -20,6 +20,8 @@ class PagerConfig( | ||||
|     preferences: PreferencesHelper = Injekt.get() | ||||
| ) : ViewerConfig(preferences, scope) { | ||||
|  | ||||
|     var dualPageSplitChangedListener: ((Boolean) -> Unit)? = null | ||||
|  | ||||
|     var imageScaleType = 1 | ||||
|         private set | ||||
|  | ||||
| @@ -52,7 +54,13 @@ class PagerConfig( | ||||
|             ) | ||||
|  | ||||
|         preferences.dualPageSplitPaged() | ||||
|             .register({ dualPageSplit = it }, { imagePropertyChangedListener?.invoke() }) | ||||
|             .register( | ||||
|                 { dualPageSplit = it }, | ||||
|                 { | ||||
|                     imagePropertyChangedListener?.invoke() | ||||
|                     dualPageSplitChangedListener?.invoke(it) | ||||
|                 } | ||||
|             ) | ||||
|  | ||||
|         preferences.dualPageInvertPaged() | ||||
|             .register({ dualPageInvert = it }, { imagePropertyChangedListener?.invoke() }) | ||||
|   | ||||
| @@ -116,6 +116,12 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer { | ||||
|             false | ||||
|         } | ||||
|  | ||||
|         config.dualPageSplitChangedListener = { enabled -> | ||||
|             if (!enabled) { | ||||
|                 cleanupPageSplit() | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         config.imagePropertyChangedListener = { | ||||
|             refreshAdapter() | ||||
|         } | ||||
| @@ -381,4 +387,8 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer { | ||||
|     fun onPageSplit(currentPage: ReaderPage, newPage: InsertPage) { | ||||
|         adapter.onPageSplit(currentPage, newPage, this::class.java) | ||||
|     } | ||||
|  | ||||
|     private fun cleanupPageSplit() { | ||||
|         adapter.cleanupPageSplit() | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -151,4 +151,10 @@ class PagerViewerAdapter(private val viewer: PagerViewer) : ViewPagerAdapter() { | ||||
|  | ||||
|         notifyDataSetChanged() | ||||
|     } | ||||
|  | ||||
|     fun cleanupPageSplit() { | ||||
|         val insertPages = items.filterIsInstance(InsertPage::class.java) | ||||
|         items.removeAll(insertPages) | ||||
|         notifyDataSetChanged() | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user