mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
vcs: non-modal: Save commit options on project close (IDEA-218098)
GitOrigin-RevId: 9b5c41fe0b33e6dadf765c52d622f1f1675f8af9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
bb618442c0
commit
1dbdc088b9
@@ -48,7 +48,6 @@ class ChangesViewCommitWorkflowHandler(
|
||||
}
|
||||
|
||||
init {
|
||||
Disposer.register(this, Disposable { workflow.disposeCommitOptions() })
|
||||
Disposer.register(this, inclusionModel)
|
||||
Disposer.register(ui, this)
|
||||
|
||||
@@ -211,24 +210,36 @@ class ChangesViewCommitWorkflowHandler(
|
||||
|
||||
override fun addUnversionedFiles(): Boolean = addUnversionedFiles(workflow.getAffectedChangeList(getIncludedChanges()))
|
||||
|
||||
override fun saveCommitOptions(): Boolean {
|
||||
ensureCommitOptions()
|
||||
override fun saveCommitOptions(): Boolean = saveCommitOptions(true)
|
||||
|
||||
private fun saveCommitOptions(isEnsureOptionsCreated: Boolean): Boolean {
|
||||
if (isEnsureOptionsCreated) ensureCommitOptions()
|
||||
return super.saveCommitOptions()
|
||||
}
|
||||
|
||||
override fun saveCommitMessage(success: Boolean) = commitMessagePolicy.save(currentChangeList, getCommitMessage(), success)
|
||||
|
||||
// save state on project close - using this method ensures change list comment is updated before project state persisting
|
||||
override fun projectClosingBeforeSave(project: Project) = saveStateBeforeDispose()
|
||||
// save state on project close
|
||||
// using this method ensures change list comment and commit options are updated before project state persisting
|
||||
override fun projectClosingBeforeSave(project: Project) = dispose()
|
||||
|
||||
// save state on other events - like "settings changed to use commit dialog"
|
||||
override fun dispose() = saveStateBeforeDispose()
|
||||
override fun dispose() {
|
||||
saveStateBeforeDispose()
|
||||
disposeCommitOptions()
|
||||
}
|
||||
|
||||
private fun saveStateBeforeDispose() {
|
||||
saveCommitOptions(false)
|
||||
saveCommitMessage(false)
|
||||
currentChangeList = null
|
||||
}
|
||||
|
||||
private fun disposeCommitOptions() {
|
||||
workflow.disposeCommitOptions()
|
||||
areCommitOptionsCreated = false
|
||||
}
|
||||
|
||||
interface ActivityListener : EventListener {
|
||||
fun activityStateChanged()
|
||||
}
|
||||
@@ -239,8 +250,7 @@ class ChangesViewCommitWorkflowHandler(
|
||||
override fun onFailure(errors: List<VcsException>) = resetState()
|
||||
|
||||
private fun resetState() {
|
||||
workflow.disposeCommitOptions()
|
||||
areCommitOptionsCreated = false
|
||||
disposeCommitOptions()
|
||||
|
||||
workflow.clearCommitContext()
|
||||
initCommitHandlers()
|
||||
|
||||
Reference in New Issue
Block a user