Skip to content

Commit 2482c99

Browse files
authored
Merge pull request #2371 from digma-ai/feature/report-fix
Feature/report fix
2 parents 39b11e3 + 3043c6a commit 2482c99

File tree

9 files changed

+89
-70
lines changed

9 files changed

+89
-70
lines changed

ide-common/src/main/kotlin/org/digma/intellij/plugin/ui/settings/ApplicationUISettingsChangeNotifier.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import com.intellij.openapi.editor.colors.EditorColorsListener
99
import com.intellij.openapi.editor.colors.EditorColorsManager
1010
import com.intellij.openapi.editor.colors.impl.AppEditorFontOptions
1111
import com.intellij.openapi.project.Project
12+
import com.intellij.openapi.util.Disposer
1213
import com.intellij.ui.JBColor
1314
import com.intellij.util.Alarm
1415
import com.intellij.util.ui.UIUtil
@@ -65,15 +66,17 @@ class ApplicationUISettingsChangeNotifier : Disposable{
6566
}
6667
}
6768

68-
69-
fun addSettingsChangeListener(listener: SettingsChangeListener){
70-
listeners.add(listener)
71-
}
72-
7369
fun removeSettingsChangeListener(listener: SettingsChangeListener){
7470
listeners.remove(listener)
7571
}
7672

73+
fun addSettingsChangeListener(listener: SettingsChangeListener, parentDisposable: Disposable) {
74+
listeners.add(listener)
75+
Disposer.register(parentDisposable) {
76+
removeSettingsChangeListener(listener)
77+
}
78+
}
79+
7780
override fun dispose() {
7881
listeners.clear()
7982
}

src/main/java/org/digma/intellij/plugin/dashboard/DashboardFileEditor.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@
99
import org.cef.browser.*;
1010
import org.cef.handler.CefLifeSpanHandlerAdapter;
1111
import org.digma.intellij.plugin.ui.jcef.JBCefBrowserBuilderCreator;
12+
import org.digma.intellij.plugin.ui.settings.*;
1213
import org.jetbrains.annotations.*;
1314

1415
import javax.swing.*;
1516
import java.beans.PropertyChangeListener;
1617

18+
import static org.digma.intellij.plugin.ui.jcef.JCefMessagesUtilsKt.*;
19+
1720
public class DashboardFileEditor extends UserDataHolderBase implements FileEditor {
1821

1922
static final String RESOURCE_FOLDER_NAME = "/webview/dashboard";
@@ -35,6 +38,24 @@ public DashboardFileEditor(Project project, VirtualFile file) {
3538
cefMessageRouter.addHandler(new DashboardMessageRouterHandler(project), true);
3639
jbCefClient.getCefClient().addMessageRouter(cefMessageRouter);
3740

41+
42+
ApplicationUISettingsChangeNotifier.getInstance(project).addSettingsChangeListener(new SettingsChangeListener() {
43+
@Override
44+
public void systemFontChange(@NotNull String fontName) {
45+
sendRequestToChangeFont(fontName, jbCefBrowser);
46+
}
47+
48+
@Override
49+
public void systemThemeChange(@NotNull Theme theme) {
50+
sendRequestToChangeUiTheme(theme, jbCefBrowser);
51+
}
52+
53+
@Override
54+
public void editorFontChange(@NotNull String fontName) {
55+
sendRequestToChangeCodeFont(fontName, jbCefBrowser);
56+
}
57+
}, this);
58+
3859
var lifeSpanHandler = new CefLifeSpanHandlerAdapter() {
3960
@Override
4061
public void onAfterCreated(CefBrowser browser) {

src/main/java/org/digma/intellij/plugin/troubleshooting/TroubleshootingService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void systemThemeChange(@NotNull Theme theme) {
7676
public void editorFontChange(@NotNull String fontName) {
7777
messageHandler.sendRequestToChangeCodeFont(fontName);
7878
}
79-
});
79+
}, this);
8080

8181
return jbCefBrowser.getComponent();
8282

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/BaseMessageRouterHandler.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,10 @@ abstract class BaseMessageRouterHandler(protected val project: Project) : Common
221221
changeScope(requestJsonNode)
222222
}
223223

224+
JCEFGlobalConstants.GLOBAL_GET_ENVIRONMENTS -> {
225+
sendEnvironmentsList(browser, getAllEnvironments(project))
226+
}
227+
224228
JCEFGlobalConstants.GLOBAL_REGISTER -> {
225229
val payload = getPayloadFromRequest(requestJsonNode)
226230
payload?.let {

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/JCEFGlobalConstants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ object JCEFGlobalConstants {
2525
const val INSTALLATION_WIZARD_SET_STOP_DIGMA_ENGINE_RESULT: String = "INSTALLATION_WIZARD/SET_STOP_DIGMA_ENGINE_RESULT"
2626
const val GLOBAL_SET_ENVIRONMENT: String = "GLOBAL/SET_ENVIRONMENT"
2727
const val GLOBAL_SET_ENVIRONMENTS: String = "GLOBAL/SET_ENVIRONMENTS"
28+
const val GLOBAL_GET_ENVIRONMENTS: String = "GLOBAL/GET_ENVIRONMENTS"
2829
const val GLOBAL_SET_IS_DIGMA_ENGINE_INSTALLED: String = "GLOBAL/SET_IS_DIGMA_ENGINE_INSTALLED"
2930
const val GLOBAL_SET_IS_DIGMA_ENGINE_RUNNING: String = "GLOBAL/SET_IS_DIGMA_ENGINE_RUNNING"
3031
const val GLOBAL_SET_IS_DOCKER_INSTALLED: String = "GLOBAL/SET_IS_DOCKER_INSTALLED"

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/JCefComponent.kt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,6 @@ private constructor(
6565

6666
private val logger: Logger = Logger.getInstance(JCefComponent::class.java)
6767

68-
private val settingsChangeListener: SettingsChangeListener
69-
70-
7168
init {
7269
val connectionEventAlarm = Alarm(Alarm.ThreadToUse.POOLED_THREAD, parentDisposable)
7370

@@ -130,8 +127,7 @@ private constructor(
130127
.subscribe(DigmathonActivationEvent.DIGMATHON_ACTIVATION_TOPIC,
131128
DigmathonActivationEvent { isActive -> sendDigmathonState(isActive, jbCefBrowser.cefBrowser) })
132129

133-
134-
settingsChangeListener = object : SettingsChangeListener {
130+
ApplicationUISettingsChangeNotifier.getInstance(project).addSettingsChangeListener(object : SettingsChangeListener {
135131
override fun systemFontChange(fontName: String) {
136132
sendRequestToChangeFont(fontName, jbCefBrowser)
137133
}
@@ -143,9 +139,7 @@ private constructor(
143139
override fun editorFontChange(fontName: String) {
144140
sendRequestToChangeCodeFont(fontName, jbCefBrowser)
145141
}
146-
}
147-
148-
ApplicationUISettingsChangeNotifier.getInstance(project).addSettingsChangeListener(settingsChangeListener)
142+
}, this)
149143

150144
AuthManager.getInstance().addAuthInfoChangeListener({ authInfo ->
151145
try {
@@ -358,7 +352,6 @@ private constructor(
358352
try {
359353
jbCefBrowser.jbCefClient.dispose()
360354
jbCefBrowser.dispose()
361-
ApplicationUISettingsChangeNotifier.getInstance(project).removeSettingsChangeListener(settingsChangeListener)
362355
} catch (e: Exception) {
363356
ErrorReporter.getInstance().reportError(project, "JCefComponent.dispose", e)
364357
}

src/main/kotlin/org/digma/intellij/plugin/ui/wizard/InstallationWizardSidePanelWindowPanel.kt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ fun createInstallationWizardSidePanelWindowPanel(project: Project, wizardSkipIns
521521
jcefDigmaPanel.add(browserPanel, BorderLayout.CENTER)
522522

523523

524-
val settingsChangeListener = object : SettingsChangeListener {
524+
ApplicationUISettingsChangeNotifier.getInstance(project).addSettingsChangeListener(object : SettingsChangeListener {
525525
override fun systemFontChange(fontName: String) {
526526
sendRequestToChangeFont(fontName, jbCefBrowser)
527527
}
@@ -533,14 +533,7 @@ fun createInstallationWizardSidePanelWindowPanel(project: Project, wizardSkipIns
533533
override fun editorFontChange(fontName: String) {
534534
sendRequestToChangeCodeFont(fontName, jbCefBrowser)
535535
}
536-
}
537-
ApplicationUISettingsChangeNotifier.getInstance(project).addSettingsChangeListener(settingsChangeListener)
538-
Disposer.register(jbCefBrowser) {
539-
ApplicationUISettingsChangeNotifier.getInstance(project).removeSettingsChangeListener(settingsChangeListener)
540-
}
541-
542-
543-
536+
}, jbCefBrowser)
544537

545538
project.messageBus.connect(jbCefBrowser)
546539
.subscribe(AnalyticsServiceConnectionEvent.ANALYTICS_SERVICE_CONNECTION_EVENT_TOPIC, object : AnalyticsServiceConnectionEvent {

src/main/resources/webview/dashboard/index.js

Lines changed: 11 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/resources/webview/main/index.js

Lines changed: 39 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)