From 74c9fa94886bcc26e611d8293b874c9a8ec77c72 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 16 Apr 2022 14:54:31 +0300 Subject: [PATCH] Option to save manga from history and favourites lists --- .../ui/list/FavouritesListFragment.kt | 8 ++++++++ .../kotatsu/history/ui/HistoryListFragment.kt | 8 ++++++++ app/src/main/res/menu/mode_favourites.xml | 6 ++++++ app/src/main/res/menu/mode_history.xml | 18 ++++++++++++------ 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListFragment.kt index 1bfd8766a..f2748622c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/list/FavouritesListFragment.kt @@ -7,6 +7,7 @@ import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.parameter.parametersOf import org.koitharu.kotatsu.R import org.koitharu.kotatsu.list.ui.MangaListFragment +import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.utils.ext.withArgs class FavouritesListFragment : MangaListFragment() { @@ -27,6 +28,13 @@ class FavouritesListFragment : MangaListFragment() { return super.onCreateActionMode(mode, menu) } + override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean { + menu.findItem(R.id.action_save)?.isVisible = selectedItems.none { + it.source == MangaSource.LOCAL + } + return super.onPrepareActionMode(mode, menu) + } + override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { return when (item.itemId) { R.id.action_remove -> { diff --git a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt index bdc5cc5c2..6980b80ee 100644 --- a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt @@ -10,6 +10,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder import org.koin.androidx.viewmodel.ext.android.viewModel import org.koitharu.kotatsu.R import org.koitharu.kotatsu.list.ui.MangaListFragment +import org.koitharu.kotatsu.parsers.model.MangaSource class HistoryListFragment : MangaListFragment() { @@ -61,6 +62,13 @@ class HistoryListFragment : MangaListFragment() { return super.onCreateActionMode(mode, menu) } + override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean { + menu.findItem(R.id.action_save)?.isVisible = selectedItems.none { + it.source == MangaSource.LOCAL + } + return super.onPrepareActionMode(mode, menu) + } + override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { return when (item.itemId) { R.id.action_remove -> { diff --git a/app/src/main/res/menu/mode_favourites.xml b/app/src/main/res/menu/mode_favourites.xml index 8718fee23..a9aabe62e 100644 --- a/app/src/main/res/menu/mode_favourites.xml +++ b/app/src/main/res/menu/mode_favourites.xml @@ -15,6 +15,12 @@ android:title="@string/remove" app:showAsAction="ifRoom|withText" /> + + - - + + + + \ No newline at end of file