diff --git a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt index dd67a149264f..2739690ac219 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt +++ b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.kt @@ -148,10 +148,10 @@ class UISettings : BaseState(), PersistentStateComponent { @JvmField var DEFAULT_AUTOSCROLL_TO_SOURCE = false @Transient var presentationMode = false @JvmField var PRESENTATION_MODE_FONT_SIZE = 24 - @JvmField var MARK_MODIFIED_TABS_WITH_ASTERISK = false - @JvmField var SHOW_TABS_TOOLTIPS = true - @JvmField var SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true - @JvmField var NAVIGATE_TO_PREVIEW = false + @get:OptionTag("MARK_MODIFIED_TABS_WITH_ASTERISK") var markModifiedTabsWithAsterisk by storedProperty(false) + @get:OptionTag("SHOW_TABS_TOOLTIPS") var showTabsTooltips by storedProperty(true) + @get:OptionTag("SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES") var showDirectoryForNonUniqueFilenames by storedProperty(true) + @get:OptionTag("NAVIGATE_TO_PREVIEW") var navigateToPreview by storedProperty(false) private val myTreeDispatcher = ComponentTreeEventDispatcher.create(UISettingsListener::class.java) diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java index e35c750b2b50..7425c44b4877 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorTabsConfigurable.java @@ -117,14 +117,14 @@ public class EditorTabsConfigurable implements EditorOptionsProvider { public void reset() { UISettings uiSettings=UISettings.getInstance(); - myCbModifiedTabsMarkedWithAsterisk.setSelected(uiSettings.MARK_MODIFIED_TABS_WITH_ASTERISK); - myShowTabsTooltipsCheckBox.setSelected(uiSettings.SHOW_TABS_TOOLTIPS); + myCbModifiedTabsMarkedWithAsterisk.setSelected(uiSettings.getMarkModifiedTabsWithAsterisk()); + myShowTabsTooltipsCheckBox.setSelected(uiSettings.getShowTabsTooltips()); myScrollTabLayoutInEditorCheckBox.setSelected(uiSettings.getScrollTabLayoutInEditor()); myHideTabsCheckbox.setEnabled(myScrollTabLayoutInEditorCheckBox.isSelected()); myHideTabsCheckbox.setSelected(uiSettings.getHideTabsIfNeed()); myEditorTabPlacement.setSelectedItem(uiSettings.getEditorTabPlacement()); myHideKnownExtensions.setSelected(uiSettings.getHdeKnownExtensionInTabs()); - myShowDirectoryInTabCheckBox.setSelected(uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES); + myShowDirectoryInTabCheckBox.setSelected(uiSettings.getShowDirectoryForNonUniqueFilenames()); myEditorTabLimitField.setText(Integer.toString(uiSettings.EDITOR_TAB_LIMIT)); myReuseNotModifiedTabsCheckBox.setSelected(uiSettings.getReuseNotModifiedTabs()); myShowCloseButtonOnCheckBox.setSelected(uiSettings.getShowCloseButton()); @@ -150,11 +150,11 @@ public class EditorTabsConfigurable implements EditorOptionsProvider { public void apply() throws ConfigurationException { UISettings uiSettings=UISettings.getInstance(); - boolean uiSettingsChanged = uiSettings.MARK_MODIFIED_TABS_WITH_ASTERISK != myCbModifiedTabsMarkedWithAsterisk.isSelected(); - uiSettings.MARK_MODIFIED_TABS_WITH_ASTERISK = myCbModifiedTabsMarkedWithAsterisk.isSelected(); + boolean uiSettingsChanged = uiSettings.getMarkModifiedTabsWithAsterisk() != myCbModifiedTabsMarkedWithAsterisk.isSelected(); + uiSettings.setMarkModifiedTabsWithAsterisk(myCbModifiedTabsMarkedWithAsterisk.isSelected()); - if (isModified(myShowTabsTooltipsCheckBox, uiSettings.SHOW_TABS_TOOLTIPS)) uiSettingsChanged = true; - uiSettings.SHOW_TABS_TOOLTIPS = myShowTabsTooltipsCheckBox.isSelected(); + if (isModified(myShowTabsTooltipsCheckBox, uiSettings.getShowTabsTooltips())) uiSettingsChanged = true; + uiSettings.setShowTabsTooltips(myShowTabsTooltipsCheckBox.isSelected()); if (isModified(myScrollTabLayoutInEditorCheckBox, uiSettings.getScrollTabLayoutInEditor())) uiSettingsChanged = true; uiSettings.setScrollTabLayoutInEditor(myScrollTabLayoutInEditorCheckBox.isSelected()); @@ -174,8 +174,8 @@ public class EditorTabsConfigurable implements EditorOptionsProvider { uiSettings.setHdeKnownExtensionInTabs(hide); boolean dir = myShowDirectoryInTabCheckBox.isSelected(); - if (uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES != dir) uiSettingsChanged = true; - uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = dir; + if (uiSettings.getShowDirectoryForNonUniqueFilenames() != dir) uiSettingsChanged = true; + uiSettings.setShowDirectoryForNonUniqueFilenames(dir); uiSettings.setCloseNonModifiedFilesFirst(myCloseNonModifiedFilesFirstRadio.isSelected()); uiSettings.setActiveMruEditorOnClose(myActivateMRUEditorOnCloseRadio.isSelected()); @@ -198,14 +198,14 @@ public class EditorTabsConfigurable implements EditorOptionsProvider { @Override public boolean isModified() { final UISettings uiSettings = UISettings.getInstance(); - boolean isModified = isModified(myCbModifiedTabsMarkedWithAsterisk, uiSettings.MARK_MODIFIED_TABS_WITH_ASTERISK); - isModified |= isModified(myShowTabsTooltipsCheckBox, uiSettings.SHOW_TABS_TOOLTIPS); + boolean isModified = isModified(myCbModifiedTabsMarkedWithAsterisk, uiSettings.getMarkModifiedTabsWithAsterisk()); + isModified |= isModified(myShowTabsTooltipsCheckBox, uiSettings.getShowTabsTooltips()); isModified |= isModified(myEditorTabLimitField, uiSettings.EDITOR_TAB_LIMIT); isModified |= isModified(myReuseNotModifiedTabsCheckBox, uiSettings.getReuseNotModifiedTabs()); int tabPlacement = ((Integer)myEditorTabPlacement.getSelectedItem()).intValue(); isModified |= tabPlacement != uiSettings.getEditorTabPlacement(); isModified |= myHideKnownExtensions.isSelected() != uiSettings.getHdeKnownExtensionInTabs(); - isModified |= myShowDirectoryInTabCheckBox.isSelected() != uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES; + isModified |= myShowDirectoryInTabCheckBox.isSelected() != uiSettings.getShowDirectoryForNonUniqueFilenames(); isModified |= myScrollTabLayoutInEditorCheckBox.isSelected() != uiSettings.getScrollTabLayoutInEditor(); isModified |= myHideTabsCheckbox.isSelected() != uiSettings.getHideTabsIfNeed(); diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/UniqueNameEditorTabTitleProvider.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/UniqueNameEditorTabTitleProvider.java index 7008dc844ef4..6acbe6a7e48b 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/UniqueNameEditorTabTitleProvider.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/UniqueNameEditorTabTitleProvider.java @@ -32,7 +32,7 @@ public class UniqueNameEditorTabTitleProvider implements EditorTabTitleProvider @Override public String getEditorTabTitle(Project project, VirtualFile file) { UISettings uiSettings = UISettings.getInstanceOrNull(); - if (uiSettings == null || !uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES || DumbService.isDumb(project)) { + if (uiSettings == null || !uiSettings.getShowDirectoryForNonUniqueFilenames() || DumbService.isDumb(project)) { return null; } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java index c632cc3f297f..9264bbc7f990 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java @@ -222,8 +222,8 @@ public class AppearanceConfigurable extends BaseConfigurable implements Searchab update |= settings.getRightHorizontalSplit() != myComponent.myRightLayoutCheckBox.isSelected(); settings.setRightHorizontalSplit(myComponent.myRightLayoutCheckBox.isSelected()); - update |= settings.NAVIGATE_TO_PREVIEW != (myComponent.myNavigateToPreviewCheckBox.isVisible() && myComponent.myNavigateToPreviewCheckBox.isSelected()); - settings.NAVIGATE_TO_PREVIEW = myComponent.myNavigateToPreviewCheckBox.isSelected(); + update |= settings.getNavigateToPreview() != (myComponent.myNavigateToPreviewCheckBox.isVisible() && myComponent.myNavigateToPreviewCheckBox.isSelected()); + settings.setNavigateToPreview(myComponent.myNavigateToPreviewCheckBox.isSelected()); ColorBlindness blindness = myComponent.myColorBlindnessPanel.getColorBlindness(); boolean updateEditorScheme = false; @@ -346,7 +346,7 @@ public class AppearanceConfigurable extends BaseConfigurable implements Searchab myComponent.myWidescreenLayoutCheckBox.setSelected(settings.getWideScreenSupport()); myComponent.myLeftLayoutCheckBox.setSelected(settings.getLeftHorizontalSplit()); myComponent.myRightLayoutCheckBox.setSelected(settings.getRightHorizontalSplit()); - myComponent.myNavigateToPreviewCheckBox.setSelected(settings.NAVIGATE_TO_PREVIEW); + myComponent.myNavigateToPreviewCheckBox.setSelected(settings.getNavigateToPreview()); myComponent.myNavigateToPreviewCheckBox.setVisible(false);//disabled for a while myComponent.myColorBlindnessPanel.setColorBlindness(settings.COLOR_BLINDNESS); myComponent.myDisableMnemonicInControlsCheckBox.setSelected(settings.DISABLE_MNEMONICS_IN_CONTROLS); @@ -411,7 +411,7 @@ public class AppearanceConfigurable extends BaseConfigurable implements Searchab isModified |= myComponent.myWidescreenLayoutCheckBox.isSelected() != settings.getWideScreenSupport(); isModified |= myComponent.myLeftLayoutCheckBox.isSelected() != settings.getLeftHorizontalSplit(); isModified |= myComponent.myRightLayoutCheckBox.isSelected() != settings.getRightHorizontalSplit(); - isModified |= myComponent.myNavigateToPreviewCheckBox.isSelected() != settings.NAVIGATE_TO_PREVIEW; + isModified |= myComponent.myNavigateToPreviewCheckBox.isSelected() != settings.getNavigateToPreview(); isModified |= myComponent.myColorBlindnessPanel.getColorBlindness() != settings.COLOR_BLINDNESS; isModified |= myComponent.myHideIconsInQuickNavigation.isSelected() != settings.getShowIconInQuickNavigation(); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java index eb110c5405f0..9b2c25aa86e8 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorWindow.java @@ -856,7 +856,7 @@ public class EditorWindow { final int index = findEditorIndex(findFileComposite(file)); if (index != -1) { setTitleAt(index, EditorTabbedContainer.calcTabTitle(getManager().getProject(), file)); - setToolTipTextAt(index, UISettings.getInstance().SHOW_TABS_TOOLTIPS + setToolTipTextAt(index, UISettings.getInstance().getShowTabsTooltips() ? getManager().getFileTooltipText(file) : null); } @@ -887,9 +887,10 @@ public class EditorWindow { } final Icon modifiedIcon; - if (UISettings.getInstance().MARK_MODIFIED_TABS_WITH_ASTERISK || !UISettings.getInstance().getHideTabsIfNeed()) { + UISettings settings = UISettings.getInstance(); + if (settings.getMarkModifiedTabsWithAsterisk() || !settings.getHideTabsIfNeed()) { modifiedIcon = - UISettings.getInstance().MARK_MODIFIED_TABS_WITH_ASTERISK && composite != null && composite.isModified() ? MODIFIED_ICON : GAP_ICON; + settings.getMarkModifiedTabsWithAsterisk() && composite != null && composite.isModified() ? MODIFIED_ICON : GAP_ICON; count++; } else { @@ -900,7 +901,7 @@ public class EditorWindow { int i = 0; final LayeredIcon result = new LayeredIcon(count); - int xShift = !UISettings.getInstance().getHideTabsIfNeed() ? 4 : 0; + int xShift = !settings.getHideTabsIfNeed() ? 4 : 0; result.setIcon(baseIcon, i++, xShift, 0); if (pinIcon != null) result.setIcon(pinIcon, i++, xShift, 0); if (modifiedIcon != null) result.setIcon(modifiedIcon, i++); diff --git a/platform/platform-impl/src/com/intellij/openapi/preview/impl/PreviewManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/preview/impl/PreviewManagerImpl.java index da22f082236d..bd5dfc710715 100644 --- a/platform/platform-impl/src/com/intellij/openapi/preview/impl/PreviewManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/preview/impl/PreviewManagerImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 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. @@ -78,7 +78,7 @@ public class PreviewManagerImpl implements PreviewManager, PersistentStateCompon private boolean myInnerSelectionChange; private static boolean isAvailable() { - return UISettings.getInstance().NAVIGATE_TO_PREVIEW; + return UISettings.getInstance().getNavigateToPreview(); } public PreviewManagerImpl(Project project) { @@ -91,12 +91,7 @@ public class PreviewManagerImpl implements PreviewManager, PersistentStateCompon Disposer.register(project, provider); } - project.getMessageBus().connect().subscribe(UISettingsListener.TOPIC, new UISettingsListener() { - @Override - public void uiSettingsChanged(UISettings uiSettings) { - checkGlobalState(); - } - }); + project.getMessageBus().connect().subscribe(UISettingsListener.TOPIC, uiSettings -> checkGlobalState()); checkGlobalState(); checkEmptyState(); } diff --git a/python/educational-python/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java b/python/educational-python/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java index 9d4015b719be..0037d1b3048e 100644 --- a/python/educational-python/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java +++ b/python/educational-python/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java @@ -164,7 +164,7 @@ public class PyCharmEduInitialConfigurator { uiSettings.setHideToolStripes(false); uiSettings.setShowMemoryIndicator(false); - uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true; + uiSettings.setShowDirectoryForNonUniqueFilenames(true); uiSettings.setShowMainToolbar(false); codeInsightSettings.REFORMAT_ON_PASTE = CodeInsightSettings.NO_REFORMAT; @@ -176,7 +176,7 @@ 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.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true; + uiSettings.setShowDirectoryForNonUniqueFilenames(true); uiSettings.setShowMemoryIndicator(false); final String ignoredFilesList = fileTypeManager.getIgnoredFilesList(); ApplicationManager.getApplication().invokeLater(() -> ApplicationManager.getApplication().runWriteAction(() -> FileTypeManager.getInstance().setIgnoredFilesList(ignoredFilesList + ";*$py.class"))); diff --git a/python/ide/src/com/jetbrains/python/PyCharmInitialConfigurator.java b/python/ide/src/com/jetbrains/python/PyCharmInitialConfigurator.java index f6d479eb29fd..51dc9ea18e1a 100644 --- a/python/ide/src/com/jetbrains/python/PyCharmInitialConfigurator.java +++ b/python/ide/src/com/jetbrains/python/PyCharmInitialConfigurator.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2017 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. @@ -54,7 +54,7 @@ public class PyCharmInitialConfigurator { 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().setShowDirectoryForNonUniqueFilenames(true); } if (!propertiesComponent.getBoolean("PyCharm.InitialConfiguration.V3")) { propertiesComponent.setValue("PyCharm.InitialConfiguration.V3", "true");