Java 类com.intellij.openapi.application.ApplicationActivationListener 实例源码
项目:intellij-ce-playground
文件:PlaybackRunner.java
public PlaybackRunner(String script, StatusCallback callback, final boolean useDirectActionCall, boolean stopOnAppDeactivation, boolean useTypingTargets) {
myScript = script;
myCallback = callback;
myUseDirectActionCall = useDirectActionCall;
myUseTypingTargets = useTypingTargets;
myStopOnAppDeactivation = stopOnAppDeactivation;
myAppListener = new ApplicationActivationListener.Adapter() {
@Override
public void applicationDeactivated(IdeFrame ideFrame) {
if (myStopOnAppDeactivation) {
myCallback.message(null, "App lost focus, stopping...", StatusCallback.Type.message);
stop();
}
}
};
}
项目:intellij-ce-playground
文件:AppIcon.java
private boolean isAppActive() {
Application app = ApplicationManager.getApplication();
if (app != null && myAppListener == null) {
myAppListener = new ApplicationActivationListener.Adapter() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
hideProgress(ideFrame.getProject(), myCurrentProcessId);
_setOkBadge(ideFrame, false);
_setTextBadge(ideFrame, null);
}
};
app.getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC, myAppListener);
}
return app != null && app.isActive();
}
项目:consulo
文件:Alarm.java
public void addRequest(@Nonnull final Runnable request, final int delay, boolean runWithActiveFrameOnly) {
if (runWithActiveFrameOnly && !ApplicationManager.getApplication().isActive()) {
final MessageBus bus = ApplicationManager.getApplication().getMessageBus();
final MessageBusConnection connection = bus.connect(this);
connection.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
connection.disconnect();
addRequest(request, delay);
}
});
}
else {
addRequest(request, delay);
}
}
项目:consulo
文件:PlaybackRunner.java
public PlaybackRunner(String script, StatusCallback callback, final boolean useDirectActionCall, boolean stopOnAppDeactivation, boolean useTypingTargets) {
myScript = script;
myCallback = callback;
myUseDirectActionCall = useDirectActionCall;
myUseTypingTargets = useTypingTargets;
myStopOnAppDeactivation = stopOnAppDeactivation;
myAppListener = new ApplicationActivationListener.Adapter() {
@Override
public void applicationDeactivated(IdeFrame ideFrame) {
if (myStopOnAppDeactivation) {
myCallback.message(null, "App lost focus, stopping...", StatusCallback.Type.message);
stop();
}
}
};
}
项目:consulo-java
文件:UnscrambleManager.java
private void updateConnection()
{
final ApplicationEx app = ApplicationManagerEx.getApplicationEx();
boolean value = PropertiesComponent.getInstance().getBoolean(KEY);
if(value)
{
myConnection = app.getMessageBus().connect();
myConnection.subscribe(ApplicationActivationListener.TOPIC, myListener);
}
else
{
if(myConnection != null)
{
myConnection.disconnect();
}
}
}
项目:intellij-ce-playground
文件:UnscrambleAction.java
public void afterValueChanged(RegistryValue value) {
if (value.asBoolean()) {
ourConnection = app.getMessageBus().connect();
ourConnection.subscribe(ApplicationActivationListener.TOPIC, LISTENER);
} else {
ourConnection.disconnect();
}
}
项目:intellij-ce-playground
文件:Alarm.java
public void addRequest(@NotNull final Runnable request, final int delay, boolean runWithActiveFrameOnly) {
if (runWithActiveFrameOnly && !ApplicationManager.getApplication().isActive()) {
final MessageBus bus = ApplicationManager.getApplication().getMessageBus();
final MessageBusConnection connection = bus.connect(this);
connection.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener.Adapter() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
connection.disconnect();
addRequest(request, delay);
}
});
} else {
addRequest(request, delay);
}
}
项目:intellij-ce-playground
文件:ActionPopupMenuImpl.java
public void show(final Component component, int x, int y) {
if (!component.isShowing()) {
//noinspection HardCodedStringLiteral
throw new IllegalArgumentException("component must be shown on the screen");
}
removeAll();
// Fill menu. Only after filling menu has non zero size.
int x2 = Math.max(0, Math.min(x, component.getWidth() - 1)); // fit x into [0, width-1]
int y2 = Math.max(0, Math.min(y, component.getHeight() - 1)); // fit y into [0, height-1]
myContext = myDataContextProvider != null ? myDataContextProvider.get() : DataManager.getInstance().getDataContext(component, x2, y2);
Utils.fillMenu(myGroup, this, true, myPresentationFactory, myContext, myPlace, false, false);
if (getComponentCount() == 0) {
return;
}
if (myApp != null) {
if (myApp.isActive()) {
Component frame = UIUtil.findUltimateParent(component);
if (frame instanceof IdeFrame) {
myFrame = (IdeFrame)frame;
}
myConnection = myApp.getMessageBus().connect();
myConnection.subscribe(ApplicationActivationListener.TOPIC, ActionPopupMenuImpl.this);
}
}
super.show(component, x, y);
}
项目:intellij-ce-playground
文件:MountainLionNotifications.java
private MountainLionNotifications() {
final MessageBusConnection connection = ApplicationManager.getApplication().getMessageBus().connect();
connection.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener.Adapter() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
cleanupDeliveredNotifications();
}
});
connection.subscribe(AppLifecycleListener.TOPIC, new AppLifecycleListener.Adapter() {
@Override
public void appClosing() {
cleanupDeliveredNotifications();
}
});
}
项目:intellij-ce-playground
文件:ApplicationActivationStateManager.java
private static boolean setActive(Application application, Window window) {
IdeFrame ideFrame = getIdeFrameFromWindow(window);
state = State.ACTIVE;
LOG.debug("The app is in the active state");
if (ideFrame != null) {
application.getMessageBus().syncPublisher(ApplicationActivationListener.TOPIC).applicationActivated(ideFrame);
return true;
}
return false;
}
项目:watchdog
文件:IntelliJListener.java
/**
* Adds IntelliJ listeners including already opened windows and
* registers shutdown and debugger listeners.
*/
public void attachListeners() {
WatchDogEventType.START_IDE.process(this);
connection.subscribe(ApplicationActivationListener.TOPIC,
new IntelliJActivationListener());
activityListener = new GeneralActivityListener(project.getName());
EditorFactory.getInstance().addEditorFactoryListener(editorWindowListener, parent);
attachDebuggerListeners();
}
项目:tools-idea
文件:UnscrambleAction.java
public void afterValueChanged(RegistryValue value) {
if (value.asBoolean()) {
ourConnection = app.getMessageBus().connect();
ourConnection.subscribe(ApplicationActivationListener.TOPIC, LISTENER);
} else {
ourConnection.disconnect();
}
}
项目:consulo
文件:ActionPopupMenuImpl.java
@Override
public void show(final Component component, int x, int y) {
if (!component.isShowing()) {
//noinspection HardCodedStringLiteral
throw new IllegalArgumentException("component must be shown on the screen");
}
removeAll();
// Fill menu. Only after filling menu has non zero size.
int x2 = Math.max(0, Math.min(x, component.getWidth() - 1)); // fit x into [0, width-1]
int y2 = Math.max(0, Math.min(y, component.getHeight() - 1)); // fit y into [0, height-1]
myContext = myDataContextProvider != null ? myDataContextProvider.get() : DataManager.getInstance().getDataContext(component, x2, y2);
Utils.fillMenu(myGroup, this, true, myPresentationFactory, myContext, myPlace, false, false, LaterInvocator.isInModalContext());
if (getComponentCount() == 0) {
return;
}
if (myApp != null) {
if (myApp.isActive()) {
Component frame = UIUtil.findUltimateParent(component);
if (frame instanceof IdeFrame) {
myFrame = (IdeFrame)frame;
}
myConnection = myApp.getMessageBus().connect();
myConnection.subscribe(ApplicationActivationListener.TOPIC, ActionPopupMenuImpl.this);
}
}
super.show(component, x, y);
}
项目:consulo
文件:MountainLionNotifications.java
private MountainLionNotifications() {
final MessageBusConnection connection = ApplicationManager.getApplication().getMessageBus().connect();
connection.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener.Adapter() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
cleanupDeliveredNotifications();
}
});
connection.subscribe(AppLifecycleListener.TOPIC, new AppLifecycleListener() {
@Override
public void appClosing() {
cleanupDeliveredNotifications();
}
});
}
项目:consulo
文件:ApplicationActivationStateManager.java
private static boolean setActive(Application application, Window window) {
IdeFrame ideFrame = getIdeFrameFromWindow(window);
state = State.ACTIVE;
LOG.debug("The app is in the active state");
if (ideFrame != null) {
application.getMessageBus().syncPublisher(ApplicationActivationListener.TOPIC).applicationActivated(ideFrame);
return true;
}
return false;
}
项目:intellij-ce-playground
文件:FocusManagerImpl.java
@SuppressWarnings("UnusedParameters") // the dependencies are needed to ensure correct loading order
public FocusManagerImpl(ServiceManagerImpl serviceManager, WindowManager wm, UiActivityMonitor monitor) {
myApp = ApplicationManager.getApplication();
myQueue = IdeEventQueue.getInstance();
myActivityMonitor = monitor;
myFocusedComponentAlarm = new EdtAlarm();
myForcedFocusRequestsAlarm = new EdtAlarm();
myIdleAlarm = new EdtAlarm();
final AppListener myAppListener = new AppListener();
myApp.getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC, myAppListener);
IdeEventQueue.getInstance().addDispatcher(new IdeEventQueue.EventDispatcher() {
@Override
public boolean dispatch(AWTEvent e) {
if (e instanceof FocusEvent) {
final FocusEvent fe = (FocusEvent)e;
final Component c = fe.getComponent();
if (c instanceof Window || c == null) return false;
Component parent = UIUtil.findUltimateParent(c);
if (parent instanceof IdeFrame) {
myLastFocused.put((IdeFrame)parent, c);
}
}
else if (e instanceof WindowEvent) {
Window wnd = ((WindowEvent)e).getWindow();
if (e.getID() == WindowEvent.WINDOW_CLOSED) {
if (wnd instanceof IdeFrame) {
myLastFocused.remove(wnd);
myLastFocusedAtDeactivation.remove(wnd);
}
}
}
return false;
}
}, this);
KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener("focusedWindow", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getNewValue() instanceof IdeFrame) {
myLastFocusedFrame = (IdeFrame)evt.getNewValue();
}
}
});
}
项目:intellij-ce-playground
文件:PlaybackRunner.java
public ActionCallback run() {
myStopRequested = false;
myRegistryValues.clear();
final UiActivityMonitor activityMonitor = UiActivityMonitor.getInstance();
activityMonitor.clear();
activityMonitor.setActive(true);
myCurrentStageDepth.clear();
myPassedStages.clear();
myContextTimestamp++;
ApplicationManager.getApplication().getMessageBus().connect(ApplicationManager.getApplication()).subscribe(ApplicationActivationListener.TOPIC, myAppListener);
try {
myActionCallback = new ActionCallback();
myActionCallback.doWhenProcessed(new Runnable() {
@Override
public void run() {
stop();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
activityMonitor.setActive(false);
restoreRegistryValues();
}
});
}
});
myRobot = new Robot();
parse();
new Thread("playback runner") {
@Override
public void run() {
if (myUseDirectActionCall) {
executeFrom(0, getScriptDir());
}
else {
IdeEventQueue.getInstance().doWhenReady(new Runnable() {
public void run() {
executeFrom(0, getScriptDir());
}
});
}
}
}.start();
}
catch (AWTException e) {
LOG.error(e);
}
return myActionCallback;
}
项目:intellij-ce-playground
文件:FileChooserDialogImpl.java
protected JComponent createCenterPanel() {
JPanel panel = new MyPanel();
myUiUpdater = new MergingUpdateQueue("FileChooserUpdater", 200, false, panel);
Disposer.register(myDisposable, myUiUpdater);
new UiNotifyConnector(panel, myUiUpdater);
panel.setBorder(JBUI.Borders.empty());
createTree();
final DefaultActionGroup group = createActionGroup();
ActionToolbar toolBar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true);
toolBar.setTargetComponent(panel);
final JPanel toolbarPanel = new JPanel(new BorderLayout());
toolbarPanel.add(toolBar.getComponent(), BorderLayout.CENTER);
myTextFieldAction = new TextFieldAction() {
public void linkSelected(final LinkLabel aSource, final Object aLinkData) {
toggleShowTextField();
}
};
toolbarPanel.add(myTextFieldAction, BorderLayout.EAST);
JPanel extraToolbarPanel = createExtraToolbarPanel();
if(extraToolbarPanel != null){
toolbarPanel.add(extraToolbarPanel, BorderLayout.SOUTH);
}
myPathTextFieldWrapper = new JPanel(new BorderLayout());
myPathTextFieldWrapper.setBorder(JBUI.Borders.emptyBottom(2));
myPathTextField = new FileTextFieldImpl.Vfs(
FileChooserFactoryImpl.getMacroMap(), getDisposable(),
new LocalFsFinder.FileChooserFilter(myChooserDescriptor, myFileSystemTree)) {
protected void onTextChanged(final String newValue) {
myUiUpdater.cancelAllUpdates();
updateTreeFromPath(newValue);
}
};
Disposer.register(myDisposable, myPathTextField);
myPathTextFieldWrapper.add(myPathTextField.getField(), BorderLayout.CENTER);
if (getRecentFiles().length > 0) {
myPathTextFieldWrapper.add(createHistoryButton(), BorderLayout.EAST);
}
myNorthPanel = new JPanel(new BorderLayout());
myNorthPanel.add(toolbarPanel, BorderLayout.NORTH);
updateTextFieldShowing();
panel.add(myNorthPanel, BorderLayout.NORTH);
registerMouseListener(group);
JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(myFileSystemTree.getTree());
//scrollPane.setBorder(BorderFactory.createLineBorder(new Color(148, 154, 156)));
panel.add(scrollPane, BorderLayout.CENTER);
panel.setPreferredSize(JBUI.size(400));
panel.add(new JLabel(DRAG_N_DROP_HINT, SwingConstants.CENTER), BorderLayout.SOUTH);
ApplicationManager.getApplication().getMessageBus().connect(getDisposable())
.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener.Adapter() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, new Runnable() {
@Override
public void run() {
((SaveAndSyncHandlerImpl)SaveAndSyncHandler.getInstance()).maybeRefresh(ModalityState.current());
}
});
}
});
return panel;
}
项目:tools-idea
文件:FocusManagerImpl.java
@SuppressWarnings("UnusedParameters") // the dependencies are needed to ensure correct loading order
public FocusManagerImpl(ServiceManagerImpl serviceManager, WindowManager wm, UiActivityMonitor monitor) {
myApp = ApplicationManager.getApplication();
myQueue = IdeEventQueue.getInstance();
myActivityMonitor = monitor;
myFocusedComponentAlaram = new EdtAlarm();
myForcedFocusRequestsAlarm = new EdtAlarm();
myIdleAlarm = new EdtAlarm();
final AppListener myAppListener = new AppListener();
myApp.getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC, myAppListener);
IdeEventQueue.getInstance().addDispatcher(new IdeEventQueue.EventDispatcher() {
public boolean dispatch(AWTEvent e) {
if (e instanceof FocusEvent) {
final FocusEvent fe = (FocusEvent)e;
final Component c = fe.getComponent();
if (c instanceof Window || c == null) return false;
Component parent = SwingUtilities.getWindowAncestor(c);
if (parent instanceof IdeFrame) {
myLastFocused.put((IdeFrame)parent, new WeakReference<Component>(c));
}
} else if (e instanceof WindowEvent) {
Window wnd = ((WindowEvent)e).getWindow();
if (e.getID() == WindowEvent.WINDOW_CLOSED) {
if (wnd instanceof IdeFrame) {
myLastFocused.remove((IdeFrame)wnd);
myLastFocusedAtDeactivation.remove((IdeFrame)wnd);
}
}
}
return false;
}
}, this);
KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener("focusedWindow", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getNewValue() instanceof IdeFrame) {
myLastFocusedFrame = (IdeFrame)evt.getNewValue();
}
}
});
}
项目:tools-idea
文件:PlaybackRunner.java
public ActionCallback run() {
myStopRequested = false;
myRegistryValues.clear();
final UiActivityMonitor activityMonitor = UiActivityMonitor.getInstance();
activityMonitor.clear();
activityMonitor.setActive(true);
myCurrentStageDepth.clear();
myPassedStages.clear();
myContextTimestamp++;
ApplicationManager.getApplication().getMessageBus().connect(myOnStop).subscribe(ApplicationActivationListener.TOPIC, myAppListener);
try {
myActionCallback = new ActionCallback();
myActionCallback.doWhenProcessed(new Runnable() {
@Override
public void run() {
stop();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
activityMonitor.setActive(false);
restoreRegistryValues();
}
});
}
});
myRobot = new Robot();
parse();
new Thread() {
@Override
public void run() {
if (myUseDirectActionCall) {
executeFrom(0, getScriptDir());
}
else {
IdeEventQueue.getInstance().doWhenReady(new Runnable() {
public void run() {
executeFrom(0, getScriptDir());
}
});
}
}
}.start();
}
catch (AWTException e) {
LOG.error(e);
}
return myActionCallback;
}
项目:consulo
文件:FocusManagerImpl.java
@SuppressWarnings("UnusedParameters") // the dependencies are needed to ensure correct loading order
public FocusManagerImpl(ServiceManagerImpl serviceManager, WindowManager wm, UiActivityMonitor monitor) {
myApp = ApplicationManager.getApplication();
myQueue = IdeEventQueue.getInstance();
myActivityMonitor = monitor;
myFocusedComponentAlarm = new EdtAlarm();
myForcedFocusRequestsAlarm = new EdtAlarm();
final AppListener myAppListener = new AppListener();
myApp.getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC, myAppListener);
IdeEventQueue.getInstance().addDispatcher(e -> {
if (e instanceof FocusEvent) {
final FocusEvent fe = (FocusEvent)e;
final Component c = fe.getComponent();
if (c instanceof Window || c == null) return false;
Component parent = UIUtil.findUltimateParent(c);
if (parent instanceof IdeFrame) {
myLastFocused.put((IdeFrame)parent, c);
}
}
else if (e instanceof WindowEvent) {
Window wnd = ((WindowEvent)e).getWindow();
if (e.getID() == WindowEvent.WINDOW_CLOSED) {
if (wnd instanceof IdeFrame) {
myLastFocused.remove(wnd);
myLastFocusedAtDeactivation.remove(wnd);
}
}
}
return false;
}, this);
KeyboardFocusManager.getCurrentKeyboardFocusManager().addPropertyChangeListener("focusedWindow", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getNewValue() instanceof IdeFrame) {
myLastFocusedFrame = (IdeFrame)evt.getNewValue();
}
}
});
}
项目:consulo
文件:PlaybackRunner.java
public ActionCallback run() {
myStopRequested = false;
myRegistryValues.clear();
final UiActivityMonitor activityMonitor = UiActivityMonitor.getInstance();
activityMonitor.clear();
activityMonitor.setActive(true);
myCurrentStageDepth.clear();
myPassedStages.clear();
myContextTimestamp++;
ApplicationManager.getApplication().getMessageBus().connect(myOnStop).subscribe(ApplicationActivationListener.TOPIC, myAppListener);
try {
myActionCallback = new ActionCallback();
myActionCallback.doWhenProcessed(new Runnable() {
@Override
public void run() {
stop();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
activityMonitor.setActive(false);
restoreRegistryValues();
}
});
}
});
myRobot = new Robot();
parse();
new Thread() {
@Override
public void run() {
if (myUseDirectActionCall) {
executeFrom(0, getScriptDir());
}
else {
IdeEventQueue.getInstance().doWhenReady(new Runnable() {
public void run() {
executeFrom(0, getScriptDir());
}
});
}
}
}.start();
}
catch (AWTException e) {
LOG.error(e);
}
return myActionCallback;
}
项目:consulo
文件:FocusDebuggerAction.java
public FocusDrawer() {
super("focus debugger");
Application app = ApplicationManager.getApplication();
app.getMessageBus().connect().subscribe(ApplicationActivationListener.TOPIC, this);
}
项目:consulo
文件:FileChooserDialogImpl.java
protected JComponent createCenterPanel() {
JPanel panel = new MyPanel();
myUiUpdater = new MergingUpdateQueue("FileChooserUpdater", 200, false, panel);
Disposer.register(myDisposable, myUiUpdater);
new UiNotifyConnector(panel, myUiUpdater);
panel.setBorder(JBUI.Borders.empty());
createTree();
final DefaultActionGroup group = createActionGroup();
ActionToolbar toolBar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true);
toolBar.setTargetComponent(panel);
final JPanel toolbarPanel = new JPanel(new BorderLayout());
toolbarPanel.add(toolBar.getComponent(), BorderLayout.CENTER);
myTextFieldAction = new TextFieldAction() {
public void linkSelected(final LinkLabel aSource, final Object aLinkData) {
toggleShowTextField();
}
};
toolbarPanel.add(myTextFieldAction, BorderLayout.EAST);
JPanel extraToolbarPanel = createExtraToolbarPanel();
if (extraToolbarPanel != null) {
toolbarPanel.add(extraToolbarPanel, BorderLayout.SOUTH);
}
myPathTextFieldWrapper = new JPanel(new BorderLayout());
myPathTextFieldWrapper.setBorder(JBUI.Borders.emptyBottom(2));
myPathTextField = new FileTextFieldImpl.Vfs(FileChooserFactoryImpl.getMacroMap(), getDisposable(),
new LocalFsFinder.FileChooserFilter(myChooserDescriptor, myFileSystemTree)) {
protected void onTextChanged(final String newValue) {
myUiUpdater.cancelAllUpdates();
updateTreeFromPath(newValue);
}
};
Disposer.register(myDisposable, myPathTextField);
myPathTextFieldWrapper.add(myPathTextField.getField(), BorderLayout.CENTER);
if (getRecentFiles().length > 0) {
myPathTextFieldWrapper.add(createHistoryButton(), BorderLayout.EAST);
}
myNorthPanel = new JPanel(new BorderLayout());
myNorthPanel.add(toolbarPanel, BorderLayout.NORTH);
updateTextFieldShowing();
panel.add(myNorthPanel, BorderLayout.NORTH);
registerMouseListener(group);
JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(myFileSystemTree.getTree());
//scrollPane.setBorder(BorderFactory.createLineBorder(new Color(148, 154, 156)));
panel.add(scrollPane, BorderLayout.CENTER);
panel.setPreferredSize(JBUI.size(400));
JLabel hintLabel = new JLabel(DRAG_N_DROP_HINT, SwingConstants.CENTER);
hintLabel.setForeground(JBColor.gray);
hintLabel.setFont(JBUI.Fonts.smallFont());
panel.add(hintLabel, BorderLayout.SOUTH);
ApplicationManager.getApplication().getMessageBus().connect(getDisposable())
.subscribe(ApplicationActivationListener.TOPIC, new ApplicationActivationListener() {
@Override
public void applicationActivated(IdeFrame ideFrame) {
((SaveAndSyncHandlerImpl)SaveAndSyncHandler.getInstance()).maybeRefresh(ModalityState.current());
}
});
return panel;
}