From 8a48e5146918025d590c6b7bc044e2c5cecfea3c Mon Sep 17 00:00:00 2001 From: Abdelilah El Aissaoui Date: Thu, 25 May 2023 23:56:51 +0200 Subject: [PATCH] Fixed uninitialized modules being opened --- .../gitnuro/extensions/SubmoduleStatusTypeExtensions.kt | 8 ++++++++ src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt | 7 ++++++- .../gitnuro/ui/context_menu/SubmoduleContextMenu.kt | 3 ++- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 src/main/kotlin/com/jetpackduba/gitnuro/extensions/SubmoduleStatusTypeExtensions.kt diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SubmoduleStatusTypeExtensions.kt b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SubmoduleStatusTypeExtensions.kt new file mode 100644 index 0000000..766a664 --- /dev/null +++ b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SubmoduleStatusTypeExtensions.kt @@ -0,0 +1,8 @@ +package com.jetpackduba.gitnuro.extensions + +import org.eclipse.jgit.submodule.SubmoduleStatusType + +fun SubmoduleStatusType.isValid(): Boolean { + return this == SubmoduleStatusType.INITIALIZED || + this == SubmoduleStatusType.REV_CHECKED_OUT +} \ No newline at end of file diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt index 65c426d..02dc3c5 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/SidePanel.kt @@ -14,6 +14,7 @@ import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.AppIcons import com.jetpackduba.gitnuro.extensions.handOnHover import com.jetpackduba.gitnuro.extensions.isLocal +import com.jetpackduba.gitnuro.extensions.isValid import com.jetpackduba.gitnuro.extensions.simpleName import com.jetpackduba.gitnuro.theme.onBackgroundSecondary import com.jetpackduba.gitnuro.ui.components.* @@ -552,7 +553,11 @@ private fun Submodule( SideMenuSubentry( text = submodule.first, iconResourcePath = AppIcons.TOPIC, - onClick = onOpenSubmoduleInTab, + onClick = { + if (submodule.second.type.isValid()) { + onOpenSubmoduleInTab() + } + }, ) { val stateName = submodule.second.type.toString() Tooltip(stateName) { diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/SubmoduleContextMenu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/SubmoduleContextMenu.kt index d673375..c3ae9fb 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/SubmoduleContextMenu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/SubmoduleContextMenu.kt @@ -2,6 +2,7 @@ package com.jetpackduba.gitnuro.ui.context_menu import androidx.compose.ui.res.painterResource import com.jetpackduba.gitnuro.AppIcons +import com.jetpackduba.gitnuro.extensions.isValid import org.eclipse.jgit.submodule.SubmoduleStatus import org.eclipse.jgit.submodule.SubmoduleStatusType @@ -23,7 +24,7 @@ fun submoduleContextMenuItems( ) ) } - if (submoduleStatus.type != SubmoduleStatusType.UNINITIALIZED) { + if (submoduleStatus.type.isValid()) { add( ContextMenuElement.ContextTextEntry( label = "Open submodule in new tab",