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