diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/AppConstants.kt b/src/main/kotlin/com/jetpackduba/gitnuro/AppConstants.kt index 543efa6..ffbc205 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/AppConstants.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/AppConstants.kt @@ -35,4 +35,5 @@ data class License( val name: String, val url: String ) + data class Project(val name: String, val url: String, val license: License) diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/credentials/HttpCredentialsProvider.kt b/src/main/kotlin/com/jetpackduba/gitnuro/credentials/HttpCredentialsProvider.kt index ee15760..4d0f26f 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/credentials/HttpCredentialsProvider.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/credentials/HttpCredentialsProvider.kt @@ -144,7 +144,7 @@ class HttpCredentialsProvider @AssistedInject constructor( process.waitFor(TIMEOUT_MIN, TimeUnit.MINUTES) // If the process is alive after $TIMEOUT_MIN, it means that it hasn't given an answer and then finished - if(process.isAlive) { + if (process.isAlive) { process.destroy() return ExternalCredentialsRequestResult.FAIL } @@ -203,12 +203,12 @@ class HttpCredentialsProvider @AssistedInject constructor( val uriSpecificCredentialHelper = config.getString("credential", hostWithProtocol, "helper") var credentialHelperPath = uriSpecificCredentialHelper ?: genericCredentialHelper ?: return null - if(credentialHelperPath == "cache" || credentialHelperPath == "store") { + if (credentialHelperPath == "cache" || credentialHelperPath == "store") { throw NotSupportedHelper("Invalid credentials helper: \"$credentialHelperPath\" is not yet supported") } // TODO Try to use "git-credential-manager-core" when "manager-core" is detected. Works for linux but requires testing for mac/windows - if(credentialHelperPath == "manager-core") { + if (credentialHelperPath == "manager-core") { throw NotSupportedHelper("Invalid credentials helper \"$credentialHelperPath\". Please specify the full path of Git Credential Manager in your .gitconfig") } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/di/factories/HttpCredentialsFactory.kt b/src/main/kotlin/com/jetpackduba/gitnuro/di/factories/HttpCredentialsFactory.kt index d0a7d97..b5d864d 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/di/factories/HttpCredentialsFactory.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/di/factories/HttpCredentialsFactory.kt @@ -6,5 +6,5 @@ import org.eclipse.jgit.api.Git @AssistedFactory interface HttpCredentialsFactory { - fun create(git: Git?) : HttpCredentialsProvider + fun create(git: Git?): HttpCredentialsProvider } \ No newline at end of file diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/ModifierExtensions.kt b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/ModifierExtensions.kt index 933cb72..a8257f8 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/ModifierExtensions.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/ModifierExtensions.kt @@ -2,9 +2,7 @@ package com.jetpackduba.gitnuro.extensions import androidx.compose.foundation.* import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.foundation.interaction.collectIsHoveredAsState import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier @@ -16,7 +14,7 @@ import androidx.compose.ui.input.pointer.* fun Modifier.backgroundIf(condition: Boolean, color: Color, elseColor: Color? = null): Modifier { return if (condition) { this.background(color) - } else if(elseColor != null) { + } else if (elseColor != null) { this.background(elseColor) } else this diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/RefExtensions.kt b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/RefExtensions.kt index 2a6692b..dcb94df 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/RefExtensions.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/RefExtensions.kt @@ -14,10 +14,12 @@ val Ref.simpleName: String this.name == Constants.HEAD -> { this.name } + this.isRemote -> { val split = name.split("/") split.takeLast(split.size - REMOTE_PREFIX_LENGTH).joinToString("/") } + else -> { val split = this.name.split("/") split.takeLast(split.size - LOCAL_PREFIX_LENGTH).joinToString("/") @@ -31,9 +33,11 @@ val Ref.simpleLogName: String this.name == Constants.HEAD -> { this.name } + this.isRemote -> { name.replace("refs/remotes/", "") } + else -> { val split = this.name.split("/") split.takeLast(split.size - LOCAL_PREFIX_LENGTH).joinToString("/") diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SystemUtils.kt b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SystemUtils.kt index 66e70a4..d8a391e 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SystemUtils.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/extensions/SystemUtils.kt @@ -2,9 +2,6 @@ package com.jetpackduba.gitnuro.extensions import com.jetpackduba.gitnuro.logging.printLog import java.awt.Desktop -import java.awt.Toolkit -import java.awt.datatransfer.Clipboard -import java.awt.datatransfer.StringSelection import java.io.File import java.net.URI import java.nio.file.FileSystems @@ -28,7 +25,7 @@ fun openFileWithExternalApp(filePath: String) { } private fun openSystemSpecific(url: String): Boolean { - when(getCurrentOs()) { + when (getCurrentOs()) { OS.LINUX -> { if (runCommandWithoutResult("xdg-open", "%s", url)) return true diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/TabState.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/TabState.kt index d0923f5..21cc008 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/TabState.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/TabState.kt @@ -3,7 +3,6 @@ package com.jetpackduba.gitnuro.git import com.jetpackduba.gitnuro.ErrorsManager import com.jetpackduba.gitnuro.di.TabScope import com.jetpackduba.gitnuro.extensions.delayedStateChange -import com.jetpackduba.gitnuro.logging.printLog import com.jetpackduba.gitnuro.newErrorNow import com.jetpackduba.gitnuro.ui.SelectedItem import kotlinx.coroutines.* @@ -128,7 +127,7 @@ class TabState @Inject constructor( if (refreshType != RefreshType.NONE && (!hasProcessFailed || refreshEvenIfCrashes)) _refreshData.emit(refreshType) - operationRunning = false + operationRunning = false } } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/diff/HunkDiffGenerator.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/diff/HunkDiffGenerator.kt index 9a673d3..260071d 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/diff/HunkDiffGenerator.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/diff/HunkDiffGenerator.kt @@ -42,8 +42,20 @@ class HunkDiffGenerator @Inject constructor( val fileHeader = diffFormatter.toFileHeader(diffEntry) - val rawOld = rawFileManager.getRawContent(repository, DiffEntry.Side.OLD, diffEntry, oldTreeIterator, newTreeIterator) - val rawNew = rawFileManager.getRawContent(repository, DiffEntry.Side.NEW, diffEntry, oldTreeIterator, newTreeIterator) + val rawOld = rawFileManager.getRawContent( + repository, + DiffEntry.Side.OLD, + diffEntry, + oldTreeIterator, + newTreeIterator + ) + val rawNew = rawFileManager.getRawContent( + repository, + DiffEntry.Side.NEW, + diffEntry, + oldTreeIterator, + newTreeIterator + ) if (rawOld == EntryContent.InvalidObjectBlob || rawNew == EntryContent.InvalidObjectBlob) throw InvalidObjectException("Invalid object in diff format") diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/graph/GraphNode.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/graph/GraphNode.kt index fef03af..3bb4950 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/graph/GraphNode.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/graph/GraphNode.kt @@ -40,6 +40,7 @@ open class GraphNode(id: AnyObjectId?) : RevCommit(id), IGraphNode { arrayOf(children[0], c) } } + else -> { for (pc in children) if (c.id.equals(pc.id)) diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/CloneRepositoryUseCase.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/CloneRepositoryUseCase.kt index 96817a7..2ec508b 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/CloneRepositoryUseCase.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/CloneRepositoryUseCase.kt @@ -2,7 +2,6 @@ package com.jetpackduba.gitnuro.git.remote_operations import com.jetpackduba.gitnuro.git.CloneStatus import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.ensureActive import kotlinx.coroutines.flow.Flow diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/FetchAllBranchesUseCase.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/FetchAllBranchesUseCase.kt index 749de26..0e14c78 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/FetchAllBranchesUseCase.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/FetchAllBranchesUseCase.kt @@ -5,7 +5,6 @@ import kotlinx.coroutines.withContext import org.eclipse.jgit.api.Git import org.eclipse.jgit.transport.CredentialsProvider import org.eclipse.jgit.transport.RefSpec -import org.eclipse.jgit.transport.RemoteConfig import javax.inject.Inject class FetchAllBranchesUseCase @Inject constructor( diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/HandleTransportUseCase.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/HandleTransportUseCase.kt index c3c16f0..1d21167 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/HandleTransportUseCase.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/remote_operations/HandleTransportUseCase.kt @@ -1,14 +1,12 @@ package com.jetpackduba.gitnuro.git.remote_operations import com.jetpackduba.gitnuro.credentials.GSessionManager -import com.jetpackduba.gitnuro.credentials.HttpCredentialsProvider import com.jetpackduba.gitnuro.di.factories.HttpCredentialsFactory import org.eclipse.jgit.api.Git import org.eclipse.jgit.transport.HttpTransport import org.eclipse.jgit.transport.SshTransport import org.eclipse.jgit.transport.Transport import javax.inject.Inject -import javax.inject.Provider class HandleTransportUseCase @Inject constructor( private val sessionManager: GSessionManager, diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/submodules/UpdateSubmoduleUseCase.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/submodules/UpdateSubmoduleUseCase.kt index 1bc49df..53833d5 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/submodules/UpdateSubmoduleUseCase.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/submodules/UpdateSubmoduleUseCase.kt @@ -31,7 +31,7 @@ class UpdateSubmoduleUseCase @Inject constructor() { } ) - .setProgressMonitor(object: ProgressMonitor { + .setProgressMonitor(object : ProgressMonitor { override fun start(totalTasks: Int) { printLog(TAG, "start $totalTasks") } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/git/workspace/ResetEntryUseCase.kt b/src/main/kotlin/com/jetpackduba/gitnuro/git/workspace/ResetEntryUseCase.kt index f3b2ca0..cbf1e57 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/git/workspace/ResetEntryUseCase.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/git/workspace/ResetEntryUseCase.kt @@ -3,7 +3,6 @@ package com.jetpackduba.gitnuro.git.workspace import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.eclipse.jgit.api.Git -import org.eclipse.jgit.lib.Ref import javax.inject.Inject class ResetEntryUseCase @Inject constructor() { diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/images/NetworkImageLoader.kt b/src/main/kotlin/com/jetpackduba/gitnuro/images/NetworkImageLoader.kt index fe89444..5b7b73b 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/images/NetworkImageLoader.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/images/NetworkImageLoader.kt @@ -72,9 +72,11 @@ fun rememberNetworkImageOrNull(url: String, placeHolderImageRes: String? = null) cacheImageUsed.value = true cachedImage } + placeHolderImageRes != null -> useResource(placeHolderImageRes) { Image.makeFromEncoded(it.toByteArray()).toComposeImageBitmap() } + else -> null } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/keybindings/Keybinding.kt b/src/main/kotlin/com/jetpackduba/gitnuro/keybindings/Keybinding.kt index bac7506..7e29315 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/keybindings/Keybinding.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/keybindings/Keybinding.kt @@ -85,7 +85,7 @@ private fun macKeybindings(): Map> { } val keybindings by lazy { - return@lazy when(getCurrentOs()) { + return@lazy when (getCurrentOs()) { OS.LINUX -> linuxKeybindings() OS.WINDOWS -> windowsKeybindings() OS.MAC -> macKeybindings() diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/preferences/AppSettings.kt b/src/main/kotlin/com/jetpackduba/gitnuro/preferences/AppSettings.kt index b555572..b2d61d3 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/preferences/AppSettings.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/preferences/AppSettings.kt @@ -1,10 +1,10 @@ package com.jetpackduba.gitnuro.preferences import com.jetpackduba.gitnuro.extensions.defaultWindowPlacement -import com.jetpackduba.gitnuro.viewmodels.TextDiffType -import com.jetpackduba.gitnuro.viewmodels.textDiffTypeFromValue import com.jetpackduba.gitnuro.theme.ColorsScheme import com.jetpackduba.gitnuro.theme.Theme +import com.jetpackduba.gitnuro.viewmodels.TextDiffType +import com.jetpackduba.gitnuro.viewmodels.textDiffTypeFromValue import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharedFlow diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/theme/Typography.kt b/src/main/kotlin/com/jetpackduba/gitnuro/theme/Typography.kt index 55db1e9..d59f267 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/theme/Typography.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/theme/Typography.kt @@ -1,7 +1,6 @@ package com.jetpackduba.gitnuro.theme import androidx.compose.material.Colors -import androidx.compose.material.MaterialTheme import androidx.compose.material.Typography import androidx.compose.runtime.Composable import androidx.compose.ui.text.TextStyle diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Blame.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Blame.kt index c9be71d..40156d8 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Blame.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Blame.kt @@ -21,7 +21,6 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.input.key.onPreviewKeyEvent -import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/CommitChanges.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/CommitChanges.kt index 2b0fa38..928b57d 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/CommitChanges.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/CommitChanges.kt @@ -12,22 +12,21 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.LocalClipboardManager import androidx.compose.ui.text.AnnotatedString -import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp +import com.jetpackduba.gitnuro.extensions.* import com.jetpackduba.gitnuro.git.DiffEntryType +import com.jetpackduba.gitnuro.theme.* import com.jetpackduba.gitnuro.ui.components.AvatarImage import com.jetpackduba.gitnuro.ui.components.ScrollableLazyColumn import com.jetpackduba.gitnuro.ui.components.TooltipText +import com.jetpackduba.gitnuro.ui.components.gitnuroViewModel +import com.jetpackduba.gitnuro.ui.context_menu.ContextMenu import com.jetpackduba.gitnuro.ui.context_menu.commitedChangesEntriesContextMenuItems import com.jetpackduba.gitnuro.viewmodels.CommitChangesStatus import com.jetpackduba.gitnuro.viewmodels.CommitChangesViewModel -import com.jetpackduba.gitnuro.extensions.* -import com.jetpackduba.gitnuro.theme.* -import com.jetpackduba.gitnuro.ui.components.gitnuroViewModel -import com.jetpackduba.gitnuro.ui.context_menu.ContextMenu import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.eclipse.jgit.diff.DiffEntry @@ -54,6 +53,7 @@ fun CommitChanges( CommitChangesStatus.Loading -> { LinearProgressIndicator(modifier = Modifier.fillMaxWidth(), color = MaterialTheme.colors.primaryVariant) } + is CommitChangesStatus.Loaded -> { CommitChangesView( diffSelected = diffSelected, @@ -92,10 +92,11 @@ fun CommitChangesView( .weight(1f, fill = true) .background(MaterialTheme.colors.background) ) { - Box(modifier = Modifier - .fillMaxWidth() - .height(34.dp) - .background(MaterialTheme.colors.headerBackground), + Box( + modifier = Modifier + .fillMaxWidth() + .height(34.dp) + .background(MaterialTheme.colors.headerBackground), contentAlignment = Alignment.CenterStart, ) { Text( diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Menu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Menu.kt index 579753d..9730a63 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Menu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Menu.kt @@ -19,7 +19,6 @@ import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.extensions.handMouseClickable import com.jetpackduba.gitnuro.extensions.handOnHover diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/RebaseInteractive.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/RebaseInteractive.kt index 9535406..0692a25 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/RebaseInteractive.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/RebaseInteractive.kt @@ -41,6 +41,7 @@ fun RebaseInteractive( }, ) } + RebaseInteractiveState.Loading -> { CircularProgressIndicator(modifier = Modifier.align(Alignment.Center)) } @@ -92,10 +93,10 @@ fun RebaseStateLoaded( colors = textButtonColors(), ) { Text( - text = "Cancel", - color = MaterialTheme.colors.onBackground, - style = MaterialTheme.typography.body1, - ) + text = "Cancel", + color = MaterialTheme.colors.onBackground, + style = MaterialTheme.typography.body1, + ) } PrimaryButton( modifier = Modifier.padding(end = 16.dp), diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Remotes.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Remotes.kt index 057c1c0..42f22b0 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Remotes.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Remotes.kt @@ -12,13 +12,10 @@ import androidx.compose.material.MaterialTheme import androidx.compose.runtime.* import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier -import androidx.compose.ui.input.pointer.PointerIconDefaults -import androidx.compose.ui.input.pointer.pointerHoverIcon import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.extensions.handOnHover import com.jetpackduba.gitnuro.extensions.simpleName - import com.jetpackduba.gitnuro.ui.components.SideMenuPanel import com.jetpackduba.gitnuro.ui.components.SideMenuSubentry import com.jetpackduba.gitnuro.ui.components.VerticalExpandable diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/RepositoryOpen.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/RepositoryOpen.kt index ffce706..41785b2 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/RepositoryOpen.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/RepositoryOpen.kt @@ -99,7 +99,7 @@ fun RepositoryOpenPage(tabViewModel: TabViewModel) { onClose = { showQuickActionsDialog = false }, onAction = { showQuickActionsDialog = false - when(it) { + when (it) { QuickActionType.OPEN_DIR_IN_FILE_MANAGER -> tabViewModel.openFolderInFileExplorer() QuickActionType.CLONE -> TODO() } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Stashes.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Stashes.kt index d278c97..3a95053 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/Stashes.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/Stashes.kt @@ -1,6 +1,5 @@ package com.jetpackduba.gitnuro.ui -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/UncommitedChanges.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/UncommitedChanges.kt index 5958e3b..e3cbd5c 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/UncommitedChanges.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/UncommitedChanges.kt @@ -6,7 +6,9 @@ import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut -import androidx.compose.foundation.* +import androidx.compose.foundation.ExperimentalFoundationApi +import androidx.compose.foundation.background +import androidx.compose.foundation.hoverable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.collectIsHoveredAsState import androidx.compose.foundation.layout.* diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/WelcomePage.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/WelcomePage.kt index 6840ebd..6911e8a 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/WelcomePage.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/WelcomePage.kt @@ -4,7 +4,6 @@ package com.jetpackduba.gitnuro.ui import androidx.compose.foundation.Image import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/components/SideMenuSubentry.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/components/SideMenuSubentry.kt index 7ea90c5..2b30b03 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/components/SideMenuSubentry.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/components/SideMenuSubentry.kt @@ -3,7 +3,6 @@ package com.jetpackduba.gitnuro.ui.components import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.* import androidx.compose.material.Icon @@ -13,7 +12,6 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/BranchContextMenu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/BranchContextMenu.kt index 915d881..06e3056 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/BranchContextMenu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/BranchContextMenu.kt @@ -77,7 +77,7 @@ fun branchContextMenuItems( ) } - if(lastOrNull() == ContextMenuElement.ContextSeparator) { + if (lastOrNull() == ContextMenuElement.ContextSeparator) { removeLast() } } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/CommitedChangesEntriesContextMenu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/CommitedChangesEntriesContextMenu.kt index 1e6d612..dfdd559 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/CommitedChangesEntriesContextMenu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/CommitedChangesEntriesContextMenu.kt @@ -1,6 +1,5 @@ package com.jetpackduba.gitnuro.ui.context_menu -import androidx.compose.foundation.ContextMenuItem import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.ui.res.painterResource import org.eclipse.jgit.diff.DiffEntry diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/ContextMenu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/ContextMenu.kt index 05bac7e..bbc45a6 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/ContextMenu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/ContextMenu.kt @@ -17,13 +17,11 @@ import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.input.key.onPreviewKeyEvent import androidx.compose.ui.input.pointer.* import androidx.compose.ui.unit.* -import androidx.compose.ui.util.fastAll import androidx.compose.ui.window.Popup import androidx.compose.ui.window.PopupPositionProvider import com.jetpackduba.gitnuro.extensions.awaitFirstDownEvent import com.jetpackduba.gitnuro.keybindings.KeybindingOption import com.jetpackduba.gitnuro.keybindings.matchesBinding - import com.jetpackduba.gitnuro.theme.secondaryTextColor import java.awt.event.MouseEvent import kotlin.math.abs diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/RemoteBranchesContextMenu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/RemoteBranchesContextMenu.kt index e6964a9..d0e08a8 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/RemoteBranchesContextMenu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/RemoteBranchesContextMenu.kt @@ -2,7 +2,6 @@ package com.jetpackduba.gitnuro.ui.context_menu -import androidx.compose.foundation.ContextMenuItem import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.ui.res.painterResource diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/TagContextMenu.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/TagContextMenu.kt index aef5441..5e4d408 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/TagContextMenu.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/context_menu/TagContextMenu.kt @@ -1,6 +1,5 @@ package com.jetpackduba.gitnuro.ui.context_menu -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.ui.res.painterResource fun tagContextMenuItems( diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/CloneDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/CloneDialog.kt index 602c17b..e2da802 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/CloneDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/CloneDialog.kt @@ -274,10 +274,10 @@ private fun Cloning(cloneViewModel: CloneViewModel, cloneStatusValue: CloneStatu } ) { Text( - text = "Cancel", - color = MaterialTheme.colors.onBackground, - style = MaterialTheme.typography.body1, - ) + text = "Cancel", + color = MaterialTheme.colors.onBackground, + style = MaterialTheme.typography.body1, + ) } } } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/EditRemotesDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/EditRemotesDialog.kt index ea905f7..ff18c00 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/EditRemotesDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/EditRemotesDialog.kt @@ -9,15 +9,15 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Clear import androidx.compose.runtime.* import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier -import androidx.compose.ui.input.pointer.PointerIconDefaults -import androidx.compose.ui.input.pointer.pointerHoverIcon import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.extensions.handMouseClickable import com.jetpackduba.gitnuro.extensions.handOnHover -import com.jetpackduba.gitnuro.theme.* +import com.jetpackduba.gitnuro.theme.backgroundSelected +import com.jetpackduba.gitnuro.theme.outlinedTextFieldColors +import com.jetpackduba.gitnuro.theme.secondaryTextColor +import com.jetpackduba.gitnuro.theme.textButtonColors import com.jetpackduba.gitnuro.ui.components.AdjustableOutlinedTextField import com.jetpackduba.gitnuro.ui.components.PrimaryButton import com.jetpackduba.gitnuro.viewmodels.RemotesViewModel diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewBranchDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewBranchDialog.kt index fb67c53..8d07c5f 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewBranchDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewBranchDialog.kt @@ -1,7 +1,9 @@ package com.jetpackduba.gitnuro.ui.dialogs import androidx.compose.foundation.layout.* -import androidx.compose.material.* +import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewTagDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewTagDialog.kt index 79dbc22..06137ea 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewTagDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/NewTagDialog.kt @@ -1,7 +1,9 @@ package com.jetpackduba.gitnuro.ui.dialogs import androidx.compose.foundation.layout.* -import androidx.compose.material.* +import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -16,7 +18,6 @@ import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.keybindings.KeybindingOption import com.jetpackduba.gitnuro.keybindings.matchesBinding import com.jetpackduba.gitnuro.theme.secondaryTextColor -import com.jetpackduba.gitnuro.theme.textButtonColors import com.jetpackduba.gitnuro.ui.components.AdjustableOutlinedTextField import com.jetpackduba.gitnuro.ui.components.PrimaryButton diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/PasswordDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/PasswordDialog.kt index f40cf26..fe28795 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/PasswordDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/PasswordDialog.kt @@ -1,8 +1,9 @@ package com.jetpackduba.gitnuro.ui.dialogs -import androidx.compose.foundation.background import androidx.compose.foundation.layout.* -import androidx.compose.material.* +import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -18,7 +19,6 @@ import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.keybindings.KeybindingOption import com.jetpackduba.gitnuro.keybindings.matchesBinding import com.jetpackduba.gitnuro.theme.outlinedTextFieldColors - import com.jetpackduba.gitnuro.theme.secondaryTextColor import com.jetpackduba.gitnuro.ui.components.AdjustableOutlinedTextField import com.jetpackduba.gitnuro.ui.components.PrimaryButton diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/ResetDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/ResetDialog.kt index a1c84bd..b2e82b6 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/ResetDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/ResetDialog.kt @@ -18,7 +18,6 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.git.log.ResetType import com.jetpackduba.gitnuro.theme.secondaryTextColor -import com.jetpackduba.gitnuro.theme.textButtonColors import com.jetpackduba.gitnuro.ui.components.PrimaryButton @Composable diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/StashWithMessageDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/StashWithMessageDialog.kt index 8e498dd..02f4ab9 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/StashWithMessageDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/StashWithMessageDialog.kt @@ -1,7 +1,9 @@ package com.jetpackduba.gitnuro.ui.dialogs import androidx.compose.foundation.layout.* -import androidx.compose.material.* +import androidx.compose.material.Icon +import androidx.compose.material.MaterialTheme +import androidx.compose.material.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/UserPasswordDialog.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/UserPasswordDialog.kt index 6f69984..903d5ff 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/UserPasswordDialog.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/dialogs/UserPasswordDialog.kt @@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.* import androidx.compose.material.MaterialTheme import androidx.compose.material.OutlinedTextField import androidx.compose.material.Text -import androidx.compose.material.TextButton import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -19,8 +18,6 @@ import androidx.compose.ui.unit.dp import com.jetpackduba.gitnuro.keybindings.KeybindingOption import com.jetpackduba.gitnuro.keybindings.matchesBinding import com.jetpackduba.gitnuro.theme.outlinedTextFieldColors - -import com.jetpackduba.gitnuro.theme.textButtonColors import com.jetpackduba.gitnuro.ui.components.PrimaryButton @Composable diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/Diff.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/Diff.kt index d0554cf..dcd84e0 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/Diff.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/diff/Diff.kt @@ -126,9 +126,9 @@ fun Diff( diffViewModel.resetHunk(entry, hunk) }, onActionTriggered = { entry, hunk, line -> - if(diffEntryType is DiffEntryType.UnstagedDiff) + if (diffEntryType is DiffEntryType.UnstagedDiff) diffViewModel.stageHunkLine(entry, hunk, line) - else if(diffEntryType is DiffEntryType.StagedDiff) + else if (diffEntryType is DiffEntryType.StagedDiff) diffViewModel.unstageHunkLine(entry, hunk, line) } ) @@ -147,9 +147,9 @@ fun Diff( diffViewModel.resetHunk(entry, hunk) }, onActionTriggered = { entry, hunk, line -> - if(diffEntryType is DiffEntryType.UnstagedDiff) + if (diffEntryType is DiffEntryType.UnstagedDiff) diffViewModel.stageHunkLine(entry, hunk, line) - else if(diffEntryType is DiffEntryType.StagedDiff) + else if (diffEntryType is DiffEntryType.StagedDiff) diffViewModel.unstageHunkLine(entry, hunk, line) } ) @@ -283,7 +283,7 @@ private fun StaticImage(tempImagePath: String) { modifier = Modifier .run { val safeImage = image - if(safeImage == null) + if (safeImage == null) fillMaxSize() else { width(safeImage.width.dp) @@ -424,7 +424,7 @@ fun HunkSplitTextDiff( newLine = linesPair.second, selectableSide = selectableSide, diffEntryType = diffEntryType, - onActionTriggered = {line -> + onActionTriggered = { line -> onActionTriggered(diffResult.diffEntry, splitHunk.sourceHunk, line) }, onChangeSelectableSide = { newSelectableSide -> @@ -627,7 +627,7 @@ private fun DiffHeader( val fileName = diffEntry.fileName val dirPath: String = diffEntry.parentDirectoryPath - if(dirPath.isNotEmpty()) { + if (dirPath.isNotEmpty()) { Text( text = dirPath, style = MaterialTheme.typography.body2, diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/ui/log/Log.kt b/src/main/kotlin/com/jetpackduba/gitnuro/ui/log/Log.kt index c706ab3..db1a8cb 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/ui/log/Log.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/ui/log/Log.kt @@ -24,7 +24,6 @@ import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.drawscope.clipRect import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.key.KeyEventType diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/BranchesViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/BranchesViewModel.kt index b3126a6..884f4d4 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/BranchesViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/BranchesViewModel.kt @@ -42,9 +42,9 @@ class BranchesViewModel @Inject constructor( init { tabScope.launch { tabState.refreshFlowFiltered(RefreshType.ALL_DATA) - { - refresh(tabState.git) - } + { + refresh(tabState.git) + } } } @@ -64,7 +64,6 @@ class BranchesViewModel @Inject constructor( } - fun mergeBranch(ref: Ref) = tabState.safeProcessing( refreshType = RefreshType.ALL_DATA, ) { git -> diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/HistoryViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/HistoryViewModel.kt index 8508510..3b2ee2e 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/HistoryViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/HistoryViewModel.kt @@ -3,14 +3,14 @@ package com.jetpackduba.gitnuro.viewmodels import androidx.compose.foundation.lazy.LazyListState import com.jetpackduba.gitnuro.exceptions.MissingDiffEntryException import com.jetpackduba.gitnuro.extensions.filePath -import com.jetpackduba.gitnuro.git.diff.DiffResult -import com.jetpackduba.gitnuro.git.diff.FormatDiffUseCase -import com.jetpackduba.gitnuro.preferences.AppSettings -import com.jetpackduba.gitnuro.git.diff.GenerateSplitHunkFromDiffResultUseCase -import com.jetpackduba.gitnuro.git.diff.GetCommitDiffEntriesUseCase import com.jetpackduba.gitnuro.git.DiffEntryType import com.jetpackduba.gitnuro.git.RefreshType import com.jetpackduba.gitnuro.git.TabState +import com.jetpackduba.gitnuro.git.diff.DiffResult +import com.jetpackduba.gitnuro.git.diff.FormatDiffUseCase +import com.jetpackduba.gitnuro.git.diff.GenerateSplitHunkFromDiffResultUseCase +import com.jetpackduba.gitnuro.git.diff.GetCommitDiffEntriesUseCase +import com.jetpackduba.gitnuro.preferences.AppSettings import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/MenuViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/MenuViewModel.kt index 254d3ea..7f2a9c3 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/MenuViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/MenuViewModel.kt @@ -1,14 +1,13 @@ package com.jetpackduba.gitnuro.viewmodels +import com.jetpackduba.gitnuro.git.RefreshType +import com.jetpackduba.gitnuro.git.TabState import com.jetpackduba.gitnuro.git.remote_operations.FetchAllBranchesUseCase import com.jetpackduba.gitnuro.git.remote_operations.PullBranchUseCase import com.jetpackduba.gitnuro.git.remote_operations.PushBranchUseCase -import com.jetpackduba.gitnuro.git.RefreshType -import com.jetpackduba.gitnuro.git.TabState import com.jetpackduba.gitnuro.git.stash.PopLastStashUseCase import com.jetpackduba.gitnuro.git.stash.StashChangesUseCase import com.jetpackduba.gitnuro.git.workspace.StageUntrackedFileUseCase -import java.awt.Desktop import javax.inject.Inject class MenuViewModel @Inject constructor( @@ -47,6 +46,7 @@ class MenuViewModel @Inject constructor( stageUntrackedFileUseCase(git) stashChangesUseCase(git, null) } + fun popStash() = tabState.safeProcessing( refreshType = RefreshType.UNCOMMITED_CHANGES_AND_LOG, refreshEvenIfCrashes = true, diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/RemotesViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/RemotesViewModel.kt index f8ba39e..cbf7a21 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/RemotesViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/RemotesViewModel.kt @@ -1,11 +1,11 @@ package com.jetpackduba.gitnuro.viewmodels import com.jetpackduba.gitnuro.exceptions.InvalidRemoteUrlException +import com.jetpackduba.gitnuro.git.RefreshType +import com.jetpackduba.gitnuro.git.TabState import com.jetpackduba.gitnuro.git.branches.DeleteLocallyRemoteBranchesUseCase import com.jetpackduba.gitnuro.git.branches.GetRemoteBranchesUseCase import com.jetpackduba.gitnuro.git.remote_operations.DeleteRemoteBranchUseCase -import com.jetpackduba.gitnuro.git.RefreshType -import com.jetpackduba.gitnuro.git.TabState import com.jetpackduba.gitnuro.git.remotes.* import com.jetpackduba.gitnuro.ui.dialogs.RemoteWrapper import kotlinx.coroutines.CoroutineScope @@ -37,9 +37,9 @@ class RemotesViewModel @Inject constructor( init { tabScope.launch { tabState.refreshFlowFiltered(RefreshType.ALL_DATA, RefreshType.REMOTES) - { - refresh(tabState.git) - } + { + refresh(tabState.git) + } } } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/StatusViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/StatusViewModel.kt index 0082797..549d65a 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/StatusViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/StatusViewModel.kt @@ -13,11 +13,14 @@ import com.jetpackduba.gitnuro.git.rebase.ContinueRebaseUseCase import com.jetpackduba.gitnuro.git.rebase.SkipRebaseUseCase import com.jetpackduba.gitnuro.git.repository.ResetRepositoryStateUseCase import com.jetpackduba.gitnuro.git.workspace.* -import kotlinx.coroutines.* +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import org.eclipse.jgit.api.Git import org.eclipse.jgit.lib.RepositoryState import java.io.File diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/SubmodulesViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/SubmodulesViewModel.kt index 71df425..17057c9 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/SubmodulesViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/SubmodulesViewModel.kt @@ -27,9 +27,9 @@ class SubmodulesViewModel @Inject constructor( init { tabScope.launch { tabState.refreshFlowFiltered(RefreshType.ALL_DATA, RefreshType.SUBMODULES) - { - refresh(tabState.git) - } + { + refresh(tabState.git) + } } } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModel.kt index d5d7440..4f5741b 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModel.kt @@ -128,9 +128,9 @@ class TabViewModel @Inject constructor( launch { tabState.refreshFlowFiltered(RefreshType.ALL_DATA, RefreshType.REPO_STATE) - { - loadRepositoryState(tabState.git) - } + { + loadRepositoryState(tabState.git) + } } } } diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModelsHolder.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModelsHolder.kt index cae826c..2447adf 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModelsHolder.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TabViewModelsHolder.kt @@ -1,14 +1,6 @@ package com.jetpackduba.gitnuro.viewmodels -import com.jetpackduba.gitnuro.AppStateManager -import com.jetpackduba.gitnuro.credentials.CredentialsStateManager import com.jetpackduba.gitnuro.di.TabScope -import com.jetpackduba.gitnuro.git.FileChangesWatcher -import com.jetpackduba.gitnuro.git.TabState -import com.jetpackduba.gitnuro.git.repository.GetRepositoryStateUseCase -import com.jetpackduba.gitnuro.git.repository.InitLocalRepositoryUseCase -import com.jetpackduba.gitnuro.git.repository.OpenRepositoryUseCase -import com.jetpackduba.gitnuro.updates.UpdatesRepository import javax.inject.Inject import javax.inject.Provider diff --git a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TagsViewModel.kt b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TagsViewModel.kt index 9f7c072..ecb6be8 100644 --- a/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TagsViewModel.kt +++ b/src/main/kotlin/com/jetpackduba/gitnuro/viewmodels/TagsViewModel.kt @@ -29,9 +29,9 @@ class TagsViewModel @Inject constructor( init { tabScope.launch { tabState.refreshFlowFiltered(RefreshType.ALL_DATA, RefreshType.STASHES) - { - refresh(tabState.git) - } + { + refresh(tabState.git) + } } } diff --git a/src/main/resources/blame.svg b/src/main/resources/blame.svg index 543143c..338d162 100644 --- a/src/main/resources/blame.svg +++ b/src/main/resources/blame.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/bolt.svg b/src/main/resources/bolt.svg index 54a2d2d..4d19592 100644 --- a/src/main/resources/bolt.svg +++ b/src/main/resources/bolt.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/main/resources/branch.svg b/src/main/resources/branch.svg index a02e539..b0ff232 100644 --- a/src/main/resources/branch.svg +++ b/src/main/resources/branch.svg @@ -1,7 +1,9 @@ - - - - - + + + + + diff --git a/src/main/resources/chevron_right.svg b/src/main/resources/chevron_right.svg index b0428e2..f58f4ab 100644 --- a/src/main/resources/chevron_right.svg +++ b/src/main/resources/chevron_right.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/cloud.svg b/src/main/resources/cloud.svg index e51022c..3252d06 100644 --- a/src/main/resources/cloud.svg +++ b/src/main/resources/cloud.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/computer.svg b/src/main/resources/computer.svg index 4191072..c950437 100644 --- a/src/main/resources/computer.svg +++ b/src/main/resources/computer.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/delete.svg b/src/main/resources/delete.svg index 69a6835..dbc0297 100644 --- a/src/main/resources/delete.svg +++ b/src/main/resources/delete.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/download.svg b/src/main/resources/download.svg index aef6043..44e81e2 100644 --- a/src/main/resources/download.svg +++ b/src/main/resources/download.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/dropdown.svg b/src/main/resources/dropdown.svg index 49d3d0f..1f40255 100644 --- a/src/main/resources/dropdown.svg +++ b/src/main/resources/dropdown.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/expand_more.svg b/src/main/resources/expand_more.svg index b615405..4b26912 100644 --- a/src/main/resources/expand_more.svg +++ b/src/main/resources/expand_more.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/history.svg b/src/main/resources/history.svg index 3f7c900..02c790c 100644 --- a/src/main/resources/history.svg +++ b/src/main/resources/history.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/lock.svg b/src/main/resources/lock.svg index 1a38f2f..2e9f825 100644 --- a/src/main/resources/lock.svg +++ b/src/main/resources/lock.svg @@ -1 +1,7 @@ - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/src/main/resources/revert.svg b/src/main/resources/revert.svg index 432583a..c7ee06d 100644 --- a/src/main/resources/revert.svg +++ b/src/main/resources/revert.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/settings.svg b/src/main/resources/settings.svg index 4165162..bbc8a6a 100644 --- a/src/main/resources/settings.svg +++ b/src/main/resources/settings.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/start.svg b/src/main/resources/start.svg index 57cfaf3..eb43ff2 100644 --- a/src/main/resources/start.svg +++ b/src/main/resources/start.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/tag.svg b/src/main/resources/tag.svg index 67e58c6..c6a3d4c 100644 --- a/src/main/resources/tag.svg +++ b/src/main/resources/tag.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/src/main/resources/topic.svg b/src/main/resources/topic.svg index 20de9ac..e940328 100644 --- a/src/main/resources/topic.svg +++ b/src/main/resources/topic.svg @@ -1 +1,7 @@ - \ No newline at end of file + + + + + + \ No newline at end of file diff --git a/src/main/resources/undo.svg b/src/main/resources/undo.svg index 5375947..591ab00 100644 --- a/src/main/resources/undo.svg +++ b/src/main/resources/undo.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/main/resources/upload.svg b/src/main/resources/upload.svg index 632b758..da0c504 100644 --- a/src/main/resources/upload.svg +++ b/src/main/resources/upload.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/test/kotlin/com/jetpackduba/gitnuro/app/git/BeforeRepoAllTestsExtension.kt b/src/test/kotlin/com/jetpackduba/gitnuro/app/git/BeforeRepoAllTestsExtension.kt index 55b496a..2cfbafc 100644 --- a/src/test/kotlin/com/jetpackduba/gitnuro/app/git/BeforeRepoAllTestsExtension.kt +++ b/src/test/kotlin/com/jetpackduba/gitnuro/app/git/BeforeRepoAllTestsExtension.kt @@ -32,7 +32,8 @@ class BeforeRepoAllTestsExtension : BeforeAllCallback, AfterAllCallback { // The following line registers a callback hook when the root test context is shut down context.root.getStore(GLOBAL).put("gitnuro_tests", this) - val cloneRepositoryUseCase = CloneRepositoryUseCase(HandleTransportUseCase(GSessionManager { GRemoteSession { GProcess() } })) + val cloneRepositoryUseCase = + CloneRepositoryUseCase(HandleTransportUseCase(GSessionManager { GRemoteSession { GProcess() } })) cloneRepositoryUseCase(repoDir, REPO_URL) .flowOn(Dispatchers.IO) .collect { newCloneStatus ->