mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-26 00:56:34 +02:00
Fixes language setting toggles
This commit is contained in:
@@ -259,10 +259,13 @@ class AccountSettings(
|
|||||||
// ---
|
// ---
|
||||||
// language services
|
// language services
|
||||||
// ---
|
// ---
|
||||||
fun addDontTranslateFrom(languageCode: String) {
|
fun toggleDontTranslateFrom(languageCode: String) {
|
||||||
if (!dontTranslateFrom.contains(languageCode)) {
|
if (!dontTranslateFrom.contains(languageCode)) {
|
||||||
dontTranslateFrom = dontTranslateFrom.plus(languageCode)
|
dontTranslateFrom = dontTranslateFrom.plus(languageCode)
|
||||||
saveAccountSettings()
|
saveAccountSettings()
|
||||||
|
} else {
|
||||||
|
dontTranslateFrom = dontTranslateFrom.minus(languageCode)
|
||||||
|
saveAccountSettings()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,6 +287,12 @@ class AccountSettings(
|
|||||||
if (key !in languagePreferences) {
|
if (key !in languagePreferences) {
|
||||||
languagePreferences = languagePreferences + Pair(key, preference)
|
languagePreferences = languagePreferences + Pair(key, preference)
|
||||||
saveAccountSettings()
|
saveAccountSettings()
|
||||||
|
} else {
|
||||||
|
if (languagePreferences.get(key) == preference) {
|
||||||
|
languagePreferences = languagePreferences.minus(key)
|
||||||
|
} else {
|
||||||
|
languagePreferences = languagePreferences + Pair(key, preference)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -46,6 +46,7 @@ import androidx.compose.runtime.mutableStateOf
|
|||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.text.SpanStyle
|
import androidx.compose.ui.text.SpanStyle
|
||||||
@@ -230,7 +231,7 @@ private fun TranslationMessage(
|
|||||||
) {
|
) {
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
text = {
|
text = {
|
||||||
Row {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
if (source in accountViewModel.account.settings.dontTranslateFrom) {
|
if (source in accountViewModel.account.settings.dontTranslateFrom) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Default.Check,
|
imageVector = Icons.Default.Check,
|
||||||
@@ -252,14 +253,14 @@ private fun TranslationMessage(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
onClick = {
|
onClick = {
|
||||||
accountViewModel.account.settings.addDontTranslateFrom(source)
|
accountViewModel.account.settings.toggleDontTranslateFrom(source)
|
||||||
langSettingsPopupExpanded = false
|
langSettingsPopupExpanded = false
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
HorizontalDivider(thickness = DividerThickness)
|
HorizontalDivider(thickness = DividerThickness)
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
text = {
|
text = {
|
||||||
Row {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
if (accountViewModel.account.settings.preferenceBetween(source, target) == source) {
|
if (accountViewModel.account.settings.preferenceBetween(source, target) == source) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Default.Check,
|
imageVector = Icons.Default.Check,
|
||||||
@@ -289,7 +290,7 @@ private fun TranslationMessage(
|
|||||||
)
|
)
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
text = {
|
text = {
|
||||||
Row {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
if (accountViewModel.account.settings.preferenceBetween(source, target) == target) {
|
if (accountViewModel.account.settings.preferenceBetween(source, target) == target) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Default.Check,
|
imageVector = Icons.Default.Check,
|
||||||
@@ -324,7 +325,7 @@ private fun TranslationMessage(
|
|||||||
languageList.get(i)?.let { lang ->
|
languageList.get(i)?.let { lang ->
|
||||||
DropdownMenuItem(
|
DropdownMenuItem(
|
||||||
text = {
|
text = {
|
||||||
Row {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
if (accountViewModel.account.settings.translateToContains(lang)) {
|
if (accountViewModel.account.settings.translateToContains(lang)) {
|
||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Default.Check,
|
imageVector = Icons.Default.Check,
|
||||||
|
Reference in New Issue
Block a user