mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Add crop borders functionality, #219
This commit is contained in:
		| @@ -41,6 +41,8 @@ class PreferenceKeys(context: Context) { | ||||
|  | ||||
|     val readerTheme = context.getString(R.string.pref_reader_theme_key) | ||||
|  | ||||
|     val cropBorders = context.getString(R.string.pref_crop_borders_key) | ||||
|  | ||||
|     val readWithTapping = context.getString(R.string.pref_read_with_tapping_key) | ||||
|  | ||||
|     val readWithVolumeKeys = context.getString(R.string.pref_read_with_volume_keys_key) | ||||
|   | ||||
| @@ -34,7 +34,7 @@ class PreferencesHelper(val context: Context) { | ||||
|  | ||||
|     fun rotation() = rxPrefs.getInteger(keys.rotation, 1) | ||||
|  | ||||
|     fun enableTransitions() = rxPrefs.getBoolean(keys.enableTransitions, true) | ||||
|     fun pageTransitions() = rxPrefs.getBoolean(keys.enableTransitions, true) | ||||
|  | ||||
|     fun showPageNumber() = rxPrefs.getBoolean(keys.showPageNumber, true) | ||||
|  | ||||
| @@ -60,6 +60,8 @@ class PreferencesHelper(val context: Context) { | ||||
|  | ||||
|     fun readerTheme() = rxPrefs.getInteger(keys.readerTheme, 0) | ||||
|  | ||||
|     fun cropBorders() = rxPrefs.getBoolean(keys.cropBorders, false) | ||||
|  | ||||
|     fun readWithTapping() = rxPrefs.getBoolean(keys.readWithTapping, true) | ||||
|  | ||||
|     fun readWithVolumeKeys() = rxPrefs.getBoolean(keys.readWithVolumeKeys, false) | ||||
|   | ||||
| @@ -83,6 +83,11 @@ class ReaderSettingsDialog : DialogFragment() { | ||||
|         fullscreen.setOnCheckedChangeListener { v, isChecked -> | ||||
|             preferences.fullscreen().set(isChecked) | ||||
|         } | ||||
|  | ||||
|         crop_borders.isChecked = preferences.cropBorders().getOrDefault() | ||||
|         crop_borders.setOnCheckedChangeListener { v, isChecked -> | ||||
|             preferences.cropBorders().set(isChecked) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override fun onDestroyView() { | ||||
|   | ||||
| @@ -70,6 +70,7 @@ class PageView @JvmOverloads constructor(context: Context, attrs: AttributeSet? | ||||
|             setRegionDecoderClass(reader.regionDecoderClass) | ||||
|             setBitmapDecoderClass(reader.bitmapDecoderClass) | ||||
|             setVerticalScrollingParent(reader is VerticalReader) | ||||
|             setCropBorders(reader.cropBorders) | ||||
|             setOnTouchListener { v, motionEvent -> reader.gestureDetector.onTouchEvent(motionEvent) } | ||||
|             setOnLongClickListener { reader.onLongClick(page) } | ||||
|             setOnImageEventListener(object : SubsamplingScaleImageView.DefaultOnImageEventListener() { | ||||
|   | ||||
| @@ -79,6 +79,12 @@ abstract class PagerReader : BaseReader() { | ||||
|     var transitions: Boolean = false | ||||
|         private set | ||||
|  | ||||
|     /** | ||||
|      * Whether to crop image borders. | ||||
|      */ | ||||
|     var cropBorders: Boolean = false | ||||
|         private set | ||||
|  | ||||
|     /** | ||||
|      * Scale type (fit width, fit screen, etc). | ||||
|      */ | ||||
| @@ -150,9 +156,16 @@ abstract class PagerReader : BaseReader() { | ||||
|                     .distinctUntilChanged() | ||||
|                     .subscribe { refreshAdapter() }) | ||||
|  | ||||
|             add(preferences.enableTransitions() | ||||
|             add(preferences.pageTransitions() | ||||
|                     .asObservable() | ||||
|                     .subscribe { transitions = it }) | ||||
|  | ||||
|             add(preferences.cropBorders() | ||||
|                     .asObservable() | ||||
|                     .doOnNext { cropBorders = it } | ||||
|                     .skip(1) | ||||
|                     .distinctUntilChanged() | ||||
|                     .subscribe { refreshAdapter() }) | ||||
|         } | ||||
|  | ||||
|         setPagesOnAdapter() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user