summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java')
-rw-r--r--platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java24
1 files changed, 17 insertions, 7 deletions
diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java
index 3fe38cea2ed3..e0a0d946c9c5 100644
--- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java
+++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,8 @@ package com.intellij.ide.navigationToolbar;
import com.intellij.ProjectTopics;
import com.intellij.ide.actions.CopyAction;
import com.intellij.ide.actions.CutAction;
+import com.intellij.ide.ui.LafManager;
+import com.intellij.ide.ui.LafManagerListener;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.AnActionListener;
@@ -57,7 +59,8 @@ import java.util.List;
*/
public class NavBarListener extends WolfTheProblemSolver.ProblemListener
implements ActionListener, FocusListener, FileStatusListener, AnActionListener, FileEditorManagerListener,
- PsiTreeChangeListener, ModuleRootListener, NavBarModelListener, PropertyChangeListener, KeyListener, WindowFocusListener {
+ PsiTreeChangeListener, ModuleRootListener, NavBarModelListener, PropertyChangeListener, KeyListener, WindowFocusListener,
+ LafManagerListener {
private static final String LISTENER = "NavBarListener";
private static final String BUS = "NavBarMessageBus";
private final NavBarPanel myPanel;
@@ -89,6 +92,8 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener
if (window != null) {
window.addWindowFocusListener(listener);
}
+ } else {
+ LafManager.getInstance().addLafManagerListener(listener);
}
}
@@ -107,6 +112,7 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener
if (connection != null) {
connection.disconnect();
}
+ LafManager.getInstance().removeLafManagerListener(listener);
}
}
@@ -356,15 +362,19 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener
}
@Override
- public void windowLostFocus(WindowEvent e) {
- final Window window = e.getWindow();
- final Window oppositeWindow = e.getOppositeWindow();
+ public void lookAndFeelChanged(LafManager source) {
+ myPanel.getNavBarUI().clearItems();
+ myPanel.revalidate();
+ myPanel.repaint();
}
+
//---- Ignored
@Override
- public void windowGainedFocus(WindowEvent e) {
- }
+ public void windowLostFocus(WindowEvent e) {}
+
+ @Override
+ public void windowGainedFocus(WindowEvent e) {}
@Override
public void keyTyped(KeyEvent e) {}