@Override
protected void processMouseEvent(MouseEvent e) {
+ if (!isMultiSelectionEnabled() &&
+ (e.getModifiers() & Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()) != 0) {
+ // do not toggle selection with ctrl+click event in single-selection mode
+ e.consume();
+ }
if (UIUtil.isActionClick(e, MouseEvent.MOUSE_PRESSED) && isOnNextStepButton(e)) {
e.consume();
}
import javax.swing.*;
import java.awt.*;
+import java.awt.event.InputEvent;
import java.util.*;
import java.util.List;
setVisibleOnly(myRoot);
}
else {
- setVisible(myRoot, state);
+ if ((e.getModifiers() & InputEvent.CTRL_MASK) != 0) {
+ setVisibleOnly(myRoot);
+ }
+ else {
+ setVisible(myRoot, state);
+ }
}
myIcon.prepare(state);