Skip to content

Commit

Permalink
add: history view translate
Browse files Browse the repository at this point in the history
  • Loading branch information
AllenTom committed Mar 10, 2024
1 parent f9c9d70 commit 78c16f1
Show file tree
Hide file tree
Showing 3 changed files with 149 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import androidx.compose.material3.AssistChip
import androidx.compose.material3.Divider
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.FilterChip
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.ListItem
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
Expand All @@ -31,7 +33,9 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
Expand All @@ -55,7 +59,9 @@ fun HistoryView(
currentHistory: SaveHistory,
navController: NavController,
displayFirstGroup: Boolean = true,
displaySecondGroup: Boolean = true
displaySecondGroup: Boolean = true,
onPromptUpdate: (List<Prompt>) -> Unit = {},
onNegativePromptUpdate: (List<Prompt>) -> Unit = {}
) {
var isImage2ImageInputPreviewOpen by remember {
mutableStateOf(false)
Expand All @@ -73,6 +79,17 @@ fun HistoryView(
mutableStateOf(0)
}

val prompt = currentHistory.prompt
val negativePrompt = currentHistory.negativePrompt
var isPromptTranslateDialogOpen by remember {
mutableStateOf(false)
}
var isNegativePromptTranslateDialogOpen by remember {
mutableStateOf(false)
}
var onlyDisplayTranslated by remember {
mutableStateOf(false)
}
if (isImage2ImageInputPreviewOpen) {
currentHistory.savedImg2ImgParam?.let {
ImageUriPreviewDialog(
Expand All @@ -97,6 +114,40 @@ fun HistoryView(
}

PromptAction(promptActionState)

if (isPromptTranslateDialogOpen) {
BatchTranslatePromptDialog(
onDismiss = {
isPromptTranslateDialogOpen = false
},
inputPrompts = prompt
) { updatedPrompt ->
onPromptUpdate(
currentHistory.prompt.map {
val needToUpdateItem =
updatedPrompt.find { updatedPromptItem -> updatedPromptItem.promptId == it.promptId }
needToUpdateItem ?: it
}
)
}
}
if (isNegativePromptTranslateDialogOpen) {
BatchTranslatePromptDialog(
onDismiss = {
isNegativePromptTranslateDialogOpen = false
},
inputPrompts = negativePrompt
) { updatedPrompt ->
onNegativePromptUpdate(
currentHistory.negativePrompt.map {
val needToUpdateItem =
updatedPrompt.find { updatedPromptItem -> updatedPromptItem.promptId == it.promptId }
needToUpdateItem ?: it
}
)
}
}

@Composable
fun firstGroup() {
if (currentHistory.regionEnable == true) {
Expand Down Expand Up @@ -129,7 +180,26 @@ fun HistoryView(
)
)
},
canScroll = false
canScroll = false,
onlyShowTranslation = onlyDisplayTranslated,
toolbar = {
IconButton(onClick = {
onlyDisplayTranslated = !onlyDisplayTranslated
}) {
Icon(
ImageVector.vectorResource(id = R.drawable.ic_translate_mode),
contentDescription = null
)
}
IconButton(onClick = {
isPromptTranslateDialogOpen = true
}) {
Icon(
ImageVector.vectorResource(R.drawable.ic_translate),
contentDescription = null
)
}
}
) {
promptActionState.onOpenActionBottomSheet(it, "prompt")
}
Expand All @@ -141,14 +211,34 @@ fun HistoryView(
titleComponent = {
SectionTitle(title = stringResource(R.string.param_negative_prompt))
},
canScroll = false
canScroll = false,
onlyShowTranslation = onlyDisplayTranslated,
toolbar = {
IconButton(onClick = {
onlyDisplayTranslated = !onlyDisplayTranslated
}) {
Icon(
ImageVector.vectorResource(id = R.drawable.ic_translate_mode),
contentDescription = null
)
}
IconButton(onClick = {
isNegativePromptTranslateDialogOpen = true
}) {
Icon(
ImageVector.vectorResource(R.drawable.ic_translate),
contentDescription = null
)
}
}
) {
promptActionState.onOpenActionBottomSheet(it, "negativePrompt")
}
}
}

@Composable
fun secondGroup(){
fun secondGroup() {
currentHistory.loraPrompt.takeIf { it.isNotEmpty() }?.let {
Spacer(modifier = Modifier.height(16.dp))
SectionTitle(title = stringResource(R.string.param_lora))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,10 @@ fun HistoryDetailScreen(navController: NavController, historyId: Long) {
Spacer(modifier = Modifier.height(16.dp))
SecondScreen(
currentHistory = currentHistory,
navController = navController
navController = navController,
onUpdateHistory = {
saveHistory = it
}
)
}
}
Expand All @@ -235,7 +238,10 @@ fun HistoryDetailScreen(navController: NavController, historyId: Long) {
item {
SecondScreen(
currentHistory = currentHistory,
navController = navController
navController = navController,
onUpdateHistory = {
saveHistory = it
}
)
}
}
Expand Down Expand Up @@ -502,8 +508,25 @@ fun FirstScreen(
}

@Composable
fun SecondScreen(currentHistory: SaveHistory, navController: NavController) {
HistoryView(currentHistory = currentHistory, navController)
fun SecondScreen(
currentHistory: SaveHistory,
navController: NavController,
onUpdateHistory: (SaveHistory) -> Unit = {}
) {
HistoryView(
currentHistory = currentHistory,
navController = navController,
onPromptUpdate = {
onUpdateHistory(currentHistory.copy(
prompt = it
))
},
onNegativePromptUpdate = {
onUpdateHistory(currentHistory.copy(
negativePrompt = it
))
}
)
Spacer(modifier = Modifier.height(120.dp))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,20 @@ fun ImageDetail(id: String, navController: NavController) {
Box(
modifier = Modifier.padding(horizontal = 16.dp)
) {
HistoryView(currentHistory = genHis, navController)
HistoryView(
currentHistory = genHis,
navController = navController,
onPromptUpdate = {
genHistory = genHistory?.copy(
prompt = it
)
},
onNegativePromptUpdate = {
genHistory = genHistory?.copy(
negativePrompt = it
)
}
)
}

Spacer(modifier = Modifier.height(64.dp))
Expand Down Expand Up @@ -335,7 +348,20 @@ fun ImageDetail(id: String, navController: NavController) {
.padding(bottom = 64.dp)
) {
genHistory?.let { genHis ->
HistoryView(currentHistory = genHis, navController)
HistoryView(
currentHistory = genHis,
navController = navController,
onPromptUpdate = {
genHistory = genHistory?.copy(
prompt = it
)
},
onNegativePromptUpdate = {
genHistory = genHistory?.copy(
negativePrompt = it
)
}
)
}
}
}
Expand Down

0 comments on commit 78c16f1

Please sign in to comment.