mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
mem leak
This commit is contained in:
@@ -98,8 +98,6 @@ import java.util.concurrent.atomic.AtomicLong;
|
||||
public class SearchEverywhereAction extends AnAction implements CustomComponentAction, DumbAware{
|
||||
public static final int SEARCH_FIELD_COLUMNS = 25;
|
||||
private SearchEverywhereAction.MyListRenderer myRenderer;
|
||||
// private JPanel myContentPanel;
|
||||
MySearchTextField field;
|
||||
MySearchTextField myPopupField;
|
||||
private GotoClassModel2 myClassModel;
|
||||
private GotoFileModel myFileModel;
|
||||
@@ -280,32 +278,10 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA
|
||||
|
||||
}
|
||||
|
||||
private void createSearchField() {
|
||||
if (field != null) {
|
||||
Disposer.dispose(field);
|
||||
}
|
||||
field = new MySearchTextField();
|
||||
initSearchField(field);
|
||||
}
|
||||
|
||||
private void initSearchField(final MySearchTextField search) {
|
||||
final JTextField editor = search.getTextEditor();
|
||||
// editor.setOpaque(false);
|
||||
|
||||
new AnAction(){
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
jumpNextGroup(true);
|
||||
}
|
||||
}.registerCustomShortcutSet(CustomShortcutSet.fromString("TAB"), editor, search);
|
||||
new AnAction(){
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
jumpNextGroup(false);
|
||||
}
|
||||
}.registerCustomShortcutSet(CustomShortcutSet.fromString("shift TAB"), editor, search);
|
||||
|
||||
|
||||
editor.putClientProperty("JTextField.Search.noFocusRing", Boolean.TRUE);
|
||||
onFocusLost();
|
||||
editor.getDocument().addDocumentListener(new DocumentAdapter() {
|
||||
@@ -427,7 +403,7 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA
|
||||
}
|
||||
|
||||
private SearchTextField getField() {
|
||||
return myBalloon != null ? myPopupField : field;
|
||||
return myPopupField;
|
||||
}
|
||||
|
||||
private void doNavigate(int index) {
|
||||
@@ -452,7 +428,7 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA
|
||||
}
|
||||
final String pattern = getField().getText();
|
||||
final Object value = myList.getSelectedValue();
|
||||
IdeFocusManager focusManager = IdeFocusManager.findInstanceByComponent(field.getTextEditor());
|
||||
IdeFocusManager focusManager = IdeFocusManager.findInstanceByComponent(getField().getTextEditor());
|
||||
if (myPopup != null && myPopup.isVisible()) {
|
||||
myPopup.cancel();
|
||||
}
|
||||
@@ -522,7 +498,6 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA
|
||||
e = new AnActionEvent(me, DataManager.getInstance().getDataContext(myFocusComponent), ActionPlaces.UNKNOWN, getTemplatePresentation(), ActionManager.getInstance(), 0);
|
||||
}
|
||||
if (e == null) return;
|
||||
createSearchField();
|
||||
myContextComponent = PlatformDataKeys.CONTEXT_COMPONENT.getData(e.getDataContext());
|
||||
Window wnd = myContextComponent != null ? SwingUtilities.windowForComponent(myContextComponent)
|
||||
: KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow();
|
||||
@@ -581,10 +556,26 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA
|
||||
}
|
||||
}
|
||||
myBalloon.show(showPoint);
|
||||
initSearchActions(myBalloon, myPopupField);
|
||||
IdeFocusManager focusManager = IdeFocusManager.getInstance(e.getProject());
|
||||
focusManager.requestFocus(myPopupField.getTextEditor(), true);
|
||||
}
|
||||
|
||||
private void initSearchActions(JBPopup balloon, MySearchTextField searchTextField) {
|
||||
new AnAction(){
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
jumpNextGroup(true);
|
||||
}
|
||||
}.registerCustomShortcutSet(CustomShortcutSet.fromString("TAB"), searchTextField.getTextEditor(), balloon);
|
||||
new AnAction(){
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
jumpNextGroup(false);
|
||||
}
|
||||
}.registerCustomShortcutSet(CustomShortcutSet.fromString("shift TAB"), searchTextField.getTextEditor(), balloon);
|
||||
}
|
||||
|
||||
private static class MySearchTextField extends SearchTextField implements DataProvider, Disposable {
|
||||
public MySearchTextField() {
|
||||
super(false);
|
||||
|
||||
Reference in New Issue
Block a user