diff --git a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
index c5e752283..7c04bf87a 100644
--- a/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
+++ b/app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
@@ -302,6 +302,7 @@ private fun MangaScreenSmallImpl(
onRecommendClicked = onRecommendClicked,
showMergeSettings = state.manga.source == MERGED_SOURCE_ID,
onMergedSettingsClicked = onMergedSettingsClicked,
+ onMergeClicked = onMergeClicked.takeIf { state.showMergeInOverflow },
// SY <--
actionModeCounter = chapters.count { it.selected },
onSelectAll = { onAllChapterSelected(true) },
@@ -404,7 +405,7 @@ private fun MangaScreenSmallImpl(
onTrackingClicked = onTrackingClicked,
onEditCategory = onEditCategoryClicked,
// SY -->
- onMergeClicked = onMergeClicked,
+ onMergeClicked = onMergeClicked.takeUnless { state.showMergeInOverflow },
// SY <--
)
}
@@ -597,6 +598,7 @@ fun MangaScreenLargeImpl(
onRecommendClicked = onRecommendClicked,
showMergeSettings = state.manga.source == MERGED_SOURCE_ID,
onMergedSettingsClicked = onMergedSettingsClicked,
+ onMergeClicked = onMergeClicked.takeIf { state.showMergeInOverflow },
// SY <--
actionModeCounter = chapters.count { it.selected },
onSelectAll = { onAllChapterSelected(true) },
@@ -678,7 +680,7 @@ fun MangaScreenLargeImpl(
onTrackingClicked = onTrackingClicked,
onEditCategory = onEditCategoryClicked,
// SY -->
- onMergeClicked = onMergeClicked,
+ onMergeClicked = onMergeClicked.takeUnless { state.showMergeInOverflow },
// SY <--
)
// SY -->
diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaAppBar.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaAppBar.kt
index f63b3754b..500cc5538 100644
--- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaAppBar.kt
+++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaAppBar.kt
@@ -55,6 +55,7 @@ fun MangaAppBar(
onEditInfoClicked: () -> Unit,
showRecommends: Boolean,
onRecommendClicked: () -> Unit,
+ onMergeClicked: (() -> Unit)?,
showMergeSettings: Boolean,
onMergedSettingsClicked: () -> Unit,
// SY <--
@@ -205,6 +206,15 @@ fun MangaAppBar(
},
)
}
+ if (onMergeClicked != null) {
+ DropdownMenuItem(
+ text = { Text(text = stringResource(R.string.merge)) },
+ onClick = {
+ onMergeClicked()
+ onDismissRequest()
+ },
+ )
+ }
if (showEditInfo) {
DropdownMenuItem(
text = { Text(text = stringResource(R.string.action_edit_info)) },
diff --git a/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt b/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
index 860d85a42..00f4dd6a4 100644
--- a/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
+++ b/app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
@@ -163,7 +163,7 @@ fun MangaActionRow(
onTrackingClicked: (() -> Unit)?,
onEditCategory: (() -> Unit)?,
// SY -->
- onMergeClicked: () -> Unit,
+ onMergeClicked: (() -> Unit)?,
// SY <--
) {
Row(modifier = modifier.padding(start = 16.dp, top = 8.dp, end = 16.dp)) {
@@ -200,12 +200,14 @@ fun MangaActionRow(
)
}
// SY -->
- MangaActionButton(
- title = stringResource(R.string.merge),
- icon = Icons.Outlined.CallMerge,
- color = defaultActionButtonColor,
- onClick = onMergeClicked,
- )
+ if (onMergeClicked != null) {
+ MangaActionButton(
+ title = stringResource(R.string.merge),
+ icon = Icons.Outlined.CallMerge,
+ color = defaultActionButtonColor,
+ onClick = onMergeClicked,
+ )
+ }
// SY <--
}
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
index 60cab7072..276bc775f 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
@@ -453,6 +453,8 @@ class PreferencesHelper(val context: Context) {
fun recommendsInOverflow() = flowPrefs.getBoolean("recommends_in_overflow", false)
+ fun mergeInOverflow() = flowPrefs.getBoolean("merge_in_overflow", false)
+
fun enhancedEHentaiView() = flowPrefs.getBoolean("enhanced_e_hentai_view", true)
fun webtoonEnableZoomOut() = flowPrefs.getBoolean("webtoon_enable_zoom_out", false)
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
index 56177fd28..179302971 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
@@ -271,6 +271,7 @@ class MangaPresenter(
isDownloadedOnlyMode = downloadedOnlyMode,
// SY -->
showRecommendationsInOverflow = preferences.recommendsInOverflow().get(),
+ showMergeInOverflow = preferences.mergeInOverflow().get(),
showMergeWithAnother = smartSearched,
mergedData = null,
meta = null,
@@ -1539,6 +1540,7 @@ sealed class MangaScreenState {
val meta: RaisedSearchMetadata?,
val mergedData: MergedMangaData?,
val showRecommendationsInOverflow: Boolean,
+ val showMergeInOverflow: Boolean,
val showMergeWithAnother: Boolean,
val pagePreviewsState: PagePreviewState,
// SY <--
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
index d232308bc..0ce607208 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt
@@ -106,6 +106,12 @@ class SettingsGeneralController : SettingsController() {
titleRes = R.string.put_recommends_in_overflow
summaryRes = R.string.put_recommends_in_overflow_summary
}
+
+ switchPreference {
+ bindTo(preferences.mergeInOverflow())
+ titleRes = R.string.put_merge_in_overflow
+ summaryRes = R.string.put_merge_in_overflow_summary
+ }
}
// <-- EXH
}
diff --git a/app/src/main/res/values/strings_sy.xml b/app/src/main/res/values/strings_sy.xml
index 790c10625..b18ebf93f 100644
--- a/app/src/main/res/values/strings_sy.xml
+++ b/app/src/main/res/values/strings_sy.xml
@@ -174,6 +174,8 @@
Use HIGHLY EXPERIMENTAL automatic ReCAPTCHA solver. Will be grayed out if unsupported by your device.
Recommendations in overflow
Put the recommendations button in the overflow menu instead of on the manga page
+ Merge in overflow
+ Put the merge button in the overflow menu instead of on the manga page
Navbar