diff --git a/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java b/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java index 5860162bd963..7988b4ed0963 100644 --- a/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java +++ b/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java @@ -218,14 +218,6 @@ public class CodeStyleGenerationConfigurable implements Configurable { return isModified(mySettings); } - private static boolean isModified(JCheckBox checkBox, boolean value) { - return checkBox.isSelected() != value; - } - - private static boolean isModified(JTextField textField, String value) { - return !textField.getText().trim().equals(value); - } - private void createUIComponents() { myCommenterForm = new CommenterForm(JavaLanguage.INSTANCE); myCommenterPanel = myCommenterForm.getCommenterPanel(); diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorAppearanceConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorAppearanceConfigurable.java index 849542af1090..7439a7370a0a 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorAppearanceConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorAppearanceConfigurable.java @@ -201,7 +201,7 @@ public class EditorAppearanceConfigurable extends CompositeConfigurable 0 ? delay : null; + return EditorSettingsExternalizable.QUICK_DOC_DELAY_RANGE.fit(Integer.parseInt(myQuickDocDelayTextField.getText().trim())); } catch (NumberFormatException e) { - // Ignore incorrect value. - return null; + return -1; } } @@ -451,20 +442,17 @@ public class EditorOptionsPanel { isModified |= isModified(myCbEnsureBlankLineBeforeCheckBox, editorSettings.isEnsureNewLineAtEOF()); isModified |= isModified(myCbShowQuickDocOnMouseMove, editorSettings.isShowQuickDocOnMouseOverElement()); - Long quickDocDelay = getQuickDocDelayFromGui(); - if (quickDocDelay != null && !quickDocDelay.equals(Long.valueOf(editorSettings.getQuickDocOnMouseOverElementDelayMillis()))) { - return true; - } + isModified |= isModified(myQuickDocDelayTextField, editorSettings.getQuickDocOnMouseOverElementDelayMillis(), EditorSettingsExternalizable.QUICK_DOC_DELAY_RANGE); // advanced mouse isModified |= isModified(myCbEnableDnD, editorSettings.isDndEnabled()); isModified |= isModified(myCbEnableWheelFontChange, editorSettings.isWheelFontChangeEnabled()); isModified |= isModified(myCbHonorCamelHumpsWhenSelectingByClicking, editorSettings.isMouseClickSelectionHonorsCamelWords()); - isModified |= myRbPreferMovingCaret.isSelected() != editorSettings.isRefrainFromScrolling(); + isModified |= isModified(myRbPreferMovingCaret, editorSettings.isRefrainFromScrolling()); - isModified |= isModified(myRecentFilesLimitField, UISettings.getInstance().RECENT_FILES_LIMIT); + isModified |= isModified(myRecentFilesLimitField, UISettings.getInstance().RECENT_FILES_LIMIT, RECENT_FILES_RANGE); isModified |= isModified(myCbRenameLocalVariablesInplace, editorSettings.isVariableInplaceRenameEnabled()); isModified |= isModified(myPreselectCheckBox, editorSettings.isPreselectRename()); isModified |= isModified(myShowInlineDialogForCheckBox, editorSettings.isShowInlineLocalDialog()); @@ -484,20 +472,6 @@ public class EditorOptionsPanel { return isModified; } - private static boolean isModified(JToggleButton checkBox, boolean value) { - return checkBox.isSelected() != value; - } - - private static boolean isModified(JTextField textField, int value) { - try { - int fieldValue = Integer.parseInt(textField.getText().trim()); - return fieldValue != value; - } - catch(NumberFormatException e) { - return false; - } - } - @NotNull @EditorSettingsExternalizable.StripTrailingSpaces private String getStripTrailingSpacesValue() { @@ -564,11 +538,6 @@ public class EditorOptionsPanel { }); } - public JComponent getComponent() { - return myBehaviourPanel; - } - - public class MyConfigurable implements SearchableConfigurable { @Override @NotNull public String getId() { @@ -589,26 +558,4 @@ public class EditorOptionsPanel { public JComponent createComponent() { return myBehaviourPanel; } - - @Override - public boolean isModified() { - return EditorOptionsPanel.this.isModified(); - } - - @Override - public void apply() throws ConfigurationException { - EditorOptionsPanel.this.apply(); - } - - @Override - public void reset() { - EditorOptionsPanel.this.reset(); - } - - @Override - public void disposeUIResources() { - EditorOptionsPanel.this.disposeUIResources(); - } - } - } diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java index a4d223f39ab7..a28479693f90 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java @@ -251,10 +251,6 @@ public class EditorSmartKeysConfigurable extends CompositeConfigurable 0) { - try { - int newEditorTabLimit = Integer.parseInt(temp); - if (newEditorTabLimit > 0 && newEditorTabLimit != uiSettings.EDITOR_TAB_LIMIT) { - uiSettings.EDITOR_TAB_LIMIT = newEditorTabLimit; - uiSettingsChanged = true; - } - } - catch (NumberFormatException ignored) { - } + if (isModified(myEditorTabLimitField, uiSettings.EDITOR_TAB_LIMIT, EDITOR_TABS_RANGE)) uiSettingsChanged = true; + try { + uiSettings.EDITOR_TAB_LIMIT = EDITOR_TABS_RANGE.fit(Integer.parseInt(myEditorTabLimitField.getText().trim())); + } + catch (NumberFormatException ignored) { } if(uiSettingsChanged){ uiSettings.fireUISettingsChanged(); @@ -227,10 +223,6 @@ public class EditorTabsConfigurable implements EditorOptionsProvider { } - private static boolean isModified(JToggleButton checkBox, boolean value) { - return checkBox.isSelected() != value; - } - private static boolean isModified(JTextField textField, int value) { try { int fieldValue = Integer.parseInt(textField.getText().trim()); diff --git a/platform/lang-impl/src/com/intellij/execution/console/ConsoleConfigurable.java b/platform/lang-impl/src/com/intellij/execution/console/ConsoleConfigurable.java index 5cb3de2317e0..81fc210ecab5 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/ConsoleConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/console/ConsoleConfigurable.java @@ -126,10 +126,6 @@ public class ConsoleConfigurable implements SearchableConfigurable, Configurable return isModified; } - private static boolean isModified(JToggleButton checkBox, boolean value) { - return checkBox.isSelected() != value; - } - private static boolean isModified(JTextField textField, int value) { try { int fieldValue = Integer.parseInt(textField.getText().trim()); diff --git a/platform/platform-api/src/com/intellij/ide/GeneralSettings.java b/platform/platform-api/src/com/intellij/ide/GeneralSettings.java index 5ebd0ba354c2..7b9247f188d5 100644 --- a/platform/platform-api/src/com/intellij/ide/GeneralSettings.java +++ b/platform/platform-api/src/com/intellij/ide/GeneralSettings.java @@ -45,7 +45,7 @@ public class GeneralSettings implements PersistentStateComponent 0 && settings.getInactiveTimeout() != inactiveTimeout; + isModified |= isModified(myComponent.myTfInactiveTimeout, settings.getInactiveTimeout(), GeneralSettings.SAVE_FILES_AFTER_IDLE_SEC); isModified |= settings.isUseSafeWrite() != myComponent.myChkUseSafeWrite.isSelected(); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorSettingsExternalizable.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorSettingsExternalizable.java index 2bcd51a9e093..fb3268ecdcd7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorSettingsExternalizable.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/EditorSettingsExternalizable.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.editor.ex; +import com.intellij.ide.ui.UINumericRange; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.ServiceManager; @@ -34,6 +35,9 @@ import java.util.Set; @State(name = "EditorSettings", storages = @Storage("editor.xml")) public class EditorSettingsExternalizable implements PersistentStateComponent { + public static final UINumericRange BLINKING_RANGE = new UINumericRange(500, 10, 1500); + public static final UINumericRange QUICK_DOC_DELAY_RANGE = new UINumericRange(500, 1, 5000); + //Q: make it interface? public static final class OptionSet { public String LINE_SEPARATOR; @@ -45,10 +49,10 @@ public class EditorSettingsExternalizable implements PersistentStateComponent