1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-06-01 01:34:07 +02:00

Only show mode widget popup on left mouse click

This commit is contained in:
Matt Ellis 2024-12-27 23:57:02 +00:00 committed by Alex Pláte
parent 0e587211d9
commit 5827ad1581

View File

@ -28,6 +28,7 @@ import java.awt.Point
import java.awt.event.MouseAdapter import java.awt.event.MouseAdapter
import java.awt.event.MouseEvent import java.awt.event.MouseEvent
import javax.swing.JComponent import javax.swing.JComponent
import javax.swing.SwingUtilities
import kotlin.math.max import kotlin.math.max
class VimModeWidget(val project: Project) : CustomStatusBarWidget, VimStatusBarWidget { class VimModeWidget(val project: Project) : CustomStatusBarWidget, VimStatusBarWidget {
@ -100,14 +101,20 @@ class VimModeWidget(val project: Project) : CustomStatusBarWidget, VimStatusBarW
label.addMouseListener(object : MouseAdapter() { label.addMouseListener(object : MouseAdapter() {
override fun mouseClicked(e: MouseEvent) { override fun mouseClicked(e: MouseEvent) {
val popup = ModeWidgetPopup.createPopup() ?: return if (SwingUtilities.isLeftMouseButton(e)) {
val dimension = popup.content.preferredSize val popup = ModeWidgetPopup.createPopup() ?: return
val dimension = popup.content.preferredSize
val widgetLocation = e.component.locationOnScreen val widgetLocation = e.component.locationOnScreen
popup.show(RelativePoint(Point( popup.show(
widgetLocation.x + e.component.width - dimension.width, RelativePoint(
widgetLocation.y - dimension.height, Point(
))) widgetLocation.x + e.component.width - dimension.width,
widgetLocation.y - dimension.height,
)
)
)
}
} }
}) })
} }