diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt index 00edc52..6a3f69e 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/MainPage.kt @@ -91,7 +91,7 @@ fun MainPage( selectedTodoIds = selectedTodoIds, selectedMode = !isSelectedIdsEmpty, onCancelSelect = { viewModel.clearAllTodoSelection() }, - onSelectAll = { viewModel.toggleAllSelected() }, + onSelectAll = { viewModel.selectAllTodos() }, onDeleteSelectedTodo = { showDeleteConfirmDialog = true }, toSettingsPage = toSettingsPage ) diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt index 14820e7..e8b44bd 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/pages/main/components/TodoCard.kt @@ -120,7 +120,10 @@ fun TodoCard( }, modifier = Modifier.padding(start = 5.dp) ) { - Text(priority.getDisplayName(context)) + Text( + text = priority.getDisplayName(context), + textDecoration = if (completed) TextDecoration.LineThrough else TextDecoration.None, + ) } } ) { diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt b/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt index de4a852..a419255 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/viewmodels/MainViewModel.kt @@ -116,19 +116,12 @@ class MainViewModel : ViewModel() { /** * 切换是否全选 */ - fun toggleAllSelected() { + fun selectAllTodos() { viewModelScope.launch { toDos.firstOrNull()?.let { todos -> + // 无论是否有选择都全选 val allIds = todos.map { it.id } - _selectedTodoIds.update { currentSelectedIds -> - if (currentSelectedIds.containsAll(allIds)) { - // 如果当前是全选状态,取消所有选择(切换为全不选) - emptyList() - } else { - // 如果当前不是全选状态,选中所有项 - allIds - } - } + _selectedTodoIds.value = allIds } } }