diff --git a/platform/icons/src/preferences/Appearance.png b/platform/icons/src/preferences/Appearance.png new file mode 100644 index 000000000000..92ab55214701 Binary files /dev/null and b/platform/icons/src/preferences/Appearance.png differ diff --git a/platform/icons/src/preferences/Appearance@2x.png b/platform/icons/src/preferences/Appearance@2x.png new file mode 100644 index 000000000000..878f9501626e Binary files /dev/null and b/platform/icons/src/preferences/Appearance@2x.png differ diff --git a/platform/icons/src/preferences/Appearance@2x_dark.png b/platform/icons/src/preferences/Appearance@2x_dark.png new file mode 100644 index 000000000000..485cdb2c6875 Binary files /dev/null and b/platform/icons/src/preferences/Appearance@2x_dark.png differ diff --git a/platform/icons/src/preferences/Appearance_dark.png b/platform/icons/src/preferences/Appearance_dark.png new file mode 100644 index 000000000000..03150847b607 Binary files /dev/null and b/platform/icons/src/preferences/Appearance_dark.png differ diff --git a/platform/icons/src/preferences/CodeStyle.png b/platform/icons/src/preferences/CodeStyle.png new file mode 100644 index 000000000000..221b86bf77e7 Binary files /dev/null and b/platform/icons/src/preferences/CodeStyle.png differ diff --git a/platform/icons/src/preferences/CodeStyle@2x.png b/platform/icons/src/preferences/CodeStyle@2x.png new file mode 100644 index 000000000000..8ca01dc6fcdf Binary files /dev/null and b/platform/icons/src/preferences/CodeStyle@2x.png differ diff --git a/platform/icons/src/preferences/CodeStyle@2x_dark.png b/platform/icons/src/preferences/CodeStyle@2x_dark.png new file mode 100644 index 000000000000..f0fe2679bc30 Binary files /dev/null and b/platform/icons/src/preferences/CodeStyle@2x_dark.png differ diff --git a/platform/icons/src/preferences/CodeStyle_dark.png b/platform/icons/src/preferences/CodeStyle_dark.png new file mode 100644 index 000000000000..02fd63a0881c Binary files /dev/null and b/platform/icons/src/preferences/CodeStyle_dark.png differ diff --git a/platform/icons/src/preferences/Compiler.png b/platform/icons/src/preferences/Compiler.png new file mode 100644 index 000000000000..bb874820f140 Binary files /dev/null and b/platform/icons/src/preferences/Compiler.png differ diff --git a/platform/icons/src/preferences/Compiler@2x.png b/platform/icons/src/preferences/Compiler@2x.png new file mode 100644 index 000000000000..2e45dd08f799 Binary files /dev/null and b/platform/icons/src/preferences/Compiler@2x.png differ diff --git a/platform/icons/src/preferences/Compiler@2x_dark.png b/platform/icons/src/preferences/Compiler@2x_dark.png new file mode 100644 index 000000000000..26d98c2905fc Binary files /dev/null and b/platform/icons/src/preferences/Compiler@2x_dark.png differ diff --git a/platform/icons/src/preferences/Compiler_dark.png b/platform/icons/src/preferences/Compiler_dark.png new file mode 100644 index 000000000000..395c85efff84 Binary files /dev/null and b/platform/icons/src/preferences/Compiler_dark.png differ diff --git a/platform/icons/src/preferences/Editor.png b/platform/icons/src/preferences/Editor.png new file mode 100644 index 000000000000..3f9e668ebb93 Binary files /dev/null and b/platform/icons/src/preferences/Editor.png differ diff --git a/platform/icons/src/preferences/Editor@2x.png b/platform/icons/src/preferences/Editor@2x.png new file mode 100644 index 000000000000..1d5a6443f259 Binary files /dev/null and b/platform/icons/src/preferences/Editor@2x.png differ diff --git a/platform/icons/src/preferences/Editor@2x_dark.png b/platform/icons/src/preferences/Editor@2x_dark.png new file mode 100644 index 000000000000..41dd542d9fd4 Binary files /dev/null and b/platform/icons/src/preferences/Editor@2x_dark.png differ diff --git a/platform/icons/src/preferences/Editor_dark.png b/platform/icons/src/preferences/Editor_dark.png new file mode 100644 index 000000000000..df052995592c Binary files /dev/null and b/platform/icons/src/preferences/Editor_dark.png differ diff --git a/platform/icons/src/preferences/FileColors.png b/platform/icons/src/preferences/FileColors.png new file mode 100644 index 000000000000..d14bc0695da0 Binary files /dev/null and b/platform/icons/src/preferences/FileColors.png differ diff --git a/platform/icons/src/preferences/FileColors@2x.png b/platform/icons/src/preferences/FileColors@2x.png new file mode 100644 index 000000000000..70f04826723d Binary files /dev/null and b/platform/icons/src/preferences/FileColors@2x.png differ diff --git a/platform/icons/src/preferences/FileTypes.png b/platform/icons/src/preferences/FileTypes.png new file mode 100644 index 000000000000..8a3dd365f726 Binary files /dev/null and b/platform/icons/src/preferences/FileTypes.png differ diff --git a/platform/icons/src/preferences/FileTypes@2x.png b/platform/icons/src/preferences/FileTypes@2x.png new file mode 100644 index 000000000000..0cc2b111e9bb Binary files /dev/null and b/platform/icons/src/preferences/FileTypes@2x.png differ diff --git a/platform/icons/src/preferences/General.png b/platform/icons/src/preferences/General.png new file mode 100644 index 000000000000..e2e7f356ae16 Binary files /dev/null and b/platform/icons/src/preferences/General.png differ diff --git a/platform/icons/src/preferences/General@2x.png b/platform/icons/src/preferences/General@2x.png new file mode 100644 index 000000000000..524d8e639765 Binary files /dev/null and b/platform/icons/src/preferences/General@2x.png differ diff --git a/platform/icons/src/preferences/Keymap.png b/platform/icons/src/preferences/Keymap.png new file mode 100644 index 000000000000..9a7f011b917c Binary files /dev/null and b/platform/icons/src/preferences/Keymap.png differ diff --git a/platform/icons/src/preferences/Keymap@2x.png b/platform/icons/src/preferences/Keymap@2x.png new file mode 100644 index 000000000000..41e4906f144f Binary files /dev/null and b/platform/icons/src/preferences/Keymap@2x.png differ diff --git a/platform/icons/src/preferences/Plugins.png b/platform/icons/src/preferences/Plugins.png new file mode 100644 index 000000000000..5275a2a52da1 Binary files /dev/null and b/platform/icons/src/preferences/Plugins.png differ diff --git a/platform/icons/src/preferences/Plugins@2x.png b/platform/icons/src/preferences/Plugins@2x.png new file mode 100644 index 000000000000..5cb418509daf Binary files /dev/null and b/platform/icons/src/preferences/Plugins@2x.png differ diff --git a/platform/icons/src/preferences/Plugins@2x_dark.png b/platform/icons/src/preferences/Plugins@2x_dark.png new file mode 100644 index 000000000000..753db5c7e2c8 Binary files /dev/null and b/platform/icons/src/preferences/Plugins@2x_dark.png differ diff --git a/platform/icons/src/preferences/Plugins_dark.png b/platform/icons/src/preferences/Plugins_dark.png new file mode 100644 index 000000000000..b0e27a92911a Binary files /dev/null and b/platform/icons/src/preferences/Plugins_dark.png differ diff --git a/platform/icons/src/preferences/Updates.png b/platform/icons/src/preferences/Updates.png new file mode 100644 index 000000000000..b15e21279418 Binary files /dev/null and b/platform/icons/src/preferences/Updates.png differ diff --git a/platform/icons/src/preferences/Updates@2x.png b/platform/icons/src/preferences/Updates@2x.png new file mode 100644 index 000000000000..d83c5c332335 Binary files /dev/null and b/platform/icons/src/preferences/Updates@2x.png differ diff --git a/platform/icons/src/preferences/VersionControl.png b/platform/icons/src/preferences/VersionControl.png new file mode 100644 index 000000000000..d404b40b6170 Binary files /dev/null and b/platform/icons/src/preferences/VersionControl.png differ diff --git a/platform/icons/src/preferences/VersionControl@2x.png b/platform/icons/src/preferences/VersionControl@2x.png new file mode 100644 index 000000000000..a3ee81f6a524 Binary files /dev/null and b/platform/icons/src/preferences/VersionControl@2x.png differ diff --git a/platform/icons/src/preferences/VersionControl@2x_dark.png b/platform/icons/src/preferences/VersionControl@2x_dark.png new file mode 100644 index 000000000000..8c8222cda991 Binary files /dev/null and b/platform/icons/src/preferences/VersionControl@2x_dark.png differ diff --git a/platform/icons/src/preferences/VersionControl_dark.png b/platform/icons/src/preferences/VersionControl_dark.png new file mode 100644 index 000000000000..dc1eeb7a6aa3 Binary files /dev/null and b/platform/icons/src/preferences/VersionControl_dark.png differ diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java b/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java index 16a9630d118c..cf6fa612f360 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java @@ -26,6 +26,7 @@ import com.intellij.openapi.options.ex.ProjectConfigurablesGroup; import com.intellij.openapi.options.ex.SingleConfigurableEditor; import com.intellij.openapi.options.newEditor.OptionsEditor; import com.intellij.openapi.options.newEditor.OptionsEditorDialog; +import com.intellij.openapi.options.newEditor.PreferencesDialog; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.util.registry.Registry; @@ -64,7 +65,11 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil { if (Registry.is("ide.mac.modalDialogsOnFullscreen")) { new OptionsEditorDialog(project, group, toSelect, true).show(); } else { - new OptionsEditorDialog(project, group, toSelect).show(); + if (Registry.is("ide.new.preferences")) { + new PreferencesDialog(project, group).show(); + } else { + new OptionsEditorDialog(project, group, toSelect).show(); + } } } diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/PreferencesDialog.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/PreferencesDialog.java new file mode 100644 index 000000000000..e006b5334fd4 --- /dev/null +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/PreferencesDialog.java @@ -0,0 +1,59 @@ +/* + * Copyright 2000-2013 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.openapi.options.newEditor; + +import com.intellij.openapi.options.ConfigurableGroup; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.DialogWrapper; +import com.intellij.openapi.util.SystemInfo; +import com.intellij.ui.Gray; +import org.jetbrains.annotations.Nullable; + +import javax.swing.*; +import javax.swing.border.LineBorder; +import java.awt.*; + +/** + * @author Konstantin Bulenkov + */ +public class PreferencesDialog extends DialogWrapper { + public PreferencesDialog(@Nullable Project project, ConfigurableGroup[] groups) { + super(project); + setSize(800, 600); + init(); + ((JDialog)getPeer().getWindow()).setUndecorated(true); + ((JComponent)((JDialog)getPeer().getWindow()).getContentPane()).setBorder(new LineBorder(Gray._140, 1)); + + setTitle("Preferences"); + } + + @Nullable + @Override + protected JComponent createCenterPanel() { + final JPanel panel = new JPanel(); + panel.setPreferredSize(new Dimension(800, 600)); + return panel; + } + + @Nullable + @Override + protected JComponent createSouthPanel() { + if (SystemInfo.isMac) { + return null; + } + return super.createSouthPanel(); + } +} diff --git a/platform/platform-resources-en/src/misc/registry.properties b/platform/platform-resources-en/src/misc/registry.properties index 3890c1ec8fa4..7f5f3a8ad65c 100644 --- a/platform/platform-resources-en/src/misc/registry.properties +++ b/platform/platform-resources-en/src/misc/registry.properties @@ -137,6 +137,8 @@ ide.mac.modalDialogsOnFullscreen.description=New modality approach. All dialogs ide.mac.retina.disableDrawingFix=false +ide.new.preferences=false + debugger.valueTooltipAutoShow=true # suppress inspection "UnusedProperty" debugger.valueTooltipAutoShow.description=Auto show tooltip on mouse over. diff --git a/platform/util/src/com/intellij/icons/AllIcons.java b/platform/util/src/com/intellij/icons/AllIcons.java index 1d755602db93..d0d6a7cb5f73 100644 --- a/platform/util/src/com/intellij/icons/AllIcons.java +++ b/platform/util/src/com/intellij/icons/AllIcons.java @@ -880,6 +880,21 @@ public class AllIcons { } + public static class Preferences { + public static final Icon Appearance = IconLoader.getIcon("/preferences/Appearance.png"); // 32x32 + public static final Icon CodeStyle = IconLoader.getIcon("/preferences/CodeStyle.png"); // 32x32 + public static final Icon Compiler = IconLoader.getIcon("/preferences/Compiler.png"); // 32x32 + public static final Icon Editor = IconLoader.getIcon("/preferences/Editor.png"); // 32x32 + public static final Icon FileColors = IconLoader.getIcon("/preferences/FileColors.png"); // 32x32 + public static final Icon FileTypes = IconLoader.getIcon("/preferences/FileTypes.png"); // 32x32 + public static final Icon General = IconLoader.getIcon("/preferences/General.png"); // 32x32 + public static final Icon Keymap = IconLoader.getIcon("/preferences/Keymap.png"); // 32x32 + public static final Icon Plugins = IconLoader.getIcon("/preferences/Plugins.png"); // 32x32 + public static final Icon Updates = IconLoader.getIcon("/preferences/Updates.png"); // 32x32 + public static final Icon VersionControl = IconLoader.getIcon("/preferences/VersionControl.png"); // 32x32 + + } + public static class Process { public static class Big {