From c34ee3633e854b9bf7539b9e8adee5c5922f6e18 Mon Sep 17 00:00:00 2001 From: PhilKes Date: Wed, 7 May 2025 18:19:35 +0200 Subject: [PATCH] Add setting to hide images in overview --- .../activity/main/fragment/NotallyFragment.kt | 1 + .../main/fragment/settings/SettingsFragment.kt | 11 +++++++++++ .../presentation/activity/note/PickNoteActivity.kt | 1 + .../notallyx/presentation/view/main/BaseNoteVH.kt | 4 ++-- .../viewmodel/preference/NotallyXPreferences.kt | 8 ++++++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt index 185ad2b6..0982b01d 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt @@ -237,6 +237,7 @@ abstract class NotallyFragment : Fragment(), ItemListener { maxLines.value, maxTitle.value, labelTagsHiddenInOverview.value, + imagesHiddenInOverview.value, ), model.imageRoot, this@NotallyFragment, diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/settings/SettingsFragment.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/settings/SettingsFragment.kt index d41aac0a..6ef2cf40 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/settings/SettingsFragment.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/settings/SettingsFragment.kt @@ -351,6 +351,17 @@ class SettingsFragment : Fragment() { model.savePreference(labelTagsHiddenInOverview, enabled) } } + imagesHiddenInOverview.observe(viewLifecycleOwner) { value -> + binding.ImagesHiddenInOverview.setup( + imagesHiddenInOverview, + value, + requireContext(), + layoutInflater, + R.string.images_hidden_in_overview, + ) { enabled -> + model.savePreference(imagesHiddenInOverview, enabled) + } + } } } diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/note/PickNoteActivity.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/note/PickNoteActivity.kt index cf73dc6f..c1046619 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/note/PickNoteActivity.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/note/PickNoteActivity.kt @@ -52,6 +52,7 @@ open class PickNoteActivity : LockedActivity(), ItemLis maxLines.value, maxTitle.value, labelTagsHiddenInOverview.value, + imagesHiddenInOverview.value, ), application.getExternalImagesDirectory(), this@PickNoteActivity, diff --git a/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt b/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt index 1887e8c2..8c59bfc1 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt @@ -45,6 +45,7 @@ data class BaseNoteVHPreferences( val maxLines: Int, val maxTitleLines: Int, val hideLabels: Boolean, + val hideImages: Boolean, ) class BaseNoteVH( @@ -209,9 +210,8 @@ class BaseNoteVH( } private fun setImages(images: List, mediaRoot: File?) { - binding.apply { - if (images.isNotEmpty()) { + if (images.isNotEmpty() && !preferences.hideImages) { ImageView.visibility = VISIBLE Message.visibility = GONE diff --git a/app/src/main/java/com/philkes/notallyx/presentation/viewmodel/preference/NotallyXPreferences.kt b/app/src/main/java/com/philkes/notallyx/presentation/viewmodel/preference/NotallyXPreferences.kt index 6a80b255..8cce7f00 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/viewmodel/preference/NotallyXPreferences.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/viewmodel/preference/NotallyXPreferences.kt @@ -84,6 +84,13 @@ class NotallyXPreferences private constructor(private val context: Context) { false, R.string.labels_hidden_in_overview_title, ) + val imagesHiddenInOverview = + BooleanPreference( + "imagesHiddenInOverview", + preferences, + false, + R.string.images_hidden_in_overview_title, + ) val maxLabels = IntPreference( "maxLabelsInNavigation", @@ -233,6 +240,7 @@ class NotallyXPreferences private constructor(private val context: Context) { backupPassword, backupOnSave, autoSaveAfterIdleTime, + imagesHiddenInOverview, ) .forEach { it.refresh() } }