feat: Change name of Preferences > Filters > Tabs and move them to Account Preferences(#3536) (#4115)
# Overview In the previous code, when you open preferences, there is a section headed "Filters" with a section called "Tabs" This is confusing. # Changes - Change the section title from "Filters" to "Per-timeline preferences." - Change the current "Tabs" section to "Home timeline" since it is only for home timelines # Screenshots account preference screen | detail screen :--: | :--: |<image src="https://github.com/tuskyapp/Tusky/assets/62137820/12694f24-b7e3-4ba3-90f5-53740e9c4269" width="250" />|<image src="https://github.com/tuskyapp/Tusky/assets/62137820/796e9ac1-76d6-43ef-a087-a1cd2d899ef8" width="250" /> # Note - Maybe string resources should have a new property? (for translation) # Related link Fixes #3536 --------- Co-authored-by: mcc <andi.m.mcclure@gmail.com>
This commit is contained in:
parent
966ba38dbe
commit
e8e7bad110
12 changed files with 59 additions and 22 deletions
|
|
@ -267,6 +267,12 @@ class AccountPreferencesFragment : PreferenceFragmentCompat(), Injectable {
|
|||
preferenceDataStore = accountPreferenceDataStore
|
||||
}
|
||||
}
|
||||
preferenceCategory(R.string.pref_title_per_timeline_preferences) {
|
||||
preference {
|
||||
setTitle(R.string.pref_title_post_tabs)
|
||||
fragment = TabFilterPreferencesFragment::class.qualifiedName
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -246,13 +246,6 @@ class PreferencesFragment : PreferenceFragmentCompat(), Injectable {
|
|||
}
|
||||
}
|
||||
|
||||
preferenceCategory(R.string.pref_title_timeline_filters) {
|
||||
preference {
|
||||
setTitle(R.string.pref_title_post_tabs)
|
||||
fragment = TabFilterPreferencesFragment::class.qualifiedName
|
||||
}
|
||||
}
|
||||
|
||||
preferenceCategory(R.string.pref_title_wellbeing_mode) {
|
||||
switchPreference {
|
||||
title = getString(R.string.limit_notifications)
|
||||
|
|
|
|||
|
|
@ -18,12 +18,19 @@ package com.keylesspalace.tusky.components.preference
|
|||
import android.os.Bundle
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import com.keylesspalace.tusky.R
|
||||
import com.keylesspalace.tusky.di.Injectable
|
||||
import com.keylesspalace.tusky.settings.AccountPreferenceDataStore
|
||||
import com.keylesspalace.tusky.settings.PrefKeys
|
||||
import com.keylesspalace.tusky.settings.makePreferenceScreen
|
||||
import com.keylesspalace.tusky.settings.preferenceCategory
|
||||
import com.keylesspalace.tusky.settings.switchPreference
|
||||
import javax.inject.Inject
|
||||
|
||||
class TabFilterPreferencesFragment : PreferenceFragmentCompat(), Injectable {
|
||||
|
||||
@Inject
|
||||
lateinit var accountPreferenceDataStore: AccountPreferenceDataStore
|
||||
|
||||
class TabFilterPreferencesFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
makePreferenceScreen {
|
||||
preferenceCategory(R.string.title_home) { category ->
|
||||
|
|
@ -32,14 +39,14 @@ class TabFilterPreferencesFragment : PreferenceFragmentCompat() {
|
|||
switchPreference {
|
||||
setTitle(R.string.pref_title_show_boosts)
|
||||
key = PrefKeys.TAB_FILTER_HOME_BOOSTS
|
||||
setDefaultValue(true)
|
||||
preferenceDataStore = accountPreferenceDataStore
|
||||
isIconSpaceReserved = false
|
||||
}
|
||||
|
||||
switchPreference {
|
||||
setTitle(R.string.pref_title_show_replies)
|
||||
key = PrefKeys.TAB_FILTER_HOME_REPLIES
|
||||
setDefaultValue(true)
|
||||
preferenceDataStore = accountPreferenceDataStore
|
||||
isIconSpaceReserved = false
|
||||
}
|
||||
|
||||
|
|
@ -47,7 +54,7 @@ class TabFilterPreferencesFragment : PreferenceFragmentCompat() {
|
|||
setTitle(R.string.pref_title_show_self_boosts)
|
||||
setSummary(R.string.pref_title_show_self_boosts_description)
|
||||
key = PrefKeys.TAB_SHOW_HOME_SELF_BOOSTS
|
||||
setDefaultValue(true)
|
||||
preferenceDataStore = accountPreferenceDataStore
|
||||
isIconSpaceReserved = false
|
||||
}.apply { dependency = PrefKeys.TAB_FILTER_HOME_BOOSTS }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,11 +89,11 @@ abstract class TimelineViewModel(
|
|||
if (kind == Kind.HOME) {
|
||||
// Note the variable is "true if filter" but the underlying preference/settings text is "true if show"
|
||||
filterRemoveReplies =
|
||||
!sharedPreferences.getBoolean(PrefKeys.TAB_FILTER_HOME_REPLIES, true)
|
||||
!(accountManager.activeAccount?.isShowHomeBoosts ?: true)
|
||||
filterRemoveReblogs =
|
||||
!sharedPreferences.getBoolean(PrefKeys.TAB_FILTER_HOME_BOOSTS, true)
|
||||
!(accountManager.activeAccount?.isShowHomeReplies ?: true)
|
||||
filterRemoveSelfReblogs =
|
||||
!sharedPreferences.getBoolean(PrefKeys.TAB_SHOW_HOME_SELF_BOOSTS, true)
|
||||
!(accountManager.activeAccount?.isShowHomeSelfBoosts ?: true)
|
||||
}
|
||||
readingOrder = ReadingOrder.from(sharedPreferences.getString(PrefKeys.READING_ORDER, null))
|
||||
|
||||
|
|
@ -201,7 +201,7 @@ abstract class TimelineViewModel(
|
|||
private fun onPreferenceChanged(key: String) {
|
||||
when (key) {
|
||||
PrefKeys.TAB_FILTER_HOME_REPLIES -> {
|
||||
val filter = sharedPreferences.getBoolean(PrefKeys.TAB_FILTER_HOME_REPLIES, true)
|
||||
val filter = accountManager.activeAccount?.isShowHomeReplies ?: true
|
||||
val oldRemoveReplies = filterRemoveReplies
|
||||
filterRemoveReplies = kind == Kind.HOME && !filter
|
||||
if (oldRemoveReplies != filterRemoveReplies) {
|
||||
|
|
@ -209,7 +209,7 @@ abstract class TimelineViewModel(
|
|||
}
|
||||
}
|
||||
PrefKeys.TAB_FILTER_HOME_BOOSTS -> {
|
||||
val filter = sharedPreferences.getBoolean(PrefKeys.TAB_FILTER_HOME_BOOSTS, true)
|
||||
val filter = accountManager.activeAccount?.isShowHomeBoosts ?: true
|
||||
val oldRemoveReblogs = filterRemoveReblogs
|
||||
filterRemoveReblogs = kind == Kind.HOME && !filter
|
||||
if (oldRemoveReblogs != filterRemoveReblogs) {
|
||||
|
|
@ -217,7 +217,7 @@ abstract class TimelineViewModel(
|
|||
}
|
||||
}
|
||||
PrefKeys.TAB_SHOW_HOME_SELF_BOOSTS -> {
|
||||
val filter = sharedPreferences.getBoolean(PrefKeys.TAB_SHOW_HOME_SELF_BOOSTS, true)
|
||||
val filter = accountManager.activeAccount?.isShowHomeSelfBoosts ?: true
|
||||
val oldRemoveSelfReblogs = filterRemoveSelfReblogs
|
||||
filterRemoveSelfReblogs = kind == Kind.HOME && !filter
|
||||
if (oldRemoveSelfReblogs != filterRemoveSelfReblogs) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue