mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[settingsDialog] IJPL-176500 – Revert All button
GitOrigin-RevId: e35cff9c7710cad8182d24fb3cb8e32e67b0ce8c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2d378bbf04
commit
ec666232a2
@@ -280,6 +280,8 @@ button.text.down=Down
|
||||
|
||||
configurable.reset.action.name=Revert changes
|
||||
configurable.reset.action.description=Revert all changes on this page to the previously saved state
|
||||
settings.reset.all.action.name=Revert All
|
||||
settings.reset.all.action.description=Revert all settings to the previously saved state
|
||||
|
||||
please.enter.a.number=Please enter a number
|
||||
please.enter.a.number.from.0.to.1=Please enter a number from {0} to {1}
|
||||
|
||||
+9
-5
@@ -63,11 +63,7 @@ class ConfigurableEditor extends AbstractEditor implements AnActionListener, AWT
|
||||
private final AbstractAction myResetAction = new AbstractAction(UIBundle.message("configurable.reset.action.name")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
if (configurable != null) {
|
||||
ConfigurableCardPanel.reset(configurable);
|
||||
updateCurrent(configurable, true);
|
||||
FeatureUsageUiEventsKt.getUiEventLogger().logResetConfigurable(configurable);
|
||||
}
|
||||
reset();
|
||||
}
|
||||
};
|
||||
private Configurable configurable;
|
||||
@@ -133,6 +129,14 @@ class ConfigurableEditor extends AbstractEditor implements AnActionListener, AWT
|
||||
return setError(apply(myApplyAction.isEnabled() ? configurable : null));
|
||||
}
|
||||
|
||||
protected void reset() {
|
||||
if (configurable != null) {
|
||||
ConfigurableCardPanel.reset(configurable);
|
||||
updateCurrent(configurable, true);
|
||||
FeatureUsageUiEventsKt.getUiEventLogger().logResetConfigurable(configurable);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean cancel(AWTEvent source) {
|
||||
configurable.cancel();
|
||||
|
||||
+22
-6
@@ -13,10 +13,7 @@ import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.options.ConfigurableGroup;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.options.SearchableConfigurable;
|
||||
import com.intellij.openapi.options.ex.ConfigurableVisitor;
|
||||
import com.intellij.openapi.options.ex.ConfigurableWrapper;
|
||||
import com.intellij.openapi.options.ex.MutableConfigurableGroup;
|
||||
import com.intellij.openapi.options.ex.Settings;
|
||||
import com.intellij.openapi.options.ex.*;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.LoadingDecorator;
|
||||
import com.intellij.openapi.ui.Splitter;
|
||||
@@ -29,6 +26,7 @@ import com.intellij.openapi.wm.impl.IdeFrameDecorator;
|
||||
import com.intellij.ui.IdeUICustomization;
|
||||
import com.intellij.ui.OnePixelSplitter;
|
||||
import com.intellij.ui.SearchTextField;
|
||||
import com.intellij.ui.UIBundle;
|
||||
import com.intellij.ui.components.panels.VerticalLayout;
|
||||
import com.intellij.ui.navigation.History;
|
||||
import com.intellij.ui.navigation.Place;
|
||||
@@ -46,6 +44,7 @@ import org.jetbrains.concurrency.Promises;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.FocusAdapter;
|
||||
import java.awt.event.FocusEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
@@ -73,6 +72,14 @@ public final class SettingsEditor extends AbstractEditor implements UiDataProvid
|
||||
private final Map<Configurable, ConfigurableController> controllers = new HashMap<>();
|
||||
private ConfigurableController lastController;
|
||||
|
||||
private final AbstractAction myResetAllAction = new AbstractAction(UIBundle.message("settings.reset.all.action.name")) {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
reset();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
SettingsEditor(@NotNull Disposable parent,
|
||||
@NotNull Project project,
|
||||
@NotNull List<? extends ConfigurableGroup> groups,
|
||||
@@ -414,7 +421,14 @@ public final class SettingsEditor extends AbstractEditor implements UiDataProvid
|
||||
|
||||
@Override
|
||||
protected Action getResetAction() {
|
||||
return editor.getResetAction();
|
||||
return myResetAllAction;
|
||||
}
|
||||
|
||||
private void reset() {
|
||||
checkModified(filter.context.getCurrentConfigurable());
|
||||
for (Configurable configurable : filter.context.getModified()) {
|
||||
filter.context.fireReset(configurable);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -465,7 +479,9 @@ public final class SettingsEditor extends AbstractEditor implements UiDataProvid
|
||||
filter.updateSpotlight(configurable == null);
|
||||
if (editor != null) {
|
||||
ConfigurationException exception = filter.context.getErrors().get(configurable);
|
||||
editor.getApplyAction().setEnabled(!filter.context.getModified().isEmpty());
|
||||
boolean hasModified = filter.context.getModified().isEmpty();
|
||||
editor.getApplyAction().setEnabled(!hasModified);
|
||||
myResetAllAction.setEnabled(!hasModified);
|
||||
editor.getResetAction().setEnabled(filter.context.isModified(configurable) || exception != null);
|
||||
editor.setError(exception);
|
||||
editor.revalidate();
|
||||
|
||||
Reference in New Issue
Block a user