diff --git a/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java b/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java index a6603f8da0a6..61b243c92d74 100644 --- a/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java +++ b/platform/lang-impl/src/com/intellij/application/options/colors/ClickNavigator.java @@ -32,6 +32,7 @@ import com.intellij.openapi.editor.highlighter.HighlighterIterator; import com.intellij.openapi.fileTypes.SyntaxHighlighter; import com.intellij.psi.tree.IElementType; import com.intellij.ui.ListScrollingUtil; +import com.intellij.util.ui.UIUtil; import javax.swing.*; import java.awt.*; @@ -168,7 +169,9 @@ public class ClickNavigator { } public static void setCursor(final Editor view, int type) { - view.getContentComponent().setCursor(Cursor.getPredefinedCursor(type)); + final Cursor cursor = type == Cursor.TEXT_CURSOR && view instanceof EditorEx ? + UIUtil.getTextCursor(((EditorEx)view).getBackgroundColor()) : Cursor.getPredefinedCursor(type); + view.getContentComponent().setCursor(cursor); } } diff --git a/platform/platform-impl/src/com/intellij/execution/impl/EditorHyperlinkSupport.java b/platform/platform-impl/src/com/intellij/execution/impl/EditorHyperlinkSupport.java index b08b964a9af7..52a60a229f77 100644 --- a/platform/platform-impl/src/com/intellij/execution/impl/EditorHyperlinkSupport.java +++ b/platform/platform-impl/src/com/intellij/execution/impl/EditorHyperlinkSupport.java @@ -26,6 +26,7 @@ import com.intellij.openapi.editor.colors.CodeInsightColors; import com.intellij.openapi.editor.colors.EditorColorsManager; import com.intellij.openapi.editor.event.EditorMouseAdapter; import com.intellij.openapi.editor.event.EditorMouseEvent; +import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.ex.MarkupModelEx; import com.intellij.openapi.editor.markup.HighlighterLayer; import com.intellij.openapi.editor.markup.HighlighterTargetArea; @@ -38,6 +39,7 @@ import com.intellij.util.BeforeAfter; import com.intellij.util.Consumer; import com.intellij.util.SmartList; import com.intellij.util.containers.HashMap; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -88,7 +90,10 @@ public class EditorHyperlinkSupport { myEditor.getContentComponent().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } else { - myEditor.getContentComponent().setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); + final Cursor cursor = editor instanceof EditorEx ? + UIUtil.getTextCursor(((EditorEx)editor).getBackgroundColor()) : + Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR); + myEditor.getContentComponent().setCursor(cursor); } } } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index bcf919d8a036..744647c23820 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -63,7 +63,6 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.IdeGlassPane; -import com.intellij.ui.ColorUtil; import com.intellij.ui.GuiUtils; import com.intellij.ui.LightweightHint; import com.intellij.ui.components.JBScrollBar; @@ -78,7 +77,6 @@ import com.intellij.util.containers.HashMap; import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.text.CharArrayUtil; import com.intellij.util.ui.ButtonlessScrollBarUI; -import com.intellij.util.ui.MacUIUtil; import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.update.UiNotifyConnector; import gnu.trove.TIntArrayList; @@ -3517,8 +3515,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi return; } } - myEditorComponent.setCursor(SystemInfo.isMac && ColorUtil.isDark(getBackgroundColor()) ? - MacUIUtil.getInvertedTextCursor(): Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); + myEditorComponent.setCursor(UIUtil.getTextCursor(getBackgroundColor())); } } diff --git a/platform/util/src/com/intellij/util/ui/UIUtil.java b/platform/util/src/com/intellij/util/ui/UIUtil.java index 8ce77d2e354c..f6c2a91e4252 100644 --- a/platform/util/src/com/intellij/util/ui/UIUtil.java +++ b/platform/util/src/com/intellij/util/ui/UIUtil.java @@ -89,6 +89,11 @@ public class UIUtil { } } + public static Cursor getTextCursor(final Color backgroundColor) { + return SystemInfo.isMac && ColorUtil.isDark(backgroundColor) ? + MacUIUtil.getInvertedTextCursor(): Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR); + } + public enum FontSize { NORMAL, SMALL, MINI } public enum ComponentStyle {REGULAR, SMALL, MINI} public enum FontColor {NORMAL, BRIGHTER}