[vcs-log] update editor tab name on filters change

GitOrigin-RevId: 34724e523b4b0a70d3866fccc17833adf9892339
This commit is contained in:
Julia Beliaeva
2019-11-25 15:09:30 +00:00
committed by intellij-monorepo-bot
parent f453027d03
commit 077ef69357
2 changed files with 10 additions and 0 deletions
@@ -6,6 +6,7 @@ import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.application.invokeLater
import com.intellij.openapi.fileEditor.FileEditor
import com.intellij.openapi.fileEditor.FileEditorManager
import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx
import com.intellij.openapi.project.Project
import com.intellij.vcs.log.ui.VcsLogPanel
import com.intellij.vcs.log.ui.VcsLogUiEx
@@ -22,6 +23,12 @@ fun getExistingLogIds(project: Project): Set<String> {
return FileEditorManager.getInstance(project).allEditors.mapNotNullTo(mutableSetOf(), ::getLogId)
}
fun updateTabName(project: Project, ui: VcsLogUiEx) {
val fileEditorManager = FileEditorManagerEx.getInstanceEx(project)
val file = fileEditorManager.allEditors.first { getLogId(it) == ui.id }?.file
file?.let { fileEditorManager.updateFilePresentation(it) }
}
fun <U : VcsLogUiEx> openLogTab(project: Project, logManager: VcsLogManager, name: String,
factory: VcsLogManager.VcsLogUiFactory<U>, focus: Boolean): U {
val logUi = logManager.createLogUi(factory, VcsLogManager.LogWindowKind.EDITOR)
@@ -74,6 +74,9 @@ public class VcsLogTabsManager {
MainVcsLogUi ui;
if (kind == VcsLogManager.LogWindowKind.EDITOR) {
ui = VcsLogEditorUtilKt.openLogTab(myProject, manager, getFullName(tabId), factory, focus);
ui.addFilterListener(() -> {
VcsLogEditorUtilKt.updateTabName(myProject, ui);
});
}
else if (kind == VcsLogManager.LogWindowKind.TOOL_WINDOW) {
ui = VcsLogContentUtil.openLogTab(myProject, manager, VcsLogContentProvider.TAB_NAME, tabId, factory, focus);