mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Ability to listen changes to settings in pojo fields made from UI. RIDER-IC-CR-52
This commit is contained in:
+1
@@ -70,6 +70,7 @@ public class CodeFoldingConfigurable extends CompositeConfigurable<CodeFoldingOp
|
||||
Project project = editor.getProject();
|
||||
if (project != null && !project.isDefault()) CodeFoldingManager.getInstance(project).scheduleAsyncFoldingUpdate(editor);
|
||||
}
|
||||
ApplicationManager.getApplication().getMessageBus().syncPublisher(EditorOptionsListener.FOLDING_CONFIGURABLE_TOPIC).changesApplied();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
@@ -11,6 +11,7 @@ import com.intellij.codeInsight.hints.settings.ParameterNameHintsConfigurable;
|
||||
import com.intellij.ide.ui.LafManager;
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.openapi.application.ApplicationBundle;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.options.CompositeConfigurable;
|
||||
@@ -176,6 +177,7 @@ public class EditorAppearanceConfigurable extends CompositeConfigurable<UnnamedC
|
||||
uiSettings.fireUISettingsChanged();
|
||||
}
|
||||
EditorOptionsPanel.restartDaemons();
|
||||
ApplicationManager.getApplication().getMessageBus().syncPublisher(EditorOptionsListener.APPEARANCE_CONFIGURABLE_TOPIC).changesApplied();
|
||||
|
||||
super.apply();
|
||||
}
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.application.options.editor;
|
||||
|
||||
import com.intellij.util.messages.Topic;
|
||||
|
||||
/**
|
||||
* Common interface of listeners that get notified on applying changes from editor-related settings pages.
|
||||
* !!!Important!!!
|
||||
* This is not a settings' listener, but the listener of a page these can be modified from,
|
||||
* so it doesn't respond to external storage changes or changes made from code.
|
||||
*/
|
||||
public interface EditorOptionsListener {
|
||||
Topic<EditorOptionsListener> FOLDING_CONFIGURABLE_TOPIC = Topic.create("CodeFoldingConfigurable changes applied", EditorOptionsListener.class);
|
||||
Topic<EditorOptionsListener> APPEARANCE_CONFIGURABLE_TOPIC = Topic.create("EditorAppearanceConfigurable changes applied", EditorOptionsListener.class);
|
||||
Topic<EditorOptionsListener> OPTIONS_PANEL_TOPIC = Topic.create("EditorOptionsPanel changes applied", EditorOptionsListener.class);
|
||||
Topic<EditorOptionsListener> SMART_KEYS_CONFIGURABLE_TOPIC = Topic.create("EditorSmartKeysConfigurable changes applied", EditorOptionsListener.class);
|
||||
Topic<EditorOptionsListener> GUTTER_ICONS_CONFIGURABLE_TOPIC = Topic.create("GutterIconsConfigurable changes applied", EditorOptionsListener.class);
|
||||
|
||||
void changesApplied();
|
||||
}
|
||||
@@ -366,6 +366,7 @@ public class EditorOptionsPanel implements SearchableConfigurable {
|
||||
}
|
||||
|
||||
restartDaemons();
|
||||
ApplicationManager.getApplication().getMessageBus().syncPublisher(EditorOptionsListener.OPTIONS_PANEL_TOPIC).changesApplied();
|
||||
}
|
||||
|
||||
private int getQuickDocDelayFromGui() {
|
||||
|
||||
+2
@@ -9,6 +9,7 @@ import com.intellij.lang.Commenter;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.lang.LanguageCommenters;
|
||||
import com.intellij.openapi.application.ApplicationBundle;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
@@ -209,6 +210,7 @@ public class EditorSmartKeysConfigurable extends CompositeConfigurable<UnnamedCo
|
||||
editorSettings.setAddCaretsOnDoubleCtrl(myCbEnableAddingCaretsOnDoubleCtrlArrows.isSelected());
|
||||
|
||||
super.apply();
|
||||
ApplicationManager.getApplication().getMessageBus().syncPublisher(EditorOptionsListener.SMART_KEYS_CONFIGURABLE_TOPIC).changesApplied();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+3
-5
@@ -19,6 +19,7 @@ import com.intellij.codeInsight.daemon.*;
|
||||
import com.intellij.ide.plugins.IdeaPluginDescriptor;
|
||||
import com.intellij.lang.LanguageExtensionPoint;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.editor.ex.EditorSettingsExternalizable;
|
||||
import com.intellij.openapi.extensions.ExtensionPoint;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
@@ -28,8 +29,6 @@ import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.options.SearchableConfigurable;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.project.DumbAwareAction;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.ui.CheckBoxList;
|
||||
import com.intellij.ui.ListSpeedSearch;
|
||||
@@ -162,9 +161,8 @@ public class GutterIconsConfigurable implements SearchableConfigurable, Configur
|
||||
for (GutterIconDescriptor descriptor : myDescriptors) {
|
||||
LineMarkerSettings.getSettings().setEnabled(descriptor, myList.isItemSelected(descriptor));
|
||||
}
|
||||
for (Project project : ProjectManager.getInstance().getOpenProjects()) {
|
||||
DaemonCodeAnalyzer.getInstance(project).restart();
|
||||
}
|
||||
EditorOptionsPanel.restartDaemons();
|
||||
ApplicationManager.getApplication().getMessageBus().syncPublisher(EditorOptionsListener.GUTTER_ICONS_CONFIGURABLE_TOPIC).changesApplied();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user