Skip to content

Commit 1b12854

Browse files
committed
convert panels into wrappers
1 parent 1a83a40 commit 1b12854

File tree

6 files changed

+18
-129
lines changed

6 files changed

+18
-129
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/toolwindow/AmazonQToolWindowFactory.kt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import com.intellij.openapi.project.Project
1010
import com.intellij.openapi.wm.ToolWindow
1111
import com.intellij.openapi.wm.ToolWindowFactory
1212
import com.intellij.openapi.wm.ex.ToolWindowEx
13+
import com.intellij.ui.components.panels.Wrapper
1314
import com.intellij.util.ui.components.BorderLayoutPanel
1415
import software.aws.toolkits.core.utils.debug
1516
import software.aws.toolkits.core.utils.getLogger
@@ -21,6 +22,7 @@ import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
2122
import software.aws.toolkits.jetbrains.core.credentials.sono.Q_SCOPES
2223
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenAuthState
2324
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProviderListener
25+
import software.aws.toolkits.jetbrains.core.notifications.NotificationPanel
2426
import software.aws.toolkits.jetbrains.core.notifications.ProcessNotificationsBase
2527
import software.aws.toolkits.jetbrains.core.webview.BrowserState
2628
import software.aws.toolkits.jetbrains.services.amazonq.QWebviewPanel
@@ -38,7 +40,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
3840

3941
override fun createToolWindowContent(project: Project, toolWindow: ToolWindow) {
4042
val mainPanel = BorderLayoutPanel()
41-
val qPanel = OuterAmazonQPanel(project)
43+
val qPanel = Wrapper()
4244
val notificationPanel = NotificationPanel()
4345

4446
mainPanel.addToTop(notificationPanel)
@@ -84,7 +86,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
8486
val qComponent = AmazonQToolWindow.getInstance(project).component
8587

8688
runInEdt {
87-
qPanel.updateQPanel(qComponent)
89+
qPanel.setContent(qComponent)
8890
}
8991
}
9092
}
@@ -103,18 +105,15 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
103105

104106
private fun prepareChatContent(
105107
project: Project,
106-
qPanel: OuterAmazonQPanel,
108+
qPanel: Wrapper,
107109
) {
108110
val component = if (isQConnected(project) && !isQExpired(project)) {
109111
AmazonQToolWindow.getInstance(project).component
110112
} else {
111113
QWebviewPanel.getInstance(project).browser?.prepareBrowser(BrowserState(FeatureId.AmazonQ))
112114
QWebviewPanel.getInstance(project).component
113115
}
114-
115-
runInEdt {
116-
qPanel.updateQPanel(component)
117-
}
116+
qPanel.setContent(component)
118117
}
119118

120119
override fun init(toolWindow: ToolWindow) {
@@ -135,7 +134,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
135134

136135
override fun shouldBeAvailable(project: Project): Boolean = isQWebviewsAvailable()
137136

138-
private fun onConnectionChanged(project: Project, newConnection: ToolkitConnection?, qPanel: OuterAmazonQPanel) {
137+
private fun onConnectionChanged(project: Project, newConnection: ToolkitConnection?, qPanel: Wrapper) {
139138
val isNewConnectionForQ = newConnection?.let {
140139
(it as? AwsBearerTokenConnection)?.let { conn ->
141140
val scopeShouldHave = Q_SCOPES
@@ -161,7 +160,7 @@ class AmazonQToolWindowFactory : ToolWindowFactory, DumbAware {
161160
QWebviewPanel.getInstance(project).component
162161
}
163162
runInEdt {
164-
qPanel.updateQPanel(component)
163+
qPanel.setContent(component)
165164
}
166165
}
167166

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/notifications/DummyNotificationAction.kt

Lines changed: 0 additions & 61 deletions
This file was deleted.
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
// Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
package software.aws.toolkits.jetbrains.services.amazonq.toolwindow
4+
package software.aws.toolkits.jetbrains.core.notifications
55

66
import com.intellij.icons.AllIcons
77
import com.intellij.openapi.application.runInEdt
88
import com.intellij.ui.EditorNotificationPanel
99
import com.intellij.ui.components.panels.Wrapper
1010
import com.intellij.util.ui.components.BorderLayoutPanel
11-
import software.aws.toolkits.jetbrains.core.notifications.BannerContent
12-
import software.aws.toolkits.jetbrains.core.notifications.NotificationManager
13-
import software.aws.toolkits.jetbrains.core.notifications.ProcessNotificationsBase
1411
import software.aws.toolkits.resources.AwsCoreBundle
1512

1613
class NotificationPanel : BorderLayoutPanel() {

plugins/core/src/main/resources/META-INF/plugin.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,5 @@
2626
<projectListeners>
2727
<listener class="software.aws.toolkits.jetbrains.services.telemetry.OpenedFileTypesMetricsListener" topic="com.intellij.openapi.fileEditor.FileEditorManagerListener"/>
2828
</projectListeners>
29-
<actions>
30-
<action class="software.aws.toolkits.jetbrains.core.notifications.DummyNotificationAction"/>
31-
</actions>
29+
3230
</idea-plugin>

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/explorer/AwsToolkitExplorerFactory.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.intellij.openapi.project.Project
1313
import com.intellij.openapi.wm.ToolWindow
1414
import com.intellij.openapi.wm.ToolWindowFactory
1515
import com.intellij.openapi.wm.ex.ToolWindowEx
16+
import com.intellij.ui.components.panels.Wrapper
1617
import com.intellij.util.messages.Topic
1718
import com.intellij.util.ui.components.BorderLayoutPanel
1819
import software.aws.toolkits.core.utils.debug
@@ -32,11 +33,10 @@ import software.aws.toolkits.jetbrains.core.credentials.sono.IDENTITY_CENTER_ROL
3233
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenAuthState
3334
import software.aws.toolkits.jetbrains.core.credentials.sso.bearer.BearerTokenProviderListener
3435
import software.aws.toolkits.jetbrains.core.experiments.ExperimentsActionGroup
35-
import software.aws.toolkits.jetbrains.core.explorer.webview.NotificationPanel
36-
import software.aws.toolkits.jetbrains.core.explorer.webview.OuterToolkitPanel
3736
import software.aws.toolkits.jetbrains.core.explorer.webview.ToolkitWebviewPanel
3837
import software.aws.toolkits.jetbrains.core.explorer.webview.shouldPromptToolkitReauth
3938
import software.aws.toolkits.jetbrains.core.help.HelpIds
39+
import software.aws.toolkits.jetbrains.core.notifications.NotificationPanel
4040
import software.aws.toolkits.jetbrains.core.notifications.ProcessNotificationsBase
4141
import software.aws.toolkits.jetbrains.core.webview.BrowserState
4242
import software.aws.toolkits.jetbrains.utils.actions.OpenBrowserAction
@@ -50,7 +50,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
5050

5151
override fun createToolWindowContent(project: Project, toolWindow: ToolWindow) {
5252
val notificationPanel = NotificationPanel()
53-
val toolkitPanel = OuterToolkitPanel(project)
53+
val toolkitPanel = Wrapper()
5454
val mainPanel = BorderLayoutPanel()
5555
mainPanel.addToTop(notificationPanel)
5656
mainPanel.add(toolkitPanel)
@@ -102,7 +102,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
102102
AwsToolkitExplorerToolWindow.getInstance(project)
103103
}
104104

105-
toolkitPanel.updateToolkitPanel(component)
105+
toolkitPanel.setContent(component)
106106

107107
val content = contentManager.factory.createContent(mainPanel, null, false).also {
108108
it.isCloseable = true
@@ -161,7 +161,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
161161
toolWindow.stripeTitle = message("aws.notification.title")
162162
}
163163

164-
private fun connectionChanged(project: Project, newConnection: ToolkitConnection?, toolkitPanel: OuterToolkitPanel) {
164+
private fun connectionChanged(project: Project, newConnection: ToolkitConnection?, toolkitPanel: Wrapper) {
165165
val isNewConnToolkitConnection = when (newConnection) {
166166
is AwsConnectionManagerConnection -> {
167167
LOG.debug { "IAM connection" }
@@ -191,7 +191,7 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
191191
}
192192
}
193193

194-
private fun settingsStateChanged(project: Project, newState: ConnectionState, toolkitPanel: OuterToolkitPanel) {
194+
private fun settingsStateChanged(project: Project, newState: ConnectionState, toolkitPanel: Wrapper) {
195195
val isToolkitConnected = if (newState is ConnectionState.ValidConnection) {
196196
true
197197
} else {
@@ -208,9 +208,9 @@ class AwsToolkitExplorerFactory : ToolWindowFactory, DumbAware {
208208
}
209209
}
210210

211-
private fun loadContent(component: JComponent, toolkitPanel: OuterToolkitPanel) {
211+
private fun loadContent(component: JComponent, toolkitPanel: Wrapper) {
212212
runInEdt {
213-
toolkitPanel.updateToolkitPanel(component)
213+
toolkitPanel.setContent(component)
214214
}
215215
}
216216

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/core/explorer/webview/NotificationPanel.kt

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)