From f3dded7758b5bbeffff19c262c130e2e70053f66 Mon Sep 17 00:00:00 2001 From: Konstantin Aleev Date: Fri, 1 Sep 2017 21:01:28 +0300 Subject: [PATCH] RunDashboard: edit types shown in dashboard - Show edit panel in internal mode or when registry key is enabled --- .../dashboard/RunDashboardManagerImpl.java | 17 ++++++++++++----- .../intellij/execution/impl/RunConfigurable.kt | 14 ++++++++++---- .../util/resources/misc/registry.properties | 2 ++ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java index 784620b44594..68202fffb534 100644 --- a/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/dashboard/RunDashboardManagerImpl.java @@ -24,6 +24,7 @@ import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.icons.AllIcons; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; @@ -80,14 +81,13 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS .sorted(DashboardGroupingRule.PRIORITY_COMPARATOR) .map(DashboardGrouper::new) .collect(Collectors.toList()); - - if (isDashboardEnabled()) { - initToolWindowListeners(); - } } private static boolean isDashboardEnabled() { - return Registry.is("ide.run.dashboard") && RunDashboardContributor.EP_NAME.getExtensions().length > 0; + return Registry.is("ide.run.dashboard") && + (Registry.is("ide.run.dashboard.types.configuration") || + ApplicationManager.getApplication().isInternal() || + RunDashboardContributor.EP_NAME.getExtensions().length > 0); } private void initToolWindowListeners() { @@ -185,6 +185,7 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS toolWindow.getContentManager().addContent(myToolWindowContent); toolWindow.setDefaultContentUiType(ToolWindowContentUiType.COMBO); toolWindow.setContentUiType(ToolWindowContentUiType.COMBO, null); + initToolWindowListeners(); } @Override @@ -260,6 +261,12 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS RunDashboardContributor contributor = getContributor(runConfiguration.getType()); return contributor == null || contributor.isShowInDashboard(runConfiguration); } + else { + if (!Registry.is("ide.run.dashboard.types.configuration") && !ApplicationManager.getApplication().isInternal()) { + RunDashboardContributor contributor = getContributor(runConfiguration.getType()); + return contributor != null && contributor.isShowInDashboard(runConfiguration); + } + } return false; } diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.kt b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.kt index be474a005272..291c21a7e9a6 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.kt +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.kt @@ -37,6 +37,7 @@ import com.intellij.openapi.util.Comparing import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.Pair import com.intellij.openapi.util.Trinity +import com.intellij.openapi.util.registry.Registry import com.intellij.openapi.util.text.StringUtil import com.intellij.openapi.wm.IdeFocusManager import com.intellij.openapi.wm.IdeFocusManager.getGlobalInstance @@ -493,11 +494,16 @@ open class RunConfigurable @JvmOverloads constructor(private val myProject: Proj settingsWrapper.add(settingsPanel, BorderLayout.WEST) settingsWrapper.add(Box.createGlue(), BorderLayout.CENTER) - val wrapper = JPanel(BorderLayout()) - wrapper.add(createRunDashboardTypesPanel(), BorderLayout.CENTER) - wrapper.add(settingsWrapper, BorderLayout.SOUTH) + if (Registry.`is`("ide.run.dashboard.types.configuration") || ApplicationManager.getApplication().isInternal) { + val wrapper = JPanel(BorderLayout()) + wrapper.add(createRunDashboardTypesPanel(), BorderLayout.CENTER) + wrapper.add(settingsWrapper, BorderLayout.SOUTH) - rightPanel.add(wrapper, BorderLayout.SOUTH) + rightPanel.add(wrapper, BorderLayout.SOUTH) + } + else { + rightPanel.add(settingsWrapper, BorderLayout.SOUTH) + } } rightPanel.revalidate() rightPanel.repaint() diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index f7213f27eecc..e5e71848f6de 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -1078,6 +1078,8 @@ pause.indexing.in.power.save.mode.description=Whether indexing activities should ide.run.dashboard=true ide.run.dashboard.description=Enable Run Dashboard tool window ide.run.dashboard.restartRequired=true +ide.run.dashboard.types.configuration=false +ide.run.dashboard.types.configuration.description=Enable Run Dashboard types configuration in Edit Run/Debug configurations dialog focus.follows.mouse.workarounds=false focus.follows.mouse.workarounds.description=Enables some workarounds for Focus-follows-mouse issues, like IDEA-112015