use async tree model in package and project views by default

This commit is contained in:
Sergey Malenkov
2017-10-24 21:18:26 +03:00
parent a03ae30f01
commit 44c48bb367
3 changed files with 16 additions and 4 deletions
@@ -23,6 +23,7 @@ import com.intellij.ide.DeleteProvider;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.SelectInTarget;
import com.intellij.ide.impl.PackagesPaneSelectInTarget;
import com.intellij.ide.projectView.BaseProjectTreeBuilder;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.ide.projectView.ViewSettings;
import com.intellij.ide.projectView.impl.nodes.PackageElement;
@@ -58,6 +59,8 @@ import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import java.util.*;
import static com.intellij.openapi.application.Experiments.isFeatureEnabled;
public final class PackageViewPane extends AbstractProjectViewPSIPane {
@NonNls public static final String ID = "PackagesPane";
private final MyDeletePSIElementProvider myDeletePSIElementProvider = new MyDeletePSIElementProvider();
@@ -354,4 +357,9 @@ public final class PackageViewPane extends AbstractProjectViewPSIPane {
}
}
}
@Override
protected BaseProjectTreeBuilder createBuilder(DefaultTreeModel model) {
return isFeatureEnabled("package.view.async.tree.model") ? null : super.createBuilder(model);
}
}
@@ -33,7 +33,6 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.actionSystem.ToggleAction;
import com.intellij.openapi.application.Experiments;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.DumbAwareAction;
import com.intellij.openapi.project.DumbService;
@@ -51,6 +50,8 @@ import javax.swing.*;
import javax.swing.tree.DefaultTreeModel;
import java.awt.*;
import static com.intellij.openapi.application.Experiments.isFeatureEnabled;
public class ProjectViewPane extends AbstractProjectViewPSIPane {
@NonNls public static final String ID = "ProjectPane";
public static final String SHOW_EXCLUDED_FILES_OPTION = "show-excluded-files";
@@ -265,6 +266,6 @@ public class ProjectViewPane extends AbstractProjectViewPSIPane {
@Override
protected BaseProjectTreeBuilder createBuilder(DefaultTreeModel model) {
return Experiments.isFeatureEnabled("project.view.async.tree.model") ? null : super.createBuilder(model);
return isFeatureEnabled("project.view.async.tree.model") ? null : super.createBuilder(model);
}
}
+5 -2
View File
@@ -386,8 +386,11 @@
<projectStructure.sourceRootEditHandler implementation="com.intellij.openapi.roots.ui.configuration.JavaTestResourceRootEditHandler"/>
<buildProcess.parametersProvider implementation="com.intellij.compiler.CompilerReferenceIndexBuildParametersProvider"/>
<experimentalFeature id="project.view.async.tree.model" internalFeature="true" percentOfUsers="10" requireRestart="true">
<description>New implementation based on AsyncTreeModel + StructureTreeModel</description>
<experimentalFeature id="package.view.async.tree.model" internalFeature="false" percentOfUsers="100" requireRestart="true">
<description>New implementation of Package View based on AsyncTreeModel + StructureTreeModel</description>
</experimentalFeature>
<experimentalFeature id="project.view.async.tree.model" internalFeature="false" percentOfUsers="100" requireRestart="true">
<description>New implementation of Project View based on AsyncTreeModel + StructureTreeModel</description>
</experimentalFeature>
<experimentalFeature id="structure.view.async.tree.model" internalFeature="false" percentOfUsers="100" requireRestart="false">
<description>New implementation based on AsyncTreeModel + StructureTreeModel</description>