fun checkCollapse()

in src/main/kotlin/com/jetbrains/interactiveRebase/services/ActionService.kt [807:846]


    fun checkCollapse(e: AnActionEvent) {
        // check if nested-collapsing was present and enable collapsing to initial state
        if (checkIfNestedCollapsingPresent() && modelService.getSelectedBranch().getActualSelectedCommitsSize() == 0) {
            e.presentation.isEnabled = true
            return
        }
        // check if there are any already collapsed commits
        if (modelService.branchInfo.initialCommits.size <= 7) {
            if (modelService.graphInfo.addedBranch == null) {
                e.presentation.isEnabled = false
                return
            } else if (modelService.graphInfo.addedBranch!!.initialCommits.size <= 7) {
                e.presentation.isEnabled = false
                return
            }
        }

        if (modelService.graphInfo.mainBranch.currentCommits.any { it.isCollapsed }) {
            if (modelService.graphInfo.addedBranch != null) {
                if (modelService.graphInfo.addedBranch!!.currentCommits.any { it.isCollapsed }) {
                    e.presentation.isEnabled = false
                    return
                }
            } else {
                e.presentation.isEnabled = false
                return
            }
        }
        if (modelService.getSelectedBranch().getActualSelectedCommitsSize() == 1) {
            e.presentation.isEnabled = false
            return
        }

        if (modelService.getSelectedCommits().isEmpty()) {
            e.presentation.isEnabled = true
            return
        }

        e.presentation.isEnabled = checkSelectedCommitsAreInARange()
    }