import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
+import com.intellij.openapi.wm.IdeFocusManager;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowId;
import com.intellij.openapi.wm.ToolWindowManager;
newPane.setTreeChangeListener(myTreeChangeListener);
myAutoScrollToSourceHandler.install(newPane.myTree);
- newPane.getComponentToFocus().requestFocus();
+ IdeFocusManager.getInstance(myProject).requestFocus(newPane.getComponentToFocus(), false);
updateToolWindowTitle();
newPane.restoreExpandedPaths();
private boolean myIsFiringLoadingEvent = false;
@NonNls private static final String WAS_EVER_SHOWN = "was.ever.shown";
- private boolean myActive = true;
+ private Boolean myActive;
protected void boostrapPicoContainer() {
super.boostrapPicoContainer();
if (frame instanceof IdeFrame) {
final IdeFrame ideFrame = (IdeFrame)frame;
- if (myActive != active) {
- myActive = active;
+ if (isActive() != active) {
+ myActive = Boolean.valueOf(active);
System.setProperty("idea.active", Boolean.valueOf(myActive).toString());
if (active) {
myDispatcher.getMulticaster().applicationActivated(ideFrame);
}
public boolean isActive() {
+ if (isUnitTestMode()) return true;
+
+ if (myActive == null) {
+ Window active = KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow();
+ return active != null;
+ }
+
return myActive;
}