From 730a1337eb31c971a79f8ae9c12cabb0fbdf905b Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 18 Jun 2012 13:55:25 +0400 Subject: [PATCH] don't save states if they set automatically after speed search --- .../src/com/intellij/ide/util/FileStructurePopup.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java index 162f52d21834..747cb5dbbe3b 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java +++ b/platform/lang-impl/src/com/intellij/ide/util/FileStructurePopup.java @@ -111,6 +111,7 @@ public class FileStructurePopup implements Disposable { private final FilteringTreeStructure myFilteringStructure; private PsiElement myInitialPsiElement; private Map myCheckBoxes = new HashMap(); + private List myAutoClicked = new ArrayList(); private String myTestSearchFilter; private final ActionCallback myTreeHasBuilt = new ActionCallback(); private boolean myInitialNodeIsLeaf; @@ -312,6 +313,7 @@ public class FileStructurePopup implements Disposable { if (myFilteringStructure.getRootElement().getChildren().length == 0) { for (JCheckBox box : myCheckBoxes.values()) { if (!box.isSelected()) { + myAutoClicked.add(box); box.doClick(); filter = ""; break; @@ -586,7 +588,9 @@ public class FileStructurePopup implements Disposable { chkFilter.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { final boolean state = chkFilter.isSelected(); - saveState(action, state); + if (!myAutoClicked.contains(chkFilter)) { + saveState(action, state); + } myTreeActionsOwner.setActionIncluded(action, action instanceof FileStructureFilter ? !state : state); //final String filter = mySpeedSearch.isPopupActive() ? mySpeedSearch.getEnteredPrefix() : null; //mySpeedSearch.hidePopup();