mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
IJPL-165629 Custom plugin repositories dialogs became smaller
(cherry picked from commit 86a3109c9ef82220fb0f27b67ca1042b15248b53) IJ-CR-162261 GitOrigin-RevId: f64cc478163a641f9e5204282629e0fae1b6f593
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2defb5e87d
commit
ae542388a8
@@ -1555,6 +1555,8 @@ com.intellij.openapi.options.Configurable$NoMargin
|
||||
com.intellij.openapi.options.Configurable$NoScroll
|
||||
com.intellij.openapi.options.Configurable$Promo
|
||||
- a:getPromoIcon():javax.swing.Icon
|
||||
com.intellij.openapi.options.Configurable$SingleEditorConfiguration
|
||||
- a:getDialogInitialSize():java.awt.Dimension
|
||||
com.intellij.openapi.options.Configurable$TopComponentController
|
||||
- sf:EMPTY:com.intellij.openapi.options.Configurable$TopComponentController
|
||||
- a:setLeftComponent(java.awt.Component):V
|
||||
|
||||
@@ -232,6 +232,18 @@ public interface Configurable extends UnnamedConfigurable {
|
||||
@NotNull java.util.List<Configurable> getModifiableParents();
|
||||
}
|
||||
|
||||
/**
|
||||
* The interface is used when configuration opens as single configuration in dialog.
|
||||
*/
|
||||
interface SingleEditorConfiguration {
|
||||
/**
|
||||
* Override to set default initial size of the window.
|
||||
*
|
||||
* @return initial window size
|
||||
*/
|
||||
@NotNull Dimension getDialogInitialSize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Ask opened configurable to focus on a control with a specified label.
|
||||
* It could be a tab name, name of the tree item, checkbox label, etc.
|
||||
|
||||
@@ -3597,10 +3597,12 @@ e:com.intellij.ide.plugins.PluginEnabledState
|
||||
f:com.intellij.ide.plugins.PluginHostsConfigurable
|
||||
- com.intellij.openapi.options.Configurable
|
||||
- com.intellij.openapi.options.Configurable$NoScroll
|
||||
- com.intellij.openapi.options.Configurable$SingleEditorConfiguration
|
||||
- <init>():V
|
||||
- apply():V
|
||||
- createComponent():javax.swing.JComponent
|
||||
- disposeUIResources():V
|
||||
- getDialogInitialSize():java.awt.Dimension
|
||||
- getDisplayName():java.lang.String
|
||||
- isModified():Z
|
||||
- reset():V
|
||||
@@ -9744,6 +9746,7 @@ c:com.intellij.openapi.options.newEditor.SettingsDialog
|
||||
- p:getDimensionServiceKey():java.lang.String
|
||||
- f:getEditor():com.intellij.openapi.options.newEditor.AbstractEditor
|
||||
- p:getHelpId():java.lang.String
|
||||
- getInitialSize():java.awt.Dimension
|
||||
- getPreferredFocusedComponent():javax.swing.JComponent
|
||||
- p:getStyle():com.intellij.openapi.ui.DialogWrapper$DialogStyle
|
||||
- p:setHelpTooltip(javax.swing.JButton):V
|
||||
|
||||
@@ -38,7 +38,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public final class PluginHostsConfigurable implements Configurable.NoScroll, Configurable {
|
||||
public final class PluginHostsConfigurable implements Configurable.NoScroll, Configurable, Configurable.SingleEditorConfiguration {
|
||||
private final ListTableModel<UrlInfo> myModel = new ListTableModel<>() {
|
||||
@Override
|
||||
public void addRow() {
|
||||
@@ -173,7 +173,7 @@ public final class PluginHostsConfigurable implements Configurable.NoScroll, Con
|
||||
withCellComponentProvider(CellComponentProvider.forTable(myTable)).
|
||||
installOn(myTable);
|
||||
|
||||
return ToolbarDecorator.createDecorator(myTable).disableUpDownActions().setMinimumSize(JBUI.size(470, 220)).createPanel();
|
||||
return ToolbarDecorator.createDecorator(myTable).disableUpDownActions().createPanel();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -275,6 +275,11 @@ public final class PluginHostsConfigurable implements Configurable.NoScroll, Con
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Dimension getDialogInitialSize() {
|
||||
return JBUI.DialogSizes.medium();
|
||||
}
|
||||
|
||||
private static @NotNull String correctRepositoryRule(@NotNull String input) {
|
||||
if (VirtualFileManager.extractProtocol(input) == null) {
|
||||
return VirtualFileManager.constructUrl(URLUtil.HTTP_PROTOCOL, input);
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.intellij.ide.IdeBundle
|
||||
import com.intellij.openapi.fileChooser.FileChooser
|
||||
import com.intellij.openapi.options.BoundConfigurable
|
||||
import com.intellij.openapi.options.Configurable
|
||||
import com.intellij.openapi.options.Configurable.SingleEditorConfiguration
|
||||
import com.intellij.openapi.options.ConfigurationException
|
||||
import com.intellij.openapi.ui.DialogPanel
|
||||
import com.intellij.openapi.ui.Messages
|
||||
@@ -22,6 +23,7 @@ import com.intellij.util.ui.JBDimension
|
||||
import com.intellij.util.ui.JBUI
|
||||
import com.intellij.util.ui.UIUtil
|
||||
import java.awt.CardLayout
|
||||
import java.awt.Dimension
|
||||
import java.security.cert.X509Certificate
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.tree.TreeSelectionModel
|
||||
@@ -30,7 +32,7 @@ class PluginCertificateManager :
|
||||
BoundConfigurable(
|
||||
IdeBundle.message("plugin.manager.custom.certificates"),
|
||||
"plugin.certificates"
|
||||
), Configurable.NoScroll, CertificateListener {
|
||||
), Configurable.NoScroll, CertificateListener, SingleEditorConfiguration {
|
||||
|
||||
private val myTree: Tree = Tree()
|
||||
|
||||
@@ -154,7 +156,6 @@ class PluginCertificateManager :
|
||||
showCard(getCardName(certificate))
|
||||
}
|
||||
}
|
||||
myRootPanel.minimumSize = JBUI.size(500, 260)
|
||||
}
|
||||
|
||||
private fun chooseFileAndAdd() {
|
||||
@@ -216,4 +217,5 @@ class PluginCertificateManager :
|
||||
myDetailsPanel.add(scrollPane, uniqueName)
|
||||
}
|
||||
|
||||
override fun getDialogInitialSize(): Dimension = JBUI.DialogSizes.medium()
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.annotations.NonNls
|
||||
import java.awt.AWTEvent
|
||||
import java.awt.BorderLayout
|
||||
import java.awt.Dimension
|
||||
import javax.swing.Action
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JPanel
|
||||
@@ -51,4 +52,6 @@ abstract class AbstractEditor internal constructor(parent: Disposable) : JPanel(
|
||||
protected open fun cancel(source: AWTEvent?): Boolean = true
|
||||
|
||||
protected abstract fun getPreferredFocusedComponent(): JComponent?
|
||||
|
||||
open fun getDialogInitialSize(): Dimension? = null
|
||||
}
|
||||
|
||||
@@ -180,6 +180,11 @@ public class SettingsDialog extends DialogWrapper implements UiCompatibleDataPro
|
||||
return dimensionServiceKey;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Dimension getInitialSize() {
|
||||
return editor.getDialogInitialSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getPreferredFocusedComponent() {
|
||||
return editor.getPreferredFocusedComponent();
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.ui.scale.JBUIScale;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.HashMap;
|
||||
@@ -23,12 +24,17 @@ public final class SingleSettingEditor extends ConfigurableEditor {
|
||||
};
|
||||
private final Map<Configurable, ConfigurableController> myControllers = new HashMap<>();
|
||||
private ConfigurableController myLastController;
|
||||
private Dimension myDialogInitSize;
|
||||
|
||||
SingleSettingEditor(Disposable parent, Configurable configurable) {
|
||||
super(parent);
|
||||
add(myBanner, BorderLayout.NORTH);
|
||||
myBanner.setVisible(false);
|
||||
init(configurable, false);
|
||||
|
||||
if (configurable instanceof Configurable.SingleEditorConfiguration singleEditorConfiguration) {
|
||||
myDialogInitSize = singleEditorConfiguration.getDialogInitialSize();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,4 +52,9 @@ public final class SingleSettingEditor extends ConfigurableEditor {
|
||||
|
||||
myBanner.setVisible(myBanner.canShow());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Dimension getDialogInitialSize() {
|
||||
return myDialogInitSize;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user