mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
UISettings as service
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2015 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.
|
||||
@@ -15,17 +15,14 @@
|
||||
*/
|
||||
package com.intellij.ide.ui;
|
||||
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.WelcomeWizardUtil;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.components.*;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.openapi.util.SimpleModificationTracker;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.util.EventDispatcher;
|
||||
import com.intellij.util.PlatformUtils;
|
||||
import com.intellij.util.SystemProperties;
|
||||
@@ -40,24 +37,20 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.intellij.util.ui.UIUtil.isValidFont;
|
||||
|
||||
@State(
|
||||
name = "UISettings",
|
||||
storages = {
|
||||
@Storage(
|
||||
file = StoragePathMacros.APP_CONFIG + "/ui.lnf.xml"
|
||||
)}
|
||||
storages = @Storage(file = StoragePathMacros.APP_CONFIG + "/ui.lnf.xml")
|
||||
)
|
||||
public class UISettings extends SimpleModificationTracker implements PersistentStateComponent<UISettings>, ExportableApplicationComponent {
|
||||
public class UISettings extends SimpleModificationTracker implements PersistentStateComponent<UISettings> {
|
||||
/** Not tabbed pane. */
|
||||
public static final int TABS_NONE = 0;
|
||||
|
||||
public static UISettings getInstance() {
|
||||
return ApplicationManager.getApplication().getComponent(UISettings.class);
|
||||
return ServiceManager.getService(UISettings.class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -134,7 +127,9 @@ public class UISettings extends SimpleModificationTracker implements PersistentS
|
||||
setSystemFontFaceAndSize();
|
||||
|
||||
Boolean scrollToSource = WelcomeWizardUtil.getAutoScrollToSource();
|
||||
if (scrollToSource != null) DEFAULT_AUTOSCROLL_TO_SOURCE = scrollToSource;
|
||||
if (scrollToSource != null) {
|
||||
DEFAULT_AUTOSCROLL_TO_SOURCE = scrollToSource;
|
||||
}
|
||||
}
|
||||
|
||||
private void tweakPlatformDefaults() {
|
||||
@@ -310,29 +305,4 @@ public class UISettings extends SimpleModificationTracker implements PersistentS
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public File[] getExportFiles() {
|
||||
return new File[]{PathManager.getOptionsFile("ui.lnf")};
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getPresentableName() {
|
||||
return IdeBundle.message("ui.settings");
|
||||
}
|
||||
|
||||
@NonNls
|
||||
@NotNull
|
||||
@Override
|
||||
public String getComponentName() {
|
||||
return "UISettings";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initComponent() { }
|
||||
|
||||
@Override
|
||||
public void disposeComponent() { }
|
||||
}
|
||||
}
|
||||
@@ -115,7 +115,6 @@ public final class LafManagerImpl extends LafManager implements ApplicationCompo
|
||||
private final UIManager.LookAndFeelInfo[] myLaFs;
|
||||
private UIManager.LookAndFeelInfo myCurrentLaf;
|
||||
private final Map<UIManager.LookAndFeelInfo, HashMap<String, Object>> myStoredDefaults = ContainerUtil.newHashMap();
|
||||
private final UISettings myUiSettings;
|
||||
private String myLastWarning = null;
|
||||
private PropertyChangeListener myThemeChangeListener = null;
|
||||
private static final Map<String, String> ourLafClassesAliases = ContainerUtil.newHashMap();
|
||||
@@ -127,8 +126,7 @@ public final class LafManagerImpl extends LafManager implements ApplicationCompo
|
||||
/**
|
||||
* Invoked via reflection.
|
||||
*/
|
||||
LafManagerImpl(UISettings uiSettings) {
|
||||
myUiSettings = uiSettings;
|
||||
LafManagerImpl() {
|
||||
myListenerList = new EventListenerList();
|
||||
|
||||
List<UIManager.LookAndFeelInfo> lafList = ContainerUtil.newArrayList();
|
||||
@@ -740,9 +738,10 @@ public final class LafManagerImpl extends LafManager implements ApplicationCompo
|
||||
// uiDefaults.put(entry.getKey(), entry.getValue());
|
||||
// }
|
||||
//} else
|
||||
if (UISettings.getInstance().OVERRIDE_NONIDEA_LAF_FONTS) {
|
||||
UISettings uiSettings = UISettings.getInstance();
|
||||
if (uiSettings.OVERRIDE_NONIDEA_LAF_FONTS) {
|
||||
storeOriginalFontDefaults(uiDefaults);
|
||||
initFontDefaults(uiDefaults, myUiSettings.FONT_FACE, myUiSettings.FONT_SIZE);
|
||||
initFontDefaults(uiDefaults, uiSettings.FONT_FACE, uiSettings.FONT_SIZE);
|
||||
}
|
||||
else {
|
||||
restoreOriginalFontDefaults(uiDefaults);
|
||||
|
||||
+4
-2
@@ -55,8 +55,10 @@ public final class EditorHistoryManager extends AbstractProjectComponent impleme
|
||||
*/
|
||||
private final List<HistoryEntry> myEntriesList = Collections.synchronizedList(new ArrayList<HistoryEntry>());
|
||||
|
||||
/** Invoked by reflection */
|
||||
EditorHistoryManager(final Project project, final UISettings uiSettings){
|
||||
/**
|
||||
* Invoked by reflection
|
||||
*/
|
||||
EditorHistoryManager(final Project project, final UISettings uiSettings) {
|
||||
super(project);
|
||||
uiSettings.addUISettingsListener(new MyUISettingsListener(), project);
|
||||
}
|
||||
|
||||
@@ -21,9 +21,6 @@ import com.intellij.ide.DataManager;
|
||||
import com.intellij.ide.impl.ProjectUtil;
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.internal.statistic.configurable.StatisticsConfigurable;
|
||||
import com.intellij.internal.statistic.updater.StatisticsNotificationManager;
|
||||
import com.intellij.notification.*;
|
||||
import com.intellij.notification.impl.IdeNotificationArea;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.MnemonicHelper;
|
||||
@@ -37,7 +34,6 @@ import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.application.ex.ApplicationInfoEx;
|
||||
import com.intellij.openapi.application.ex.ApplicationManagerEx;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.project.DumbAwareRunnable;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
@@ -45,7 +41,6 @@ import com.intellij.openapi.util.ActionCallback;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.wm.IdeFrame;
|
||||
import com.intellij.openapi.wm.IdeRootPaneNorthExtension;
|
||||
@@ -54,7 +49,6 @@ import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.openapi.wm.ex.IdeFrameEx;
|
||||
import com.intellij.openapi.wm.ex.LayoutFocusTraversalPolicyExt;
|
||||
import com.intellij.openapi.wm.ex.StatusBarEx;
|
||||
import com.intellij.openapi.wm.ex.WindowManagerEx;
|
||||
import com.intellij.openapi.wm.impl.status.*;
|
||||
import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeFrame;
|
||||
import com.intellij.ui.*;
|
||||
@@ -63,10 +57,8 @@ import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.io.PowerSupplyKit;
|
||||
import org.jetbrains.io.PowerSupplyKitCallback;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.HyperlinkEvent;
|
||||
import java.awt.*;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
@@ -98,11 +90,10 @@ public class IdeFrameImpl extends JFrame implements IdeFrameEx, DataProvider {
|
||||
|
||||
public IdeFrameImpl(ApplicationInfoEx applicationInfoEx,
|
||||
ActionManagerEx actionManager,
|
||||
UISettings uiSettings,
|
||||
DataManager dataManager,
|
||||
Application application) {
|
||||
super(applicationInfoEx.getFullApplicationName());
|
||||
myRootPane = createRootPane(actionManager, uiSettings, dataManager, application);
|
||||
myRootPane = createRootPane(actionManager, UISettings.getInstance(), dataManager, application);
|
||||
setRootPane(myRootPane);
|
||||
setBackground(UIUtil.getPanelBackground());
|
||||
AppUIUtil.updateWindowIcon(this);
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.ide.AppLifecycleListener;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.ide.GeneralSettings;
|
||||
import com.intellij.ide.impl.DataManagerImpl;
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
|
||||
import com.intellij.openapi.application.Application;
|
||||
@@ -118,18 +117,15 @@ public final class WindowManagerImpl extends WindowManagerEx implements NamedCom
|
||||
private final WindowAdapter myActivationListener;
|
||||
private final DataManager myDataManager;
|
||||
private final ActionManagerEx myActionManager;
|
||||
private final UISettings myUiSettings;
|
||||
|
||||
/**
|
||||
* invoked by reflection
|
||||
*/
|
||||
public WindowManagerImpl(DataManager dataManager,
|
||||
ActionManagerEx actionManager,
|
||||
UISettings uiSettings,
|
||||
MessageBus bus) {
|
||||
myDataManager = dataManager;
|
||||
myActionManager = actionManager;
|
||||
myUiSettings = uiSettings;
|
||||
if (myDataManager instanceof DataManagerImpl) {
|
||||
((DataManagerImpl)myDataManager).setWindowManager(this);
|
||||
}
|
||||
@@ -522,7 +518,7 @@ public final class WindowManagerImpl extends WindowManagerEx implements NamedCom
|
||||
|
||||
public void showFrame() {
|
||||
final IdeFrameImpl frame = new IdeFrameImpl(ApplicationInfoEx.getInstanceEx(),
|
||||
myActionManager, myUiSettings, myDataManager,
|
||||
myActionManager, myDataManager,
|
||||
ApplicationManager.getApplication());
|
||||
myProject2Frame.put(null, frame);
|
||||
|
||||
@@ -592,7 +588,7 @@ public final class WindowManagerImpl extends WindowManagerEx implements NamedCom
|
||||
frame.setProject(project);
|
||||
}
|
||||
else {
|
||||
frame = new IdeFrameImpl(ApplicationInfoEx.getInstanceEx(), myActionManager, myUiSettings,
|
||||
frame = new IdeFrameImpl(ApplicationInfoEx.getInstanceEx(), myActionManager,
|
||||
myDataManager, ApplicationManager.getApplication());
|
||||
|
||||
final Rectangle bounds = ProjectFrameBounds.getInstance(project).getBounds();
|
||||
|
||||
@@ -1052,7 +1052,6 @@ project.import.open.existing.openExisting=Open Existing Project
|
||||
project.import.open.existing.reimport=Delete Existing Project and Import
|
||||
|
||||
code.folding.settings=Code Folding Settings
|
||||
ui.settings=UI Settings
|
||||
share.scope.checkbox.title=Share scope
|
||||
bean.property=Bean Property
|
||||
plugin.manager.uninstalled.tooltip=Plugin was uninstalled; changes will be applied on restart
|
||||
|
||||
@@ -309,4 +309,5 @@ exportable.DuplocatorSettings.presentable.name=Duplocator
|
||||
exportable.MultiLanguageDuplocatorSettings.presentable.name=Duplocator
|
||||
exportable.CodeStyleSchemeSettings.presentable.name=Code Style
|
||||
exportable.InspectionProfileManager.presentable.name=Inspection profiles
|
||||
exportable.TodoConfiguration.presentable.name=Todo
|
||||
exportable.TodoConfiguration.presentable.name=Todo
|
||||
exportable.UISettings.presentable.name=UI Settings
|
||||
@@ -162,8 +162,9 @@
|
||||
serviceImplementation="com.intellij.openapi.application.impl.ApplicationInfoImpl"/>
|
||||
|
||||
<applicationService serviceInterface="com.intellij.execution.RunnerRegistry"
|
||||
serviceImplementation="com.intellij.execution.impl.RunnerRegistryImpl">
|
||||
</applicationService>
|
||||
serviceImplementation="com.intellij.execution.impl.RunnerRegistryImpl"/>
|
||||
|
||||
<applicationService serviceImplementation="com.intellij.ide.ui.UISettings"/>
|
||||
|
||||
<projectService serviceInterface="com.intellij.openapi.vfs.ReadonlyStatusHandler"
|
||||
serviceImplementation="com.intellij.openapi.vcs.readOnlyHandler.ReadonlyStatusHandlerImpl"/>
|
||||
|
||||
@@ -22,11 +22,6 @@
|
||||
<implementation-class>com.intellij.openapi.keymap.impl.KeymapManagerImpl</implementation-class>
|
||||
</component>
|
||||
|
||||
<component>
|
||||
<interface-class>com.intellij.ide.ui.UISettings</interface-class>
|
||||
<implementation-class>com.intellij.ide.ui.UISettings</implementation-class>
|
||||
</component>
|
||||
|
||||
<component>
|
||||
<implementation-class>com.intellij.ide.IdeTooltipManager</implementation-class>
|
||||
</component>
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.jetbrains.python.edu;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightSettings;
|
||||
import com.intellij.ide.RecentProjectsManager;
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -27,7 +26,6 @@ public class StudyInitialConfigurator {
|
||||
* @noinspection UnusedParameters
|
||||
*/
|
||||
public StudyInitialConfigurator(MessageBus bus,
|
||||
UISettings uiSettings,
|
||||
CodeInsightSettings codeInsightSettings,
|
||||
final PropertiesComponent propertiesComponent,
|
||||
FileTypeManager fileTypeManager,
|
||||
|
||||
@@ -81,7 +81,6 @@ public class PyCharmEduInitialConfigurator {
|
||||
* @noinspection UnusedParameters
|
||||
*/
|
||||
public PyCharmEduInitialConfigurator(MessageBus bus,
|
||||
UISettings uiSettings,
|
||||
CodeInsightSettings codeInsightSettings,
|
||||
final PropertiesComponent propertiesComponent,
|
||||
FileTypeManager fileTypeManager,
|
||||
@@ -90,7 +89,8 @@ public class PyCharmEduInitialConfigurator {
|
||||
if (!propertiesComponent.getBoolean(CONFIGURED, false)) {
|
||||
propertiesComponent.setValue(CONFIGURED, "true");
|
||||
propertiesComponent.setValue("toolwindow.stripes.buttons.info.shown", "true");
|
||||
UISettings.getInstance().HIDE_TOOL_STRIPES = false;
|
||||
UISettings uiSettings = UISettings.getInstance();
|
||||
uiSettings.HIDE_TOOL_STRIPES = false;
|
||||
uiSettings.SHOW_MEMORY_INDICATOR = false;
|
||||
uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true;
|
||||
uiSettings.SHOW_MAIN_TOOLBAR = false;
|
||||
@@ -105,8 +105,8 @@ public class PyCharmEduInitialConfigurator {
|
||||
final CodeStyleSettings settings = CodeStyleSettingsManager.getInstance().getCurrentSettings();
|
||||
settings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true;
|
||||
settings.getCommonSettings(PythonLanguage.getInstance()).ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true;
|
||||
UISettings.getInstance().SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true;
|
||||
UISettings.getInstance().SHOW_MEMORY_INDICATOR = false;
|
||||
uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true;
|
||||
uiSettings.SHOW_MEMORY_INDICATOR = false;
|
||||
final String ignoredFilesList = fileTypeManager.getIgnoredFilesList();
|
||||
ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user