mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-101547 Please add a clock in fullscreen mode!
After-review: we add/remove clock when enter/exit full screen mode
This commit is contained in:
@@ -371,9 +371,6 @@ public class IdeFrameImpl extends JFrame implements IdeFrame, DataProvider {
|
||||
statusBar.addWidget(readOnlyAttributePanel, "after Encoding");
|
||||
}
|
||||
|
||||
final ClockPanel clockPanel = new ClockPanel();
|
||||
statusBar.addWidget(clockPanel, "after " + MemoryUsagePanel.WIDGET_ID);
|
||||
|
||||
final InsertOverwritePanel finalInsertOverwritePanel = insertOverwritePanel;
|
||||
Disposer.register(project, new Disposable() {
|
||||
public void dispose() {
|
||||
@@ -381,7 +378,6 @@ public class IdeFrameImpl extends JFrame implements IdeFrame, DataProvider {
|
||||
statusBar.removeWidget(positionPanel.ID());
|
||||
statusBar.removeWidget(notificationArea.ID());
|
||||
statusBar.removeWidget(readOnlyAttributePanel.ID());
|
||||
statusBar.removeWidget(clockPanel.ID());
|
||||
if (finalInsertOverwritePanel != null) statusBar.removeWidget(finalInsertOverwritePanel.ID());
|
||||
|
||||
((StatusBarEx)statusBar).removeCustomIndicationComponents();
|
||||
|
||||
@@ -35,10 +35,13 @@ import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.NamedJDOMExternalizable;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.wm.IdeFrame;
|
||||
import com.intellij.openapi.wm.StatusBar;
|
||||
import com.intellij.openapi.wm.WindowManagerListener;
|
||||
import com.intellij.openapi.wm.ex.WindowManagerEx;
|
||||
import com.intellij.openapi.wm.impl.status.ClockPanel;
|
||||
import com.intellij.openapi.wm.impl.status.MemoryUsagePanel;
|
||||
import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeFrame;
|
||||
import com.intellij.ui.ScreenUtil;
|
||||
import com.intellij.util.Alarm;
|
||||
@@ -847,12 +850,16 @@ public final class WindowManagerImpl extends WindowManagerEx implements Applicat
|
||||
finally {
|
||||
if (fullScreen) {
|
||||
frame.setBounds(device.getDefaultConfiguration().getBounds());
|
||||
if (!Registry.is("ui.no.bangs.and.whistles", false)) {
|
||||
frame.getStatusBar().addWidget(new ClockPanel(), "before " + MemoryUsagePanel.WIDGET_ID);
|
||||
}
|
||||
}
|
||||
else {
|
||||
Object o = frame.getRootPane().getClientProperty("oldBounds");
|
||||
if (o instanceof Rectangle) {
|
||||
frame.setBounds((Rectangle)o);
|
||||
}
|
||||
frame.getStatusBar().removeWidget(ClockPanel.WIDGET_ID);
|
||||
}
|
||||
frame.setVisible(true);
|
||||
frame.getRootPane().putClientProperty(ScreenUtil.DISPOSE_TEMPORARY, null);
|
||||
|
||||
@@ -16,9 +16,7 @@
|
||||
package com.intellij.openapi.wm.impl.status;
|
||||
|
||||
import com.intellij.openapi.wm.CustomStatusBarWidget;
|
||||
import com.intellij.openapi.wm.IdeFrame;
|
||||
import com.intellij.openapi.wm.StatusBar;
|
||||
import com.intellij.openapi.wm.impl.IdeFrameImpl;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -53,7 +51,6 @@ public class ClockPanel extends JComponent implements CustomStatusBarWidget {
|
||||
protected final Calendar myCalendar;
|
||||
private final Timer myTimer;
|
||||
private final boolean is24Hours;
|
||||
private IdeFrameImpl myIdeFrame;
|
||||
|
||||
public ClockPanel() {
|
||||
myCalendar = getInstance();
|
||||
@@ -74,21 +71,14 @@ public class ClockPanel extends JComponent implements CustomStatusBarWidget {
|
||||
|
||||
@Override
|
||||
public void install(@NotNull StatusBar statusBar) {
|
||||
IdeFrame frame = statusBar.getFrame();
|
||||
myIdeFrame = frame instanceof IdeFrameImpl ? (IdeFrameImpl)frame : null;
|
||||
myTimer.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
myTimer.stop();
|
||||
myIdeFrame = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return myIdeFrame != null && myIdeFrame.isInFullScreen();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getComponent() {
|
||||
|
||||
Reference in New Issue
Block a user