diff --git a/app/src/main/java/com/raival/compose/file/explorer/screen/main/tab/files/ui/DeleteConfirmationDialog.kt b/app/src/main/java/com/raival/compose/file/explorer/screen/main/tab/files/ui/DeleteConfirmationDialog.kt index 53f96cf9..75b731e1 100644 --- a/app/src/main/java/com/raival/compose/file/explorer/screen/main/tab/files/ui/DeleteConfirmationDialog.kt +++ b/app/src/main/java/com/raival/compose/file/explorer/screen/main/tab/files/ui/DeleteConfirmationDialog.kt @@ -14,6 +14,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import com.raival.compose.file.explorer.App.Companion.globalClass import com.raival.compose.file.explorer.R import com.raival.compose.file.explorer.common.ui.CheckableText import com.raival.compose.file.explorer.common.ui.Space @@ -22,8 +23,15 @@ import com.raival.compose.file.explorer.screen.main.tab.files.FilesTab @Composable fun DeleteConfirmationDialog(tab: FilesTab) { if (tab.showConfirmDeleteDialog) { + val preferencesManager = globalClass.preferencesManager var moveToRecycleBin by remember { - mutableStateOf(true) + mutableStateOf(preferencesManager.generalPrefs.moveToRecycleBin) + } + var showRememberChoice by remember { + mutableStateOf(false) + } + var rememberChoice by remember { + mutableStateOf(false) } val targetFiles by remember(tab.id, tab.activeFolder.path) { @@ -41,6 +49,9 @@ fun DeleteConfirmationDialog(tab: FilesTab) { onClick = { onDismissRequest() tab.unselectAllFiles() + if (showRememberChoice && rememberChoice) { + preferencesManager.generalPrefs.moveToRecycleBin = moveToRecycleBin + } tab.deleteFiles(targetFiles, tab.taskCallback, moveToRecycleBin) } ) { Text(stringResource(R.string.confirm)) } @@ -65,7 +76,10 @@ fun DeleteConfirmationDialog(tab: FilesTab) { CheckableText( modifier = Modifier.fillMaxWidth(), checked = moveToRecycleBin, - onCheckedChange = { moveToRecycleBin = it }, + onCheckedChange = { + moveToRecycleBin = it + showRememberChoice = true + }, text = { Text( modifier = Modifier.alpha(0.7f), @@ -73,6 +87,21 @@ fun DeleteConfirmationDialog(tab: FilesTab) { ) } ) + + if (showRememberChoice) { + Space(size = 4.dp) + CheckableText( + modifier = Modifier.fillMaxWidth(), + checked = rememberChoice, + onCheckedChange = { rememberChoice = it }, + text = { + Text( + modifier = Modifier.alpha(0.6f), + text = stringResource(R.string.remember_this_choice) + ) + } + ) + } } } } diff --git a/app/src/main/java/com/raival/compose/file/explorer/screen/preferences/PreferencesManager.kt b/app/src/main/java/com/raival/compose/file/explorer/screen/preferences/PreferencesManager.kt index cf682336..c9852728 100644 --- a/app/src/main/java/com/raival/compose/file/explorer/screen/preferences/PreferencesManager.kt +++ b/app/src/main/java/com/raival/compose/file/explorer/screen/preferences/PreferencesManager.kt @@ -173,6 +173,13 @@ class PreferencesManager { defaultValue = true, getPreferencesKey = { booleanPreferencesKey(it) } ) + + var moveToRecycleBin by prefMutableState( + keyName = "moveToRecycleBin", + defaultValue = true, + getPreferencesKey = { booleanPreferencesKey(it) } + ) + var signApk by prefMutableState( keyName = "signApk", defaultValue = false, diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 48d0ee18..4ee702a4 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -215,4 +215,5 @@ لوب درخواست کردن هیچ پرونده اخیر وجود ندارد + این انتخاب را به خاطر بسپار diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 55812ec9..4d779950 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -215,4 +215,5 @@ Github Aplicar Nenhum Arquivo Recente + Lembre-se desta escolha diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index dda8acdb..d2741b21 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -215,4 +215,5 @@ Github Применить Нет недавних файлов + Запомни этот выбор \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 099fe3da..04b7479c 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -216,4 +216,5 @@ Github 应用 没有最近文件 + 记住这个选择 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8602b78c..6aebde36 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -215,4 +215,5 @@ Github 套用 沒有最近使用的檔案 + 記住這個選擇 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3862adad..1ab9f132 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -215,4 +215,5 @@ Github Apply No Recent Files + Remember this choice \ No newline at end of file