diff --git a/app/src/main/java/com/inspection/camera/ui/settings/SettingsScreen.kt b/app/src/main/java/com/inspection/camera/ui/settings/SettingsScreen.kt index b8ff6d6..62bcfba 100644 --- a/app/src/main/java/com/inspection/camera/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/com/inspection/camera/ui/settings/SettingsScreen.kt @@ -60,6 +60,7 @@ fun SettingsScreen( var titleStyle by remember { mutableStateOf(WatermarkStyle.Default) } var defaultTheme by remember { mutableStateOf("") } var recorderName by remember { mutableStateOf("") } + var fileNameTemplate by remember { mutableStateOf("{project}_{inspector}_{date}") } // 加载配置 scope.launch { @@ -80,9 +81,12 @@ fun SettingsScreen( scope.launch { preferencesManager.defaultTheme.collect { defaultTheme = it } } - scope.launch { - preferencesManager.recorderName.collect { recorderName = it } - } +scope.launch { + preferencesManager.recorderName.collect { recorderName = it } +} +scope.launch { + preferencesManager.fileNameTemplate.collect { fileNameTemplate = it } +} Scaffold( topBar = { @@ -105,6 +109,7 @@ fun SettingsScreen( preferencesManager.setTitleStyle(titleStyle) preferencesManager.setDefaultTheme(defaultTheme) preferencesManager.setRecorderName(recorderName) + preferencesManager.setFileNameTemplate(fileNameTemplate) } // 返回主界面 onNavigateBack() @@ -291,15 +296,34 @@ fun SettingsScreen( Divider() - SettingsItem(title = "记录人信息") { - OutlinedTextField( - value = recorderName, - onValueChange = { scope.launch { preferencesManager.setRecorderName(it) } }, - label = { Text("姓名/工号") }, - modifier = Modifier.fillMaxWidth(), - singleLine = true - ) - } +SettingsItem(title = "记录人信息") { + OutlinedTextField( + value = recorderName, + onValueChange = { scope.launch { preferencesManager.setRecorderName(it) } }, + label = { Text("姓名/工号") }, + modifier = Modifier.fillMaxWidth(), + singleLine = true + ) + } + + Divider() + + SettingsItem(title = "文件名模板") { + OutlinedTextField( + value = fileNameTemplate, + onValueChange = { scope.launch { preferencesManager.setFileNameTemplate(it) } }, + label = { Text("文件名模板") }, + placeholder = { Text("{project}_{inspector}_{date}") }, + modifier = Modifier.fillMaxWidth(), + singleLine = true + ) + Spacer(modifier = Modifier.height(4.dp)) + Text( + text = "可用占位符:{project} {device} {inspector} {date} {time}", + style = MaterialTheme.typography.bodySmall, + color = Color.Gray + ) + } } Spacer(modifier = Modifier.height(16.dp))