fixing window ordering
This commit is contained in:
1 parent
8078e34a2c
commit
807d466b31
2 files changed
+18
-3
No files matched your search
@@ -91,7 +91,7 @@ fun main() {
|
|||||||
state = windowState,
|
state = windowState,
|
||||||
title = "AnyTask",
|
title = "AnyTask",
|
||||||
resizable = false,
|
resizable = false,
|
||||||
alwaysOnTop = true,
|
alwaysOnTop = !isSettingsVisible,
|
||||||
undecorated = false,
|
undecorated = false,
|
||||||
) {
|
) {
|
||||||
LaunchedEffect(isVisible) {
|
LaunchedEffect(isVisible) {
|
||||||
@@ -106,6 +106,7 @@ fun main() {
|
|||||||
config = configResult.config,
|
config = configResult.config,
|
||||||
isVisible = isVisible,
|
isVisible = isVisible,
|
||||||
onDismiss = { isVisible = false },
|
onDismiss = { isVisible = false },
|
||||||
|
onSettings = { isSettingsVisible = true },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,6 +122,11 @@ fun main() {
|
|||||||
title = "AnyTask Settings",
|
title = "AnyTask Settings",
|
||||||
resizable = true,
|
resizable = true,
|
||||||
) {
|
) {
|
||||||
|
LaunchedEffect(Unit) {
|
||||||
|
activateMacOsApp()
|
||||||
|
window.toFront()
|
||||||
|
window.requestFocus()
|
||||||
|
}
|
||||||
SettingsWindow(
|
SettingsWindow(
|
||||||
config = configResult.config,
|
config = configResult.config,
|
||||||
client = client,
|
client = client,
|
||||||
|
|||||||
@@ -18,12 +18,16 @@ import androidx.compose.material.Checkbox
|
|||||||
import androidx.compose.material.CircularProgressIndicator
|
import androidx.compose.material.CircularProgressIndicator
|
||||||
import androidx.compose.material.DropdownMenu
|
import androidx.compose.material.DropdownMenu
|
||||||
import androidx.compose.material.DropdownMenuItem
|
import androidx.compose.material.DropdownMenuItem
|
||||||
|
import androidx.compose.material.Icon
|
||||||
|
import androidx.compose.material.IconButton
|
||||||
import androidx.compose.material.MaterialTheme
|
import androidx.compose.material.MaterialTheme
|
||||||
import androidx.compose.material.OutlinedButton
|
import androidx.compose.material.OutlinedButton
|
||||||
import androidx.compose.material.OutlinedTextField
|
import androidx.compose.material.OutlinedTextField
|
||||||
import androidx.compose.material.Surface
|
import androidx.compose.material.Surface
|
||||||
import androidx.compose.material.Text
|
import androidx.compose.material.Text
|
||||||
import androidx.compose.material.TextButton
|
import androidx.compose.material.TextButton
|
||||||
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.filled.Settings
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
@@ -51,7 +55,7 @@ import ch.ergon.anytask.config.PropertyConfig
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TaskWindow(client: AnyTypeApi, config: Configuration, isVisible: Boolean, onDismiss: () -> Unit) {
|
fun TaskWindow(client: AnyTypeApi, config: Configuration, isVisible: Boolean, onDismiss: () -> Unit, onSettings: () -> Unit) {
|
||||||
val scope = rememberCoroutineScope()
|
val scope = rememberCoroutineScope()
|
||||||
var title by remember { mutableStateOf("") }
|
var title by remember { mutableStateOf("") }
|
||||||
var details by remember { mutableStateOf("") }
|
var details by remember { mutableStateOf("") }
|
||||||
@@ -152,9 +156,14 @@ fun TaskWindow(client: AnyTypeApi, config: Configuration, isVisible: Boolean, on
|
|||||||
|
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.fillMaxWidth(),
|
modifier = Modifier.fillMaxWidth(),
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp, Alignment.End),
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
|
IconButton(onClick = onSettings) {
|
||||||
|
Icon(Icons.Default.Settings, contentDescription = "Settings")
|
||||||
|
}
|
||||||
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
TextButton(onClick = onDismiss) { Text("Cancel") }
|
TextButton(onClick = onDismiss) { Text("Cancel") }
|
||||||
|
Spacer(modifier = Modifier.width(8.dp))
|
||||||
Button(onClick = ::submit, enabled = title.isNotBlank() && !isLoading) {
|
Button(onClick = ::submit, enabled = title.isNotBlank() && !isLoading) {
|
||||||
if (isLoading) CircularProgressIndicator(modifier = Modifier.size(16.dp), strokeWidth = 2.dp)
|
if (isLoading) CircularProgressIndicator(modifier = Modifier.size(16.dp), strokeWidth = 2.dp)
|
||||||
else Text("Create ⌘↵")
|
else Text("Create ⌘↵")
|
||||||
|
|||||||