@@ -7,7 +7,6 @@ import com.coder.gateway.CoderGatewayConstants
7
7
import com.coder.gateway.CoderRemoteConnectionHandle
8
8
import com.coder.gateway.icons.CoderIcons
9
9
import com.coder.gateway.models.WorkspaceAgentListModel
10
- import com.coder.gateway.models.WorkspaceAndAgentStatus
11
10
import com.coder.gateway.models.WorkspaceProjectIDE
12
11
import com.coder.gateway.models.toWorkspaceProjectIDE
13
12
import com.coder.gateway.sdk.CoderRestClient
@@ -18,10 +17,8 @@ import com.coder.gateway.services.CoderRestClientService
18
17
import com.coder.gateway.services.CoderSettingsService
19
18
import com.coder.gateway.util.humanizeConnectionError
20
19
import com.coder.gateway.util.toURL
21
- import com.coder.gateway.util.withPath
22
20
import com.coder.gateway.util.withoutNull
23
21
import com.intellij.icons.AllIcons
24
- import com.intellij.ide.BrowserUtil
25
22
import com.intellij.openapi.Disposable
26
23
import com.intellij.openapi.actionSystem.AnActionEvent
27
24
import com.intellij.openapi.application.ModalityState
@@ -33,7 +30,6 @@ import com.intellij.openapi.ui.panel.ComponentPanelBuilder
33
30
import com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreenUIManager
34
31
import com.intellij.ui.AnimatedIcon
35
32
import com.intellij.ui.DocumentAdapter
36
- import com.intellij.ui.JBColor
37
33
import com.intellij.ui.SearchTextField
38
34
import com.intellij.ui.components.ActionLink
39
35
import com.intellij.ui.components.JBScrollPane
@@ -206,63 +202,61 @@ class CoderGatewayRecentWorkspaceConnectionsView(private val setContentCallback:
206
202
label(" " ).resizableColumn().align(AlignX .FILL )
207
203
}.topGap(gap)
208
204
209
- connections.forEach { workspaceProjectIDE ->
210
- val enableLinks = listOf (WorkspaceStatus .STOPPED , WorkspaceStatus .CANCELED , WorkspaceStatus .FAILED , WorkspaceStatus .STARTING , WorkspaceStatus .RUNNING ).contains(workspaceWithAgent?.workspace?.latestBuild?.status)
211
- val inLoadingState = listOf (WorkspaceStatus .STARTING , WorkspaceStatus .CANCELING , WorkspaceStatus .DELETING , WorkspaceStatus .STOPPING ).contains(workspaceWithAgent?.workspace?.latestBuild?.status)
205
+ connections.forEach { workspaceProjectIDE ->
206
+ val enableLinks = listOf (WorkspaceStatus .STOPPED , WorkspaceStatus .CANCELED , WorkspaceStatus .FAILED , WorkspaceStatus .STARTING , WorkspaceStatus .RUNNING ).contains(workspaceWithAgent?.workspace?.latestBuild?.status)
207
+ val inLoadingState = listOf (WorkspaceStatus .STARTING , WorkspaceStatus .CANCELING , WorkspaceStatus .DELETING , WorkspaceStatus .STOPPING ).contains(workspaceWithAgent?.workspace?.latestBuild?.status)
212
208
213
- val actionLink = ActionLink (workspaceProjectIDE.projectPathDisplay) {
214
- withoutNull(deployment?.client, workspaceWithAgent?.workspace) { client, workspace ->
215
- CoderRemoteConnectionHandle ().connect {
216
- if (listOf (WorkspaceStatus .STOPPED , WorkspaceStatus .CANCELED , WorkspaceStatus .FAILED ).contains(workspace.latestBuild.status)) {
217
- client.startWorkspace(workspace)
218
- }
219
- workspaceProjectIDE
220
- }
221
- GatewayUI .getInstance().reset()
222
- }
223
- }
224
-
225
- if (! enableLinks) {
226
- actionLink.foreground = Color .GRAY
227
- actionLink.actionListeners.forEach { actionLink.removeActionListener(it) }
228
- }
229
-
230
- row {
231
- if (inLoadingState) {
232
- icon(AnimatedIcon .Default ())
233
- }
234
- label(workspaceWithAgent?.status?.description.orEmpty())
209
+ row {
210
+ if (inLoadingState) {
211
+ icon(AnimatedIcon .Default ())
235
212
}
213
+ label(workspaceWithAgent?.status?.description.orEmpty())
214
+ }
236
215
237
- row {
238
- icon(workspaceProjectIDE.ideProduct.icon)
216
+ row {
217
+ icon(workspaceProjectIDE.ideProduct.icon)
218
+ if (enableLinks) {
239
219
cell(
240
- actionLink,
241
- )
242
- label(" " ).resizableColumn().align(AlignX .FILL )
243
- label(workspaceProjectIDE.ideName).applyToComponent {
244
- foreground = JBUI .CurrentTheme .ContextHelp .FOREGROUND
245
- font = ComponentPanelBuilder .getCommentFont(font)
246
- }
247
- label(workspaceProjectIDE.lastOpened.toString()).applyToComponent {
248
- foreground = JBUI .CurrentTheme .ContextHelp .FOREGROUND
249
- font = ComponentPanelBuilder .getCommentFont(font)
250
- }
251
- actionButton(
252
- object : DumbAwareAction (
253
- CoderGatewayBundle .message(" gateway.connector.recent-connections.remove.button.tooltip" ),
254
- " " ,
255
- CoderIcons .DELETE ,
256
- ) {
257
- override fun actionPerformed (e : AnActionEvent ) {
258
- recentConnectionsService.removeConnection(workspaceProjectIDE.toRecentWorkspaceConnection())
259
- updateRecentView()
220
+ ActionLink (workspaceProjectIDE.projectPathDisplay) {
221
+ withoutNull(deployment?.client, workspaceWithAgent?.workspace) { client, workspace ->
222
+ CoderRemoteConnectionHandle ().connect {
223
+ if (listOf (WorkspaceStatus .STOPPED , WorkspaceStatus .CANCELED , WorkspaceStatus .FAILED ).contains(workspace.latestBuild.status)) {
224
+ client.startWorkspace(workspace)
225
+ }
226
+ workspaceProjectIDE
227
+ }
228
+ GatewayUI .getInstance().reset()
260
229
}
261
230
},
262
231
)
232
+ } else {
233
+ label(workspaceProjectIDE.projectPathDisplay).applyToComponent {
234
+ foreground = Color .GRAY
235
+ }
236
+ }
237
+ label(" " ).resizableColumn().align(AlignX .FILL )
238
+ label(workspaceProjectIDE.ideName).applyToComponent {
239
+ foreground = JBUI .CurrentTheme .ContextHelp .FOREGROUND
240
+ font = ComponentPanelBuilder .getCommentFont(font)
241
+ }
242
+ label(workspaceProjectIDE.lastOpened.toString()).applyToComponent {
243
+ foreground = JBUI .CurrentTheme .ContextHelp .FOREGROUND
244
+ font = ComponentPanelBuilder .getCommentFont(font)
263
245
}
246
+ actionButton(
247
+ object : DumbAwareAction (
248
+ CoderGatewayBundle .message(" gateway.connector.recent-connections.remove.button.tooltip" ),
249
+ " " ,
250
+ CoderIcons .DELETE ,
251
+ ) {
252
+ override fun actionPerformed (e : AnActionEvent ) {
253
+ recentConnectionsService.removeConnection(workspaceProjectIDE.toRecentWorkspaceConnection())
254
+ updateRecentView()
255
+ }
256
+ },
257
+ )
264
258
}
265
-
259
+ }
266
260
}
267
261
}
268
262
}.apply {
0 commit comments