mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
finish list popups on mouse release. It's more natural, doesn't lead to stuck mouse cursor, and should fix IDEA-48927 (Mouse click in a pop up moves cursor and makes selection in underlying editor)
This commit is contained in:
@@ -203,8 +203,8 @@ public class PopupChooserBuilder {
|
||||
|
||||
(list != null ? list : myChooserComponent).addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
if (UIUtil.isActionClick(e) && !UIUtil.isSelectionButtonDown(e) && !e.isConsumed()) {
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
if (UIUtil.isActionClick(e, MouseEvent.MOUSE_RELEASED) && !UIUtil.isSelectionButtonDown(e) && !e.isConsumed()) {
|
||||
closePopup(true, e, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ public class ListPopupImpl extends WizardPopup implements ListPopup {
|
||||
}
|
||||
|
||||
protected boolean isActionClick(MouseEvent e) {
|
||||
return UIUtil.isActionClick(e, MouseEvent.MOUSE_PRESSED, true);
|
||||
return UIUtil.isActionClick(e, MouseEvent.MOUSE_RELEASED, true);
|
||||
}
|
||||
|
||||
public Object getSelectedValue() {
|
||||
@@ -389,7 +389,7 @@ public class ListPopupImpl extends WizardPopup implements ListPopup {
|
||||
private class MyMouseListener extends MouseAdapter {
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
if (!isActionClick(e)) return;
|
||||
IdeEventQueue.getInstance().blockNextEvents(e); // sometimes, after popup close, MOUSE_RELEASE event delivers to other components
|
||||
final Object selectedValue = myList.getSelectedValue();
|
||||
|
||||
Reference in New Issue
Block a user