mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
IDEA-259922 Regression: Preview tab isn't underlined when any error in the file
GitOrigin-RevId: 5d482aa55faec6934087de60b3d96d14d628dc35
This commit is contained in:
committed by
intellij-monorepo-bot
parent
31cb713239
commit
8a09c16c50
@@ -32,7 +32,6 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.ui.ComponentWithMnemonics;
|
||||
import com.intellij.ui.InplaceButton;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.ui.docking.DockContainer;
|
||||
import com.intellij.ui.docking.DockManager;
|
||||
import com.intellij.ui.docking.DockableContent;
|
||||
@@ -182,10 +181,6 @@ public final class EditorTabbedContainer implements CloseAction.CloseTarget {
|
||||
myTabs.getTabAt(index).setDefaultForeground(color);
|
||||
}
|
||||
|
||||
void setStyleAt(int index, @SimpleTextAttributes.StyleAttributeConstant int style) {
|
||||
myTabs.getTabAt(index).setDefaultStyle(style);
|
||||
}
|
||||
|
||||
void setTextAttributes(int index, @Nullable TextAttributes attributes) {
|
||||
TabInfo tab = myTabs.getTabAt(index);
|
||||
tab.setDefaultAttributes(attributes);
|
||||
|
||||
@@ -28,7 +28,6 @@ import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.ui.LayeredIcon;
|
||||
import com.intellij.ui.OnePixelSplitter;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.ui.scale.JBUIScale;
|
||||
import com.intellij.ui.tabs.impl.JBTabsImpl;
|
||||
import com.intellij.ui.tabs.impl.tabsLayout.TabsLayoutInfo;
|
||||
@@ -321,10 +320,6 @@ public final class EditorWindow {
|
||||
myTabbedPane.setForegroundAt(index, color);
|
||||
}
|
||||
|
||||
void setStyleAt(int index, @SimpleTextAttributes.StyleAttributeConstant int style) {
|
||||
myTabbedPane.setStyleAt(index, style);
|
||||
}
|
||||
|
||||
void setTextAttributes(int index, @Nullable TextAttributes attributes) {
|
||||
myTabbedPane.setTextAttributes(index, attributes);
|
||||
}
|
||||
@@ -569,7 +564,7 @@ public final class EditorWindow {
|
||||
myOwner.updateFileIconLater(file);
|
||||
myOwner.updateFileColor(file);
|
||||
}
|
||||
myOwner.updateFileStyle(editor.getFile());
|
||||
myOwner.updateFileColor(editor.getFile());
|
||||
myOwner.setCurrentWindow(this, false);
|
||||
hideTabsIfNeeded(editor);
|
||||
}
|
||||
@@ -952,7 +947,7 @@ public final class EditorWindow {
|
||||
editorComposite.setPinned(pinned);
|
||||
if (editorComposite.isPreview()) {
|
||||
editorComposite.setPreview(false);
|
||||
myOwner.updateFileStyle(file);
|
||||
myOwner.updateFileColor(file);
|
||||
}
|
||||
if (wasPinned != pinned && ApplicationManager.getApplication().isDispatchThread()) {
|
||||
ObjectUtils.consumeIfCast(getTabbedPane().getTabs(), JBTabsImpl.class, JBTabsImpl::doLayout);
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.colors.CodeInsightColors;
|
||||
import com.intellij.openapi.editor.colors.EditorColorsManager;
|
||||
import com.intellij.openapi.editor.colors.EditorColorsScheme;
|
||||
import com.intellij.openapi.editor.markup.TextAttributes;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.openapi.fileEditor.FileEditor;
|
||||
import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
|
||||
@@ -416,22 +417,18 @@ public class EditorsSplitters extends IdePanePanel implements UISettingsListener
|
||||
}
|
||||
|
||||
void updateFileColor(@NotNull VirtualFile file) {
|
||||
Collection<EditorWindow> windows = findWindows(file);
|
||||
for (EditorWindow window : windows) {
|
||||
int index = window.findEditorIndex(window.findFileComposite(file));
|
||||
LOG.assertTrue(index != -1);
|
||||
window.setForegroundAt(index, getManager().getFileColor(file));
|
||||
window.setTextAttributes(index, getManager().isProblem(file) ? colorScheme.getAttributes(CodeInsightColors.ERRORS_ATTRIBUTES) : null);
|
||||
}
|
||||
}
|
||||
|
||||
void updateFileStyle(@NotNull VirtualFile file) {
|
||||
Collection<EditorWindow> windows = findWindows(file);
|
||||
for (EditorWindow window : windows) {
|
||||
EditorWithProviderComposite composite = window.findFileComposite(file);
|
||||
int index = window.findEditorIndex(composite);
|
||||
LOG.assertTrue(index != -1);
|
||||
window.setStyleAt(index, composite != null && composite.isPreview() ? SimpleTextAttributes.STYLE_ITALIC : -1);
|
||||
window.setForegroundAt(index, getManager().getFileColor(file));
|
||||
TextAttributes attributes = getManager().isProblem(file) ? colorScheme.getAttributes(CodeInsightColors.ERRORS_ATTRIBUTES) : null;
|
||||
if (composite != null && composite.isPreview()) {
|
||||
var italic = new TextAttributes(null, null, null, null, Font.ITALIC);
|
||||
attributes = (attributes == null) ? italic : TextAttributes.merge(italic, attributes);
|
||||
}
|
||||
window.setTextAttributes(index, attributes);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -425,7 +425,7 @@ public class FileEditorManagerImpl extends FileEditorManagerEx implements Persis
|
||||
splitter.findEditorComposites(file).stream()
|
||||
.filter(EditorComposite::isPreview)
|
||||
.forEach(c -> c.setPreview(false));
|
||||
splitter.updateFileStyle(file);
|
||||
splitter.updateFileColor(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user