DocumentScreen: dropdown menu for color mode
This commit is contained in:
@@ -31,6 +31,8 @@ import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.AutoFixHigh
|
||||
import androidx.compose.material.icons.filled.Check
|
||||
import androidx.compose.material.icons.filled.Contrast
|
||||
import androidx.compose.material.icons.filled.Done
|
||||
import androidx.compose.material.icons.filled.Palette
|
||||
@@ -39,6 +41,8 @@ import androidx.compose.material.icons.filled.RotateRight
|
||||
import androidx.compose.material.icons.outlined.Add
|
||||
import androidx.compose.material.icons.outlined.Delete
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.DropdownMenu
|
||||
import androidx.compose.material3.DropdownMenuItem
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
@@ -47,9 +51,11 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.geometry.Size
|
||||
@@ -240,23 +246,45 @@ fun ColorModeButton(
|
||||
onToggle: () -> Unit,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
val icon = when (currentColorMode) {
|
||||
COLOR -> Icons.Default.Palette
|
||||
GRAYSCALE -> Icons.Default.Contrast
|
||||
}
|
||||
val label = when (currentColorMode) {
|
||||
COLOR -> stringResource(R.string.color_mode_color)
|
||||
GRAYSCALE -> stringResource(R.string.color_mode_grayscale)
|
||||
}
|
||||
Column(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
modifier = modifier
|
||||
) {
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
|
||||
Box(modifier = modifier) {
|
||||
SecondaryActionButton(
|
||||
icon = icon,
|
||||
contentDescription = label,
|
||||
onClick = onToggle,
|
||||
icon = Icons.Default.AutoFixHigh,
|
||||
contentDescription = stringResource(R.string.color_mode),
|
||||
onClick = { expanded = true },
|
||||
)
|
||||
DropdownMenu(
|
||||
expanded = expanded,
|
||||
onDismissRequest = { expanded = false },
|
||||
) {
|
||||
DropdownMenuItem(
|
||||
text = { Text(stringResource(R.string.color_mode_color)) },
|
||||
leadingIcon = { Icon(Icons.Default.Palette, contentDescription = null) },
|
||||
onClick = {
|
||||
if (currentColorMode != COLOR) onToggle()
|
||||
expanded = false
|
||||
},
|
||||
trailingIcon = {
|
||||
if (currentColorMode == COLOR) {
|
||||
Icon(Icons.Default.Check, contentDescription = null)
|
||||
}
|
||||
}
|
||||
)
|
||||
DropdownMenuItem(
|
||||
text = { Text(stringResource(R.string.color_mode_grayscale)) },
|
||||
leadingIcon = { Icon(Icons.Default.Contrast, contentDescription = null) },
|
||||
onClick = {
|
||||
if (currentColorMode != GRAYSCALE) onToggle()
|
||||
expanded = false
|
||||
},
|
||||
trailingIcon = {
|
||||
if (currentColorMode == GRAYSCALE) {
|
||||
Icon(Icons.Default.Check, contentDescription = null)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">ألغِ</string>
|
||||
<string name="change_directory">غيّر المجلد</string>
|
||||
<string name="clear_text">امحُ النص</string>
|
||||
<string name="color_mode">فلتر</string>
|
||||
<string name="color_mode_color">ألوان</string>
|
||||
<string name="color_mode_grayscale">تدرج الرمادي</string>
|
||||
<string name="contact">تواصل</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Zrušit</string>
|
||||
<string name="change_directory">Změnit složku</string>
|
||||
<string name="clear_text">Smazat text</string>
|
||||
<string name="color_mode">Filtr</string>
|
||||
<string name="color_mode_color">Barva</string>
|
||||
<string name="color_mode_grayscale">Odstíny šedi</string>
|
||||
<string name="contact">Kontakt</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Abbrechen</string>
|
||||
<string name="change_directory">Ordner ändern</string>
|
||||
<string name="clear_text">Text löschen</string>
|
||||
<string name="color_mode">Filter</string>
|
||||
<string name="color_mode_color">Farbe</string>
|
||||
<string name="color_mode_grayscale">Graustufen</string>
|
||||
<string name="contact">Kontakt</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="change_directory">Cambiar carpeta</string>
|
||||
<string name="clear_text">Borrar texto</string>
|
||||
<string name="color_mode">Filtro</string>
|
||||
<string name="color_mode_color">Color</string>
|
||||
<string name="color_mode_grayscale">Escala de grises</string>
|
||||
<string name="contact">Contacto</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Annuler</string>
|
||||
<string name="change_directory">Changer de dossier</string>
|
||||
<string name="clear_text">Effacer le text</string>
|
||||
<string name="color_mode">Filtre</string>
|
||||
<string name="color_mode_color">Couleur</string>
|
||||
<string name="color_mode_grayscale">Niveaux de gris</string>
|
||||
<string name="contact">Contact</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="change_directory">Trocar cartafol</string>
|
||||
<string name="clear_text">Borrar texto</string>
|
||||
<string name="color_mode">Filtro</string>
|
||||
<string name="color_mode_color">Cor</string>
|
||||
<string name="color_mode_grayscale">Escala de grises</string>
|
||||
<string name="contact">Contacto</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Annulla</string>
|
||||
<string name="change_directory">Cambia cartella</string>
|
||||
<string name="clear_text">Svuota testo</string>
|
||||
<string name="color_mode">Filtro</string>
|
||||
<string name="color_mode_color">Colore</string>
|
||||
<string name="color_mode_grayscale">Scala di grigi</string>
|
||||
<string name="contact">Contatti</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="change_directory">Alterar diretório</string>
|
||||
<string name="clear_text">Limpar texto</string>
|
||||
<string name="color_mode">Filtro</string>
|
||||
<string name="color_mode_color">Cor</string>
|
||||
<string name="color_mode_grayscale">Escala de cinza</string>
|
||||
<string name="contact">Contato</string>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<string name="color_mode_color">Цвет</string>
|
||||
<string name="color_mode_grayscale">Оттенки серого</string>
|
||||
<string name="contact">Контакты</string>
|
||||
<string name="color_mode">Фильтр</string>
|
||||
<string name="copied_logs">Журналы скопированы в буфер обмена</string>
|
||||
<string name="copy_logs">Копировать журналы</string>
|
||||
<string name="creating_export">Подготовка экспорта…</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">İptal</string>
|
||||
<string name="change_directory">Dizini değiştir</string>
|
||||
<string name="clear_text">Metni temizle</string>
|
||||
<string name="color_mode">Filtre</string>
|
||||
<string name="color_mode_color">Renkli</string>
|
||||
<string name="color_mode_grayscale">Gri tonlama</string>
|
||||
<string name="contact">İletişim</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">取消</string>
|
||||
<string name="change_directory">變更目錄</string>
|
||||
<string name="clear_text">清除文字</string>
|
||||
<string name="color_mode">濾鏡</string>
|
||||
<string name="color_mode_color">彩色</string>
|
||||
<string name="color_mode_grayscale">灰階</string>
|
||||
<string name="contact">聯絡我們</string>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<string name="cancel">取消</string>
|
||||
<string name="change_directory">更改目录</string>
|
||||
<string name="clear_text">清除文字</string>
|
||||
<string name="color_mode">滤镜</string>
|
||||
<string name="color_mode_color">彩色</string>
|
||||
<string name="color_mode_grayscale">灰度</string>
|
||||
<string name="contact">联系人</string>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="change_directory">Change folder</string>
|
||||
<string name="clear_text">Clear text</string>
|
||||
<string name="color_mode">Filter</string>
|
||||
<string name="color_mode_color">Color</string>
|
||||
<string name="color_mode_grayscale">Grayscale</string>
|
||||
<string name="contact">Contact</string>
|
||||
|
||||
Reference in New Issue
Block a user