diff --git a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java index 52db05dd3eec..e0f717f6cae9 100644 --- a/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java +++ b/platform/platform-impl/src/com/intellij/ide/lightEdit/LightEditTabs.java @@ -10,6 +10,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.colors.EditorColorsManager; +import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.ui.tabs.TabInfo; import com.intellij.ui.tabs.TabsListener; @@ -93,12 +94,16 @@ class LightEditTabs extends JBEditorTabs { @Override public void update(@NotNull AnActionEvent e) { - e.getPresentation().setIcon(AllIcons.Actions.Close); + e.getPresentation().setIcon(getIcon()); e.getPresentation().setHoveredIcon(AllIcons.Actions.CloseHovered); e.getPresentation().setVisible(UISettings.getInstance().getShowCloseButton()); e.getPresentation().setText("Close. Alt-Click to Close Others."); } + private Icon getIcon() { + return + isUnsaved(myEditorInfo) ? AllIcons.General.Modified : AllIcons.Actions.Close; + } private void closeCurrentTab() { TabInfo tabInfo = findInfo(myEditorInfo); @@ -118,4 +123,8 @@ class LightEditTabs extends JBEditorTabs { } } + private static boolean isUnsaved(@NotNull LightEditorInfo info) { + return FileDocumentManager.getInstance().isFileModified(info.getFile()); + } + }