mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
RunDashboard: edit types shown in dashboard
- Show edit panel in internal mode or when registry key is enabled
This commit is contained in:
+12
-5
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user