Removed completly dialog manager
This commit is contained in:
parent
3c3b044c80
commit
e23181d530
@ -28,7 +28,6 @@ import app.theme.AppTheme
|
||||
import app.ui.AppTab
|
||||
import app.ui.components.RepositoriesTabPanel
|
||||
import app.ui.components.TabInformation
|
||||
import app.ui.dialogs.MaterialDialog
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Provider
|
||||
|
||||
@ -62,17 +61,8 @@ class Main {
|
||||
)
|
||||
) {
|
||||
AppTheme {
|
||||
val showDialog = remember { mutableStateOf(false) }
|
||||
val dialogManager = remember { DialogManager(showDialog) }
|
||||
|
||||
Box {
|
||||
AppTabs(dialogManager)
|
||||
|
||||
if (showDialog.value) {
|
||||
MaterialDialog {
|
||||
dialogManager.dialog()
|
||||
}
|
||||
}
|
||||
AppTabs()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -81,12 +71,11 @@ class Main {
|
||||
|
||||
|
||||
@Composable
|
||||
fun AppTabs(dialogManager: DialogManager) {
|
||||
fun AppTabs() {
|
||||
val tabs = remember {
|
||||
val repositoriesSavedTabs = appStateManager.openRepositoriesPathsTabs
|
||||
var repoTabs = repositoriesSavedTabs.map { repositoryTab ->
|
||||
newAppTab(
|
||||
dialogManager = dialogManager,
|
||||
key = repositoryTab.key,
|
||||
path = repositoryTab.value
|
||||
)
|
||||
@ -94,9 +83,7 @@ class Main {
|
||||
|
||||
if (repoTabs.isEmpty()) {
|
||||
repoTabs = listOf(
|
||||
newAppTab(
|
||||
dialogManager = dialogManager
|
||||
)
|
||||
newAppTab()
|
||||
)
|
||||
}
|
||||
|
||||
@ -111,7 +98,6 @@ class Main {
|
||||
Tabs(
|
||||
tabs = tabs,
|
||||
selectedTabKey = selectedTabKey,
|
||||
dialogManager = dialogManager,
|
||||
)
|
||||
|
||||
TabsContent(tabs.value, selectedTabKey.value)
|
||||
@ -122,7 +108,6 @@ class Main {
|
||||
fun Tabs(
|
||||
tabs: MutableState<List<TabInformation>>,
|
||||
selectedTabKey: MutableState<Int>,
|
||||
dialogManager: DialogManager,
|
||||
) {
|
||||
Row(
|
||||
modifier = Modifier
|
||||
@ -140,7 +125,6 @@ class Main {
|
||||
},
|
||||
newTabContent = { key ->
|
||||
newAppTab(
|
||||
dialogManager = dialogManager,
|
||||
key = key
|
||||
)
|
||||
},
|
||||
@ -168,7 +152,6 @@ class Main {
|
||||
}
|
||||
|
||||
private fun newAppTab(
|
||||
dialogManager: DialogManager,
|
||||
key: Int = 0,
|
||||
tabName: MutableState<String> = mutableStateOf("New tab"),
|
||||
path: String? = null,
|
||||
@ -186,7 +169,7 @@ class Main {
|
||||
appStateManager.repositoryTabChanged(key, path)
|
||||
}
|
||||
|
||||
AppTab(gitManager, dialogManager, path, tabName)
|
||||
AppTab(gitManager, path, tabName)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -218,24 +201,6 @@ private fun TabsContent(tabs: List<TabInformation>, selectedTabKey: Int) {
|
||||
}
|
||||
}
|
||||
|
||||
class DialogManager(private val showDialog: MutableState<Boolean>) {
|
||||
private var content: @Composable () -> Unit = {}
|
||||
|
||||
fun show(content: @Composable () -> Unit) {
|
||||
this.content = content
|
||||
showDialog.value = true
|
||||
}
|
||||
|
||||
fun dismiss() {
|
||||
showDialog.value = false
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun dialog() {
|
||||
content()
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun LoadingRepository() {
|
||||
Box { }
|
||||
|
@ -19,7 +19,6 @@ import androidx.compose.ui.graphics.DefaultAlpha
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.DialogManager
|
||||
import app.LoadingRepository
|
||||
import app.credentials.CredentialsState
|
||||
import app.git.GitManager
|
||||
@ -29,12 +28,10 @@ import app.ui.dialogs.PasswordDialog
|
||||
import app.ui.dialogs.UserPasswordDialog
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
|
||||
@OptIn(ExperimentalAnimationApi::class)
|
||||
@Composable
|
||||
fun AppTab(
|
||||
gitManager: GitManager,
|
||||
dialogManager: DialogManager,
|
||||
repositoryPath: String?,
|
||||
tabName: MutableState<String>
|
||||
) {
|
||||
@ -106,7 +103,7 @@ fun AppTab(
|
||||
LoadingRepository()
|
||||
}
|
||||
is RepositorySelectionStatus.Open -> {
|
||||
RepositoryOpenPage(gitManager = gitManager, dialogManager = dialogManager)
|
||||
RepositoryOpenPage(gitManager = gitManager)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ import androidx.compose.ui.graphics.SolidColor
|
||||
import androidx.compose.ui.input.pointer.PointerIcon
|
||||
import androidx.compose.ui.input.pointer.pointerHoverIcon
|
||||
import androidx.compose.ui.unit.dp
|
||||
import app.DialogManager
|
||||
import app.git.DiffEntryType
|
||||
import app.git.GitManager
|
||||
import app.ui.dialogs.NewBranchDialog
|
||||
@ -26,7 +25,7 @@ import java.awt.Cursor
|
||||
|
||||
@OptIn(ExperimentalSplitPaneApi::class, androidx.compose.ui.ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
fun RepositoryOpenPage(gitManager: GitManager, dialogManager: DialogManager) {
|
||||
fun RepositoryOpenPage(gitManager: GitManager) {
|
||||
var selectedRevCommit by remember {
|
||||
mutableStateOf<RevCommit?>(null)
|
||||
}
|
||||
@ -38,8 +37,22 @@ fun RepositoryOpenPage(gitManager: GitManager, dialogManager: DialogManager) {
|
||||
mutableStateOf(false)
|
||||
}
|
||||
|
||||
var showNewBranchDialog by remember { mutableStateOf(false) }
|
||||
|
||||
val selectedIndexCommitLog = remember { mutableStateOf(-1) }
|
||||
|
||||
if(showNewBranchDialog) {
|
||||
NewBranchDialog(
|
||||
onReject = {
|
||||
showNewBranchDialog = false
|
||||
},
|
||||
onAccept = { branchName ->
|
||||
gitManager.createBranch(branchName)
|
||||
showNewBranchDialog = false
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
Column {
|
||||
GMenu(
|
||||
onRepositoryOpen = {
|
||||
@ -49,19 +62,7 @@ fun RepositoryOpenPage(gitManager: GitManager, dialogManager: DialogManager) {
|
||||
onPush = { gitManager.push() },
|
||||
onStash = { gitManager.stash() },
|
||||
onPopStash = { gitManager.popStash() },
|
||||
onCreateBranch = {
|
||||
dialogManager.show {
|
||||
NewBranchDialog(
|
||||
onReject = {
|
||||
dialogManager.dismiss()
|
||||
},
|
||||
onAccept = { branchName ->
|
||||
gitManager.createBranch(branchName)
|
||||
dialogManager.dismiss()
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
onCreateBranch = { showNewBranchDialog = true }
|
||||
)
|
||||
|
||||
Row {
|
||||
|
@ -2,41 +2,32 @@
|
||||
|
||||
package app.ui
|
||||
|
||||
import androidx.compose.animation.Crossfade
|
||||
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
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.BiasAlignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.graphics.painter.Painter
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import app.git.GitManager
|
||||
import openRepositoryDialog
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.BiasAlignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.sp
|
||||
import app.DialogManager
|
||||
import app.extensions.dirName
|
||||
import app.extensions.dirPath
|
||||
import app.git.GitManager
|
||||
import app.theme.primaryTextColor
|
||||
import app.theme.secondaryTextColor
|
||||
import app.ui.dialogs.CloneDialog
|
||||
import app.ui.dialogs.MaterialDialog
|
||||
import openRepositoryDialog
|
||||
import java.awt.Desktop
|
||||
import java.net.URI
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.window.Popup
|
||||
import app.ui.dialogs.MaterialDialog
|
||||
|
||||
|
||||
@OptIn(ExperimentalMaterialApi::class)
|
||||
|
Loading…
Reference in New Issue
Block a user