mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-227357 LightEdit: Indicate unsaved status on editor tab
GitOrigin-RevId: 0cf43f79b8257de38bb7848fa8bcfa34a1a14e08
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a9711b468a
commit
b7266236d3
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user