From 2cf08f74db05dd488161e5234b0b4393b925d75c Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 24 Jun 2022 14:10:51 +0300 Subject: [PATCH] Option to disable all sources --- .../kotatsu/settings/sources/SourcesSettingsFragment.kt | 8 +++++++- .../kotatsu/settings/sources/SourcesSettingsViewModel.kt | 8 ++++++++ app/src/main/res/menu/opt_sources.xml | 5 +++++ app/src/main/res/values/strings.xml | 1 + 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt index e8044fdde..10453c27e 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsFragment.kt @@ -106,7 +106,13 @@ class SourcesSettingsFragment : searchView.queryHint = searchMenuItem.title } - override fun onMenuItemSelected(menuItem: MenuItem): Boolean = false + override fun onMenuItemSelected(menuItem: MenuItem): Boolean = when (menuItem.itemId) { + R.id.action_disable_all -> { + viewModel.disableAll() + true + } + else -> false + } override fun onMenuItemActionExpand(item: MenuItem?): Boolean { (activity as? AppBarOwner)?.appBar?.setExpanded(false, true) diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsViewModel.kt index da3eba14f..3a5340fe8 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/sources/SourcesSettingsViewModel.kt @@ -7,6 +7,7 @@ import org.koitharu.kotatsu.base.ui.BaseViewModel import org.koitharu.kotatsu.core.model.getLocaleTitle import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.parsers.model.MangaSource +import org.koitharu.kotatsu.parsers.util.mapToSet import org.koitharu.kotatsu.parsers.util.toTitleCase import org.koitharu.kotatsu.settings.sources.model.SourceConfigItem import org.koitharu.kotatsu.utils.ext.map @@ -58,6 +59,13 @@ class SourcesSettingsViewModel( buildList() } + fun disableAll() { + settings.hiddenSources = settings.getMangaSources(includeHidden = true).mapToSet { + it.name + } + buildList() + } + fun expandOrCollapse(headerId: String?) { if (headerId in expandedGroups) { expandedGroups.remove(headerId) diff --git a/app/src/main/res/menu/opt_sources.xml b/app/src/main/res/menu/opt_sources.xml index 0f0d58fbd..9ec1bc4f0 100644 --- a/app/src/main/res/menu/opt_sources.xml +++ b/app/src/main/res/menu/opt_sources.xml @@ -10,4 +10,9 @@ app:actionViewClass="androidx.appcompat.widget.SearchView" app:showAsAction="ifRoom|collapseActionView" /> + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f056fd617..8a011dc59 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -300,4 +300,5 @@ Helps with background updates checks Something went wrong. Please submit a bug report to the developers to help us fix it. Send + Disable all \ No newline at end of file