From 0de23e1fb4caf769325548fc4a42c97b4d2ec288 Mon Sep 17 00:00:00 2001 From: AmirHossein Abdolmotallebi Date: Fri, 17 Jan 2025 01:54:27 +0330 Subject: [PATCH] fix file checksum ui problem (#374) --- .../pages/filehash/FileChecksumWindow.kt | 20 +++++++++++--- .../configurable/widgets/FileChecksum.kt | 26 ++++++++++--------- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/filehash/FileChecksumWindow.kt b/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/filehash/FileChecksumWindow.kt index e4e299f..9cedd26 100644 --- a/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/filehash/FileChecksumWindow.kt +++ b/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/filehash/FileChecksumWindow.kt @@ -9,10 +9,13 @@ import androidx.compose.ui.window.WindowPosition import androidx.compose.ui.window.rememberWindowState import com.abdownloadmanager.desktop.AppComponent import com.abdownloadmanager.desktop.window.custom.CustomWindow +import com.abdownloadmanager.shared.utils.mvi.HandleEffects import com.abdownloadmanager.shared.utils.ui.theme.LocalUiScale import com.arkivanov.decompose.Child import com.arkivanov.decompose.router.slot.ChildSlot import ir.amirab.util.desktop.screen.applyUiScale +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext @Composable fun FileChecksumWindow( @@ -28,13 +31,22 @@ fun FileChecksumWindow( component: FileChecksumComponent ) { val uiScale = LocalUiScale.current + val state = rememberWindowState( + position = WindowPosition.Aligned(Alignment.Center), + size = DpSize(900.dp, 400.dp).applyUiScale(uiScale) + ) CustomWindow( - state = rememberWindowState( - position = WindowPosition.Aligned(Alignment.Center), - size = DpSize(900.dp, 400.dp).applyUiScale(uiScale) - ), + state = state, onCloseRequest = component::onRequestClose ) { + HandleEffects(component) { + when (it) { + FileChecksumUiEffects.BringToFront -> { + state.isMinimized = false + window.toFront() + } + } + } FileChecksumPage(component) } } diff --git a/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/settings/configurable/widgets/FileChecksum.kt b/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/settings/configurable/widgets/FileChecksum.kt index 7e2af4b..0d15502 100644 --- a/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/settings/configurable/widgets/FileChecksum.kt +++ b/desktop/app/src/main/kotlin/com/abdownloadmanager/desktop/pages/settings/configurable/widgets/FileChecksum.kt @@ -36,19 +36,9 @@ fun RenderFileChecksumConfig(cfg: FileChecksumConfigurable, modifier: Modifier) value?.let { value -> Row( Modifier - .padding(vertical = 8.dp) + .padding(vertical = 8.dp), + verticalAlignment = Alignment.CenterVertically, ) { - MyTextField( - text = value.value, - onTextChange = { - setValue(value.copy(value = it)) - }, - shape = RectangleShape, - textPadding = PaddingValues(4.dp), - enabled = enabled, - modifier = Modifier.weight(1f), - placeholder = myStringResource(Res.string.file_checksum), - ) RenderSpinner( possibleValues = FileChecksumAlgorithm .all() @@ -62,6 +52,18 @@ fun RenderFileChecksumConfig(cfg: FileChecksumConfigurable, modifier: Modifier) ) { Text(it) } + Text(":", Modifier.padding(horizontal = 4.dp)) + MyTextField( + text = value.value, + onTextChange = { + setValue(value.copy(value = it)) + }, + shape = RectangleShape, + textPadding = PaddingValues(4.dp), + enabled = enabled, + modifier = Modifier.weight(1f), + placeholder = myStringResource(Res.string.file_checksum), + ) } } }