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