@Override public void reset() { initComponent(); UISettings settings = UISettings.getInstance(); myComponent.myFontCombo.setSelectedItem(settings.FONT_FACE); // todo migrate // myComponent.myAntialiasingCheckBox.setSelected(settings.ANTIALIASING_IN_IDE); // myComponent.myLCDRenderingScopeCombo.setSelectedItem(settings.LCD_RENDERING_SCOPE); myComponent.myAntialiasingInIDE.setSelectedItem(settings.IDE_AA_TYPE); myComponent.myAntialiasingInEditor.setSelectedItem(settings.EDITOR_AA_TYPE); myComponent.myFontSizeCombo.setSelectedItem(Integer.toString(settings.FONT_SIZE)); myComponent.myPresentationModeFontSize.setSelectedItem( Integer.toString(settings.PRESENTATION_MODE_FONT_SIZE)); myComponent.myAnimateWindowsCheckBox.setSelected(settings.ANIMATE_WINDOWS); myComponent.myWindowShortcutsCheckBox.setSelected(settings.SHOW_TOOL_WINDOW_NUMBERS); myComponent.myShowToolStripesCheckBox.setSelected(!settings.HIDE_TOOL_STRIPES); myComponent.myCbDisplayIconsInMenu.setSelected(settings.SHOW_ICONS_IN_MENUS); myComponent.myShowMemoryIndicatorCheckBox.setSelected(settings.SHOW_MEMORY_INDICATOR); myComponent.myAllowMergeButtons.setSelected(settings.ALLOW_MERGE_BUTTONS); myComponent.myCycleScrollingCheckBox.setSelected(settings.CYCLE_SCROLLING); myComponent.myHideIconsInQuickNavigation.setSelected(settings.SHOW_ICONS_IN_QUICK_NAVIGATION); myComponent.myMoveMouseOnDefaultButtonCheckBox.setSelected( settings.MOVE_MOUSE_ON_DEFAULT_BUTTON); myComponent.myHideNavigationPopupsCheckBox.setSelected(settings.HIDE_NAVIGATION_ON_FOCUS_LOSS); myComponent.myAltDNDCheckBox.setSelected(settings.DND_WITH_PRESSED_ALT_ONLY); myComponent.myLafComboBox.setSelectedItem(LafManager.getInstance().getCurrentLookAndFeel()); myComponent.myOverrideLAFFonts.setSelected(settings.OVERRIDE_NONIDEA_LAF_FONTS); myComponent.myDisableMnemonics.setSelected(settings.DISABLE_MNEMONICS); myComponent.myUseSmallLabelsOnTabs.setSelected(settings.USE_SMALL_LABELS_ON_TABS); myComponent.myWidescreenLayoutCheckBox.setSelected(settings.WIDESCREEN_SUPPORT); myComponent.myLeftLayoutCheckBox.setSelected(settings.LEFT_HORIZONTAL_SPLIT); myComponent.myRightLayoutCheckBox.setSelected(settings.RIGHT_HORIZONTAL_SPLIT); myComponent.myNavigateToPreviewCheckBox.setSelected(settings.NAVIGATE_TO_PREVIEW); myComponent.myNavigateToPreviewCheckBox.setVisible(false); // disabled for a while myComponent.myColorBlindnessPanel.setColorBlindness(settings.COLOR_BLINDNESS); myComponent.myDisableMnemonicInControlsCheckBox.setSelected( settings.DISABLE_MNEMONICS_IN_CONTROLS); boolean alphaModeEnabled = WindowManagerEx.getInstanceEx().isAlphaModeSupported(); if (alphaModeEnabled) { myComponent.myEnableAlphaModeCheckBox.setSelected(settings.ENABLE_ALPHA_MODE); } else { myComponent.myEnableAlphaModeCheckBox.setSelected(false); } myComponent.myEnableAlphaModeCheckBox.setEnabled(alphaModeEnabled); myComponent.myAlphaModeDelayTextField.setText(Integer.toString(settings.ALPHA_MODE_DELAY)); myComponent.myAlphaModeDelayTextField.setEnabled( alphaModeEnabled && settings.ENABLE_ALPHA_MODE); int ratio = (int) (settings.ALPHA_MODE_RATIO * 100f); myComponent.myAlphaModeRatioSlider.setValue(ratio); myComponent.myAlphaModeRatioSlider.setToolTipText(ratio + "%"); myComponent.myAlphaModeRatioSlider.setEnabled(alphaModeEnabled && settings.ENABLE_ALPHA_MODE); myComponent.myInitialTooltipDelaySlider.setValue(Registry.intValue("ide.tooltip.initialDelay")); myComponent.updateCombo(); }
@Override public void apply() { initComponent(); UISettings settings = UISettings.getInstance(); int _fontSize = getIntValue(myComponent.myFontSizeCombo, settings.FONT_SIZE); int _presentationFontSize = getIntValue(myComponent.myPresentationModeFontSize, settings.PRESENTATION_MODE_FONT_SIZE); boolean shouldUpdateUI = false; String _fontFace = (String) myComponent.myFontCombo.getSelectedItem(); LafManager lafManager = LafManager.getInstance(); if (_fontSize != settings.FONT_SIZE || !settings.FONT_FACE.equals(_fontFace)) { settings.FONT_SIZE = _fontSize; settings.FONT_FACE = _fontFace; shouldUpdateUI = true; } if (_presentationFontSize != settings.PRESENTATION_MODE_FONT_SIZE) { settings.PRESENTATION_MODE_FONT_SIZE = _presentationFontSize; shouldUpdateUI = true; } if (!myComponent.myAntialiasingInIDE.getSelectedItem().equals(settings.IDE_AA_TYPE)) { settings.IDE_AA_TYPE = (AntialiasingType) myComponent.myAntialiasingInIDE.getSelectedItem(); shouldUpdateUI = true; } if (!myComponent.myAntialiasingInEditor.getSelectedItem().equals(settings.EDITOR_AA_TYPE)) { settings.EDITOR_AA_TYPE = (AntialiasingType) myComponent.myAntialiasingInEditor.getSelectedItem(); shouldUpdateUI = true; } settings.ANIMATE_WINDOWS = myComponent.myAnimateWindowsCheckBox.isSelected(); boolean update = settings.SHOW_TOOL_WINDOW_NUMBERS != myComponent.myWindowShortcutsCheckBox.isSelected(); settings.SHOW_TOOL_WINDOW_NUMBERS = myComponent.myWindowShortcutsCheckBox.isSelected(); update |= settings.HIDE_TOOL_STRIPES != !myComponent.myShowToolStripesCheckBox.isSelected(); settings.HIDE_TOOL_STRIPES = !myComponent.myShowToolStripesCheckBox.isSelected(); update |= settings.SHOW_ICONS_IN_MENUS != myComponent.myCbDisplayIconsInMenu.isSelected(); settings.SHOW_ICONS_IN_MENUS = myComponent.myCbDisplayIconsInMenu.isSelected(); update |= settings.SHOW_MEMORY_INDICATOR != myComponent.myShowMemoryIndicatorCheckBox.isSelected(); settings.SHOW_MEMORY_INDICATOR = myComponent.myShowMemoryIndicatorCheckBox.isSelected(); update |= settings.ALLOW_MERGE_BUTTONS != myComponent.myAllowMergeButtons.isSelected(); settings.ALLOW_MERGE_BUTTONS = myComponent.myAllowMergeButtons.isSelected(); update |= settings.CYCLE_SCROLLING != myComponent.myCycleScrollingCheckBox.isSelected(); settings.CYCLE_SCROLLING = myComponent.myCycleScrollingCheckBox.isSelected(); if (settings.OVERRIDE_NONIDEA_LAF_FONTS != myComponent.myOverrideLAFFonts.isSelected()) { shouldUpdateUI = true; } settings.OVERRIDE_NONIDEA_LAF_FONTS = myComponent.myOverrideLAFFonts.isSelected(); settings.MOVE_MOUSE_ON_DEFAULT_BUTTON = myComponent.myMoveMouseOnDefaultButtonCheckBox.isSelected(); settings.HIDE_NAVIGATION_ON_FOCUS_LOSS = myComponent.myHideNavigationPopupsCheckBox.isSelected(); settings.DND_WITH_PRESSED_ALT_ONLY = myComponent.myAltDNDCheckBox.isSelected(); update |= settings.DISABLE_MNEMONICS != myComponent.myDisableMnemonics.isSelected(); settings.DISABLE_MNEMONICS = myComponent.myDisableMnemonics.isSelected(); update |= settings.USE_SMALL_LABELS_ON_TABS != myComponent.myUseSmallLabelsOnTabs.isSelected(); settings.USE_SMALL_LABELS_ON_TABS = myComponent.myUseSmallLabelsOnTabs.isSelected(); update |= settings.WIDESCREEN_SUPPORT != myComponent.myWidescreenLayoutCheckBox.isSelected(); settings.WIDESCREEN_SUPPORT = myComponent.myWidescreenLayoutCheckBox.isSelected(); update |= settings.LEFT_HORIZONTAL_SPLIT != myComponent.myLeftLayoutCheckBox.isSelected(); settings.LEFT_HORIZONTAL_SPLIT = myComponent.myLeftLayoutCheckBox.isSelected(); update |= settings.RIGHT_HORIZONTAL_SPLIT != myComponent.myRightLayoutCheckBox.isSelected(); settings.RIGHT_HORIZONTAL_SPLIT = myComponent.myRightLayoutCheckBox.isSelected(); update |= settings.NAVIGATE_TO_PREVIEW != (myComponent.myNavigateToPreviewCheckBox.isVisible() && myComponent.myNavigateToPreviewCheckBox.isSelected()); settings.NAVIGATE_TO_PREVIEW = myComponent.myNavigateToPreviewCheckBox.isSelected(); ColorBlindness blindness = myComponent.myColorBlindnessPanel.getColorBlindness(); boolean updateEditorScheme = false; if (settings.COLOR_BLINDNESS != blindness) { settings.COLOR_BLINDNESS = blindness; update = true; ComponentsPackage.getStateStore(ApplicationManager.getApplication()) .reloadState(DefaultColorSchemesManager.class); updateEditorScheme = true; } update |= settings.DISABLE_MNEMONICS_IN_CONTROLS != myComponent.myDisableMnemonicInControlsCheckBox.isSelected(); settings.DISABLE_MNEMONICS_IN_CONTROLS = myComponent.myDisableMnemonicInControlsCheckBox.isSelected(); update |= settings.SHOW_ICONS_IN_QUICK_NAVIGATION != myComponent.myHideIconsInQuickNavigation.isSelected(); settings.SHOW_ICONS_IN_QUICK_NAVIGATION = myComponent.myHideIconsInQuickNavigation.isSelected(); if (!Comparing.equal( myComponent.myLafComboBox.getSelectedItem(), lafManager.getCurrentLookAndFeel())) { final UIManager.LookAndFeelInfo lafInfo = (UIManager.LookAndFeelInfo) myComponent.myLafComboBox.getSelectedItem(); if (lafManager.checkLookAndFeel(lafInfo)) { update = shouldUpdateUI = true; final boolean wasDarcula = UIUtil.isUnderDarcula(); lafManager.setCurrentLookAndFeel(lafInfo); //noinspection SSBasedInspection SwingUtilities.invokeLater( new Runnable() { @Override public void run() { if (UIUtil.isUnderDarcula()) { DarculaInstaller.install(); } else if (wasDarcula) { DarculaInstaller.uninstall(); } } }); } } if (shouldUpdateUI) { lafManager.updateUI(); } if (WindowManagerEx.getInstanceEx().isAlphaModeSupported()) { int delay = -1; try { delay = Integer.parseInt(myComponent.myAlphaModeDelayTextField.getText()); } catch (NumberFormatException ignored) { } float ratio = myComponent.myAlphaModeRatioSlider.getValue() / 100f; if (myComponent.myEnableAlphaModeCheckBox.isSelected() != settings.ENABLE_ALPHA_MODE || delay != -1 && delay != settings.ALPHA_MODE_DELAY || ratio != settings.ALPHA_MODE_RATIO) { update = true; settings.ENABLE_ALPHA_MODE = myComponent.myEnableAlphaModeCheckBox.isSelected(); settings.ALPHA_MODE_DELAY = delay; settings.ALPHA_MODE_RATIO = ratio; } } int tooltipDelay = Math.min(myComponent.myInitialTooltipDelaySlider.getValue(), 5000); if (tooltipDelay != Registry.intValue("ide.tooltip.initialDelay")) { update = true; Registry.get("ide.tooltip.initialDelay").setValue(tooltipDelay); } if (update) { settings.fireUISettingsChanged(); } myComponent.updateCombo(); EditorUtil.reinitSettings(); if (updateEditorScheme) { EditorColorsManagerImpl.schemeChangedOrSwitched(); } }